diff options
Diffstat (limited to 'Alc/backends/base.h')
-rw-r--r-- | Alc/backends/base.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/Alc/backends/base.h b/Alc/backends/base.h index 360c2ffd..5f7deb62 100644 --- a/Alc/backends/base.h +++ b/Alc/backends/base.h @@ -153,10 +153,22 @@ ALCbackendFactory *ALCdsoundBackendFactory_getFactory(void); ALCbackendFactory *ALCwinmmBackendFactory_getFactory(void); ALCbackendFactory *ALCportBackendFactory_getFactory(void); ALCbackendFactory *ALCopenslBackendFactory_getFactory(void); -ALCbackendFactory *ALCnullBackendFactory_getFactory(void); ALCbackendFactory *ALCwaveBackendFactory_getFactory(void); ALCbackendFactory *ALCsdl2BackendFactory_getFactory(void); ALCbackendFactory *ALCloopbackFactory_getFactory(void); + +struct BackendFactory { + virtual bool init() = 0; + virtual void deinit() { } + + virtual bool querySupport(ALCbackend_Type type) = 0; + + virtual void probe(enum DevProbe type, std::string *outnames) = 0; + + virtual ALCbackend *createBackend(ALCdevice *device, ALCbackend_Type type) = 0; +}; + + #endif /* __cplusplus */ #endif /* AL_BACKENDS_BASE_H */ |