|
dxd - dynax driver framework 3.0.0d222
cross platform open source driver development framework
|
coreaudio driver interface class More...
#include <dx_coreaudio_driver.h>
Classes | |
| struct | property |
| this bus's name in the device tree and the preference store More... | |
Public Types | |
| typedef std::conditional_t< held, typename view::template iterator< typename holders::const_iterator >, typename holders::const_iterator > | const_iterator |
| typedef std::conditional_t< held, typename view::template iterator< typename holders::iterator >, typename holders::iterator > | iterator |
| typedef driver | map |
| typedef decltype(matching_ids) | match |
| typedef driver_settings< dx::promoted< dx::log >::preference< preference_t > > | settings |
| typedef std::conditional_t< held, typename view::value_type, typename holders::value_type > | value_type |
Public Member Functions | |
| const_iterator | begin () const noexcept |
| iterator | begin () noexcept |
| bool | boot () override |
| void | conclude () noexcept override |
| conclude notification: object will be removed. If you overwrite conclude() you also need to overwrite destructor and check if its needed to be called from there. Called only through try_conclude() - never call this directly from outside the class hierarchy. | |
| bool | contains (const std::string &id) noexcept |
| super & | create (const std::string &id, const typename device_t::desc_t &desc) override |
| virtual driver & | create (const std::string &id, const typename super::device_t::desc_t &) |
| super & | destroy (const std::string &id) override |
| driver (const char *product_id, dx::log log={}) | |
| driver (const match &matching_ids, const char *product_id, decltype(super::preference)&&preference, dx::log log={}) | |
| the driver interface class constructor | |
| driver (const match &matching_ids, const char *product_id, dx::log log={}) | |
| const_iterator | end () const noexcept |
| iterator | end () noexcept |
| void | exception (const class exception &exception, bool filtered=false) const noexcept override |
| notification exception handler | |
| virtual void | exception (const exception &exception, bool filtered=false) const noexcept=0 |
| notification exception handler | |
| iterator | find (const device_id_t &device_id) |
| const_iterator | find (const device_id_t &device_id) const |
| void | info (std::ostream &os) noexcept override |
| log object class information | |
| void | launch () override |
| launch notification: object mounted and ready to use. Called only through try_launch() - never call this directly from outside the class hierarchy. | |
| operator bool () const noexcept override | |
| super & | operator<< (const char *file) override |
| super & | operator<< (std::ifstream &ifstream) override |
| restores device tree | |
| super & | operator>> (std::ostream &ostream) const override |
| saves device tree | |
| virtual driver & | operator>> (const char *file) const |
| bool | shutdown () override |
| client driver::shutdown/boot(): override to shutdown/boot host driver | |
| bool | try_conclude () noexcept |
| atomically conclude()s if currently launched; returns whether this call did it | |
| bool | try_launch () |
| atomically launch()es if not already launched; returns whether this call did it | |
| std::shared_ptr< typename super::device_t > | wait (const std::string &id) noexcept |
Public Attributes | |
| promoted::property<::AudioObjectID > | connection_id |
| T | elements |
| STL member. | |
| dx::driver_settings | host |
| the plugin's settings mirrored: born with the plugin's property as their server (dx_value.h: no promoted is born empty) | |
| K | keys |
| STL member. | |
| std::atomic< bool > | launched {} |
| dx::log | log {} |
| cached local log level, mirrors settings::log | |
| preference_t | preference |
| const char * | product_id |
| promoted< os_result > | status {driver_not_connected} |
| the driver's condition, promoted so a host follows it without polling | |
| uint32_t | version {DX_VERSION32} |
Protected Types | |
| typedef decltype(device_t::id) | device_id_t |
| typedef std::map< device_id_t, std::shared_ptr< device_t > > | holders |
Protected Member Functions | |
| virtual void | add (const device_id_t &)=0 |
| adds a new device to the device list | |
| void | add (const device_id_t &device_id) override |
| adds a new device to the device list | |
| virtual void | arrived () |
| notify device arrivals completed stub | |
| void | arrived (super::device_t &device) override |
| virtual void | clear () noexcept |
| replaces std::map::clear to call virtual notification methods | |
| virtual void | notify (::AudioObjectID id, const coreaudio::property::addresses &addresses) |
| virtual void | remove (const device_id_t &)=0 |
| finds and removes a device from the device list | |
| void | remove (const device_id_t &device_id) override |
| finds and removes a device from the device list | |
| virtual void | removed () noexcept |
| notify device removals completed stub | |
| virtual void | removed (device_t &) noexcept |
| notify specific device removal stub | |
| virtual void | scan () |
| void | sleep () override |
| < notify system will sleep | |
| void | wake () override |
Protected Attributes | |
| std::map<::AudioObjectPropertySelector, coreaudio::property::listen > | listen |
| std::vector< coreaudio::property::dictionary > | matching_ids |
coreaudio driver interface class
This is the coreaudio interface to a driver identified by a set of matching dictionaries. The driver class is a helper to create device objects and to bind the device to the driver identified by the set of matching dictionaries.
| in | case of an error returned by the underlaying API the driver class throws a dx::exception. |
|
inherited |
|
protectedinherited |
|
protectedinherited |
|
inherited |
|
inherited |
| typedef decltype(matching_ids) dx::coreaudio::driver< device_t >::match |
|
inherited |
the driver's own settings: the log a promoted::preference on the store's dx::log::id node, resolved like a stream desc (dx::log's DX_TREE_SERIALIZE), the constructor's log its default - stored as no entry, reloaded on the store's change
|
inherited |
|
inline |
the driver interface class constructor
| matching_ids | the matching dictionaries identifying the driver interface |
| product_id | drivers bundle ID |
| preference | preference |
|
inline |
|
inline |
|
protectedpure virtualinherited |
adds a new device to the device list
| dx::exception |
|
inlineoverrideprotectedinherited |
adds a new device to the device list
| dx::exception |
|
protectedvirtualinherited |
notify device arrivals completed stub
Reimplemented from dx::driver< device_id_t, preference_t >.
|
inlineoverrideprotectedvirtualinherited |
Reimplemented from dx::map::driver< device_t >.
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineoverridevirtual |
Reimplemented from dx::driver< device_id_t, preference_t >.
|
inlineprotectedvirtualnoexceptinherited |
replaces std::map::clear to call virtual notification methods
|
inlineoverridevirtualnoexceptinherited |
conclude notification: object will be removed. If you overwrite conclude() you also need to overwrite destructor and check if its needed to be called from there. Called only through try_conclude() - never call this directly from outside the class hierarchy.
Reimplemented from dx::object.
Reimplemented in dx::midi::services::driver< device_t >, dx::service::client::driver< device_t >, and dx::wasapi::client::driver< device_t >.
|
inlinenoexceptinherited |
|
inlineoverride |
|
inlinevirtualinherited |
|
inlineoverridevirtual |
Reimplemented from dx::stream::driver< map::driver< device_t > >.
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineoverridenoexceptinherited |
notification exception handler
|
pure virtualnoexceptinherited |
notification exception handler
Implemented in dx::asio::client::_device< desc_t, preference_t, stream_t, group_t >, dx::asio::client::_device< desc, preference, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::asio::client::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, dx::device< id_t, preference_t >, dx::device< dx::guid, preference >, dx::device< std::string, dx::preference >, dx::device< std::string, preference >, dx::device< std::string, preference_t >, dx::device<::AudioObjectID, cf::preference >, dx::device<::io_service_t, dx::preference >, dx::device<::io_service_t, preference_t >, dx::device<::MIDIDeviceRef, cf::preference >, dx::device<>, dx::proxy::device< preference_t >, dx::proxy::device< preference_t >, dx::proxy::device< dx::preference >, dx::proxy::device<>, dx::service::app, dx::service::client::_device< desc_t, preference_t, stream_t, group_t >, dx::service::client::_device< desc, preference, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::service::client::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, dx::service::device< preference_t >, dx::service::device< dx::preference >, dx::service::device< super_device_t >, dx::stream::object< _device_t >, dx::stream::object< device<> >, dx::stream::pin< device_t, _circular_t >, dx::usb::device< preference_t >, dx::usb::device< dx::preference >, dx::usb::platform::device< preference_t >, dx::usb::platform::device< preference_t >, dx::usb::platform::device< dx::preference >, dx::usb::platform::device< preference_t >, dx::usb::platform::device< preference_t >, dx::usb::stream::pipe< device_t, circular_t, stream_t >, dx::virtuel::stream::_device< desc_t, preference_t, stream_t, group_t >, dx::virtuel::stream::_device< desc, dx::preference, dx::stream::shared::stream< device< desc, dx::preference, dx::stream::shared::stream, group > >, group< device< desc, dx::preference, dx::stream::shared::stream, group > > >, dx::virtuel::stream::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, and dx::wasapi::client::_device< desc, preference, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >.
|
inlineinherited |
|
inlineinherited |
|
inlineoverridevirtualnoexcept |
log object class information
Reimplemented from dx::object.
|
inlineoverridevirtual |
launch notification: object mounted and ready to use. Called only through try_launch() - never call this directly from outside the class hierarchy.
Reimplemented from dx::object.
|
inlineprotectedvirtual |
|
inlineoverridenoexcept |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
restores device tree
Reimplemented from dx::map::driver< device_t >.
|
inlineoverridevirtual |
saves device tree
Reimplemented from dx::map::driver< device_t >.
|
inlinevirtualinherited |
|
protectedpure virtualinherited |
finds and removes a device from the device list
|
inlineoverrideprotectedinherited |
finds and removes a device from the device list
| dx::exception |
|
protectedvirtualinherited |
notify device removals completed stub
Reimplemented from dx::driver< device_id_t, preference_t >.
|
inlineprotectedvirtualnoexceptinherited |
notify specific device removal stub
|
inlineprotectedvirtual |
|
inlineoverridevirtual |
client driver::shutdown/boot(): override to shutdown/boot host driver
Reimplemented from dx::driver< device_id_t, preference_t >.
|
inlineoverrideprotectedinherited |
< notify system will sleep
notify system wake completed stub
|
inlinenoexceptinherited |
atomically conclude()s if currently launched; returns whether this call did it
|
inlineinherited |
atomically launch()es if not already launched; returns whether this call did it
|
inlinenoexceptinherited |
|
inlineoverrideprotectedinherited |
| promoted::property<::AudioObjectID> dx::coreaudio::driver< device_t >::connection_id |
|
inherited |
STL member.
the plugin's settings mirrored: born with the plugin's property as their server (dx_value.h: no promoted is born empty)
|
inherited |
STL member.
|
inherited |
|
protected |
|
inherited |
cached local log level, mirrors settings::log
|
protected |
|
inherited |
|
inherited |
|
inherited |
the driver's condition, promoted so a host follows it without polling
|
inherited |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |