2019-12-11 00:51:42 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "EGpAudioDriverType.h"
|
|
|
|
|
|
2019-12-21 18:40:17 -05:00
|
|
|
struct IGpAudioDriver;
|
2019-12-11 00:51:42 -05:00
|
|
|
struct GpAudioDriverProperties;
|
|
|
|
|
|
|
|
|
|
class GpAudioDriverFactory
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
typedef IGpAudioDriver *(*FactoryFunc_t)(const GpAudioDriverProperties &properties);
|
|
|
|
|
|
|
|
|
|
static IGpAudioDriver *CreateAudioDriver(const GpAudioDriverProperties &properties);
|
|
|
|
|
static void RegisterAudioDriverFactory(EGpAudioDriverType type, FactoryFunc_t func);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
static FactoryFunc_t ms_registry[EGpAudioDriverType_Count];
|
|
|
|
|
};
|