28 #ifndef ASYNC_AUDIO_DEVICE_FACTORY_INCLUDED 29 #define ASYNC_AUDIO_DEVICE_FACTORY_INCLUDED 96 #define REGISTER_AUDIO_DEVICE_TYPE(_name, _class) \ 97 AudioDevice *create_ ## _class(const std::string& dev_name) \ 98 { return new _class(dev_name); } \ 99 static bool _class ## _creator_registered = \ 100 AudioDeviceFactory::instance().registerCreator(_name, \ 131 typedef AudioDevice* (*CreatorFunc)(
const std::string &dev_designator);
178 typedef std::map<std::string, CreatorFunc> CreatorMap;
180 CreatorMap creator_map;
~AudioDeviceFactory(void)
Destructor.
AudioDevice * create(const std::string &name, const std::string &dev_name)
Create a new instance of the specified audio device type.
bool registerCreator(const std::string &name, CreatorFunc creator)
Register a new audio device type.
static AudioDeviceFactory & instance(void)
Get the factory singleton instance.
AudioDevice *(* CreatorFunc)(const std::string &dev_designator)
Base class for handling audio devices.
A factory class for audio devices.
std::string validDevTypes(void) const
List valid device types.
Namespace for the asynchronous programming classes.
AudioDeviceFactory(void)
Default constuctor.