forked from dolphin-emu/dolphin
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.3 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();
 | |
| };
 |