forked from dolphin-emu/dolphin
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright 2009 Dolphin Emulator Project
 | |
| // Licensed under GPLv2+
 | |
| // Refer to the license.txt file included.
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <string>
 | |
| #include <vector>
 | |
| 
 | |
| #include "Common/CommonTypes.h"
 | |
| 
 | |
| #ifdef _WIN32
 | |
| #pragma warning(disable : 4786)  // disable warning "identifier was truncated to
 | |
| //'255' characters in the browser information"
 | |
| #endif
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|   std::string strDeviceName;
 | |
|   s32 iMajorVersion;
 | |
|   s32 iMinorVersion;
 | |
|   u32 uiSourceCount;
 | |
|   std::vector<std::string>* pvstrExtensions;
 | |
|   bool bSelected;
 | |
| } ALDEVICEINFO, *LPALDEVICEINFO;
 | |
| 
 | |
| class ALDeviceList
 | |
| {
 | |
| private:
 | |
|   std::vector<ALDEVICEINFO> vDeviceInfo;
 | |
|   s32 defaultDeviceIndex;
 | |
|   s32 filterIndex;
 | |
| 
 | |
| public:
 | |
|   ALDeviceList();
 | |
|   ~ALDeviceList();
 | |
|   s32 GetNumDevices();
 | |
|   char* GetDeviceName(s32 index);
 | |
|   void GetDeviceVersion(s32 index, s32* major, s32* minor);
 | |
|   u32 GetMaxNumSources(s32 index);
 | |
|   bool IsExtensionSupported(s32 index, char* szExtName);
 | |
|   s32 GetDefaultDevice();
 | |
|   void FilterDevicesMinVer(s32 major, s32 minor);
 | |
|   void FilterDevicesMaxVer(s32 major, s32 minor);
 | |
|   void FilterDevicesExtension(char* szExtName);
 | |
|   void ResetFilters();
 | |
|   s32 GetFirstFilteredDevice();
 | |
|   s32 GetNextFilteredDevice();
 | |
| 
 | |
| private:
 | |
|   u32 GetMaxNumSources();
 | |
| };
 |