aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/base.h
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/backends/base.h')
-rw-r--r--Alc/backends/base.h14
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 */