mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-15 22:09:19 -07:00
49 lines
1.2 KiB
C++
49 lines
1.2 KiB
C++
#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();
|
|
};
|