#ifndef ALC_EVENTS_H #define ALC_EVENTS_H #include "inprogext.h" #include "opthelpers.h" #include #include #include namespace alc { enum class EventType : uint8_t { DefaultDeviceChanged, DeviceAdded, DeviceRemoved, Count }; enum class DeviceType : ALCenum { Playback = ALC_PLAYBACK_DEVICE_SOFT, Capture = ALC_CAPTURE_DEVICE_SOFT, }; inline std::bitset EventsEnabled{0}; inline std::mutex EventMutex; inline ALCEVENTPROCTYPESOFT EventCallback{}; inline void *EventUserPtr{}; void Event(EventType eventType, DeviceType deviceType, ALCdevice *device, std::string_view message) noexcept; inline void Event(EventType eventType, DeviceType deviceType, std::string_view message) noexcept { Event(eventType, deviceType, nullptr, message); } } // namespace alc #endif /* ALC_EVENTS_H */