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();
 | 
						|
};
 |