Rename AL* implementation classes to *Impl
[alure.git] / src / devicemanager.h
blob34f4cb55f701494489cc9e1cfa73a5f8acaef3a2
1 #ifndef DEVICEMANAGER_H
2 #define DEVICEMANAGER_H
4 #include "main.h"
6 namespace alure {
8 class DeviceImpl;
10 class DeviceManagerImpl {
11 Vector<UniquePtr<DeviceImpl>> mDevices;
13 DeviceManagerImpl();
14 ~DeviceManagerImpl();
16 public:
17 static ALCboolean (ALC_APIENTRY*SetThreadContext)(ALCcontext*);
19 static DeviceManagerImpl &get();
21 void removeDevice(DeviceImpl *dev);
23 bool queryExtension(const String &name) const;
25 Vector<String> enumerate(DeviceEnumeration type) const;
26 String defaultDeviceName(DefaultDeviceType type) const;
28 Device openPlayback(const String &name);
29 Device openPlayback(const String &name, const std::nothrow_t&);
32 } // namespace alure
34 #endif /* DEVICEMANAGER_H */