34 #ifndef ASYNC_AUDIO_DEVICE_FACTORY_INCLUDED
35 #define ASYNC_AUDIO_DEVICE_FACTORY_INCLUDED
97 #define REGISTER_AUDIO_DEVICE_TYPE(_name, _class) \
98 AudioDevice *create_ ## _class(const string& dev_name) \
99 { return new _class(dev_name); } \
100 static bool _class ## _creator_registered = \
101 AudioDeviceFactory::instance()->registerCreator(_name, \
132 typedef AudioDevice* (*CreatorFunc)(
const std::string &dev_designator);
167 typedef std::map<std::string, CreatorFunc> CreatorMap;
171 CreatorMap creator_map;
~AudioDeviceFactory(void)
Destructor.
AudioDevice * create(const std::string &name, const std::string &dev_name)
bool registerCreator(const std::string &name, CreatorFunc creator)
A_brief_member_function_description.
AudioDevice *(* CreatorFunc)(const std::string &dev_designator)
Base class for handling audio devices.
std::string validDevTypes(void) const
A_brief_class_description.
static AudioDeviceFactory * instance(void)
AudioDeviceFactory(void)
Default constuctor.