16#ifndef AEONGAMES_SOUNDSYSTEM_H
17#define AEONGAMES_SOUNDSYSTEM_H
Abstract interface for a platform sound system back-end.
CRC-based compile-time string identifier.
<- This is here just for the literals
DLL bool RegisterSoundSystemConstructor(const StringId &aIdentifier, const std::function< std::unique_ptr< SoundSystem >() > &aConstructor)
Registers a SoundSystem loader for a specific identifier.
DLL void EnumerateSoundSystemConstructors(const std::function< bool(const StringId &) > &aEnumerator)
Enumerates SoundSystem loader identifiers via an enumerator functor.
DLL std::unique_ptr< SoundSystem > ConstructSoundSystem(const StringId &aIdentifier)
Construct a SoundSystem back-end for the given identifier.
DLL bool UnregisterSoundSystemConstructor(const StringId &aIdentifier)
Unregisters a SoundSystem loader for a specific identifier.