Use hidden visibility by default
[alure.git] / src / devicemanager.h
blob923e5d182cba6327cb1663ff859c11d6ec8158cb
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 char *name) const;
25 Vector<String> enumerate(DeviceEnumeration type) const;
26 String defaultDeviceName(DefaultDeviceType type) const;
28 Device openPlayback(const char *name);
29 Device openPlayback(const char *name, const std::nothrow_t&);
32 } // namespace alure
34 #endif /* DEVICEMANAGER_H */