|
dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
|
#include <dx_proxy_driver.h>
Classes | |
| struct | notification |
| the device notifications this driver's window is subscribed to: one per interface class it matches, and one per open handle whose removal it must hear about More... | |
| struct | property |
| this bus's name in the device tree and the preference store More... | |
| class | setup |
| the device information set of one interface class: what enumerates the devices present and names their paths 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::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 std::conditional_t< held, typename view::template iterator< typename holders::iterator >, typename holders::iterator > | iterator |
| typedef driver | map |
| typedef driver | map |
| typedef decltype(matching_ids) | match |
| typedef decltype(matching_ids) | match |
| typedef driver_settings< dx::promoted< dx::log >::preference< decltype(device<>::preference) > > | settings |
| typedef driver_settings< dx::promoted< dx::log >::preference< decltype(device<>::preference) > > | settings |
| typedef std::conditional_t< held, typename view::value_type, typename holders::value_type > | value_type |
| typedef std::conditional_t< held, typename view::value_type, typename holders::value_type > | value_type |
Public Member Functions | |
| iterator | begin () noexcept |
| iterator | begin () noexcept |
| virtual bool | boot () |
| void | conclude () noexcept override |
| the device notifications go ahead of their window | |
| bool | contains (const std::string &id) noexcept |
| template<typename desc_t> | |
| void | create (const std::string &, const desc_t &) |
| driver & | create (const std::string &id, const typename super::device_t::desc_t &desc) override |
| device arrival/removal follows through PnP's own interface notifications | |
| void | destroy (const std::string &) |
| driver & | destroy (const std::string &id) override |
| driver (const char *product_id, dx::log log={}) | |
| driver (const match &matching_idsmatching_ids, const char *product_id, const decltype(super::preference)&preferencepreference, dx::log log={}) | |
| the virtual driver interface class constructor | |
| driver (const match &matching_idsmatching_ids, const char *product_id, const decltype(super::preference)&preferencepreference, dx::log log={}) | |
| the driver interface class constructor | |
| driver (const match &matching_idsmatching_ids, const char *product_id, dx::log log={}) | |
| driver (const match &matching_idsmatching_ids, const char *product_id, dx::log log={}) | |
| iterator | end () noexcept |
| iterator | end () noexcept |
| void | exception (const class exception &exception, bool filtered=false) const noexcept override |
| notification exception handler | |
| 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) |
| iterator | find (const device_id_t &device_id) |
| virtual void | launch () |
| launch notification: object mounted and ready to use. Called only through try_launch() - never call this directly from outside the class hierarchy. | |
| 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. | |
| virtual | operator bool () const noexcept |
| virtual driver & | operator<< (std::ifstream &) |
| restores device settings | |
| virtual driver & | operator>> (std::ostream &ostream) const |
| saves device tree | |
| virtual bool | shutdown () |
| 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_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. A launch() that throws is concluded before the exception leaves: the object never claims a launch it did not finish | |
| bool | try_launch () |
| atomically launch()es if not already launched; returns whether this call did it. A launch() that throws is concluded before the exception leaves: the object never claims a launch it did not finish | |
| std::shared_ptr< typename super::device_t > | wait (const std::string &id) noexcept |
Public Attributes | |
| cf::string | connection_id = ::IOObjectCopyBundleIdentifierForClass(cf::string{this->product_id}.retain()) |
| T | elements |
| STL member. | |
| T | elements |
| STL member. | |
| K | keys |
| STL member. | |
| K | keys |
| STL member. | |
| std::atomic< bool > | launched |
| std::atomic< bool > | launched |
| dx::log | log |
| cached local log level, mirrors settings::log | |
| dx::log | log |
| cached local log level, mirrors settings::log | |
| decltype(device<>::preference) | preference |
| decltype(device<>::preference) | preference |
| const char * | product_id |
| const char * | product_id |
| io::registry | registry {::IOServiceGetMatchingService(::kIOMainPortDefault, cf::dictionary<>{}.set(CFSTR("IOUserServerName"), *this).retain())} |
| std::deque< setup > | setup |
| promoted< os_result > | status |
| the driver's condition, promoted so a host follows it without polling | |
| promoted< os_result > | status |
| the driver's condition, promoted so a host follows it without polling | |
| uint32_t | version |
| uint32_t | version |
Static Public Attributes | |
| static constexpr auto | connection_id {class_name} |
Protected Types | |
| typedef decltype(device_t::id) | device_id_t |
| typedef decltype(device_t::id) | device_id_t |
| typedef device<> | device_t |
| typedef device<> | device_t |
| typedef std::map< device_id_t, std::shared_ptr< device<> > > | holders |
| typedef std::map< device_id_t, std::shared_ptr< device<> > > | holders |
| typedef std::vector< cf::dictionary<> > | matching_ids |
Protected Member Functions | |
| virtual void | add (const decltype(device<>::id) &)=0 |
| adds a new device to the device list | |
| virtual void | add (const decltype(device<>::id) &)=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 | |
| 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 | |
| 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 | remove (const decltype(device<>::id) &)=0 |
| finds and removes a device from the device list | |
| virtual void | remove (const decltype(device<>::id) &)=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 | |
| 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 () noexcept |
| notify device removals completed stub | |
| void | sleep () override |
| < notify system will sleep | |
| void | sleep () override |
| < notify system will sleep | |
| void | wake () override |
| void | wake () override |
Protected Attributes | |
| std::set< dx::guid > | matching_ids |
| struct dx::proxy::driver::notification | notification |
|
inherited |
|
inherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
| typedef decltype(matching_ids) dx::proxy::driver< device_t >::match |
| typedef decltype(matching_ids) dx::proxy::driver< device_t >::match |
|
protected |
|
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 |
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 |
|
inherited |
|
inline |
the virtual driver interface class constructor
checks if kext is installed at all
| matching_ids | the matching device IDs identifying the OS driver interface |
| product_id | driver ID |
| preference | preference |
| log | log settings |
|
inline |
|
inline |
|
inline |
the driver interface class constructor
| matching_ids | the matching device IDs identifying the OS driver interface |
| product_id | driver ID |
| preference | preference |
| log | log settings |
|
inline |
|
protectedpure virtualinherited |
adds a new device to the device list
| dx::exception |
|
protectedpure virtualinherited |
adds a new device to the device list
| dx::exception |
|
inlineoverrideprotectedinherited |
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< decltype(device<>::id), decltype(device<>::preference)>.
|
protectedvirtualinherited |
notify device arrivals completed stub
Reimplemented from dx::driver< decltype(device<>::id), decltype(device<>::preference)>.
|
inlineoverrideprotectedinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinevirtualinherited |
|
inlineprotectedvirtualnoexceptinherited |
replaces std::map::clear to call virtual notification methods
|
inlineoverridevirtualnoexcept |
the device notifications go ahead of their window
Reimplemented from dx::map::driver< device<> >.
|
inlinenoexceptinherited |
|
inline |
|
inlineoverridevirtual |
device arrival/removal follows through PnP's own interface notifications
Reimplemented from dx::stream::driver< dx::map::driver< device<> > >.
|
inlinevirtual |
Reimplemented from dx::stream::driver< dx::map::driver< device<> > >.
|
inlineoverridevirtual |
Reimplemented from dx::stream::driver< dx::map::driver< device<> > >.
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineoverridenoexceptinherited |
notification exception handler
|
inlineoverridenoexceptinherited |
notification exception handler
|
pure virtualnoexceptinherited |
notification exception handler
|
inlineinherited |
|
inlineinherited |
|
inlinevirtual |
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::map::driver< device<> >.
|
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::map::driver< device<> >.
|
inlinevirtualnoexcept |
|
inlinevirtualinherited |
restores device settings
|
inlinevirtualinherited |
saves device tree
|
protectedpure virtualinherited |
finds and removes a device from the device list
|
protectedpure virtualinherited |
finds and removes a device from the device list
|
inlineoverrideprotectedinherited |
finds and removes a device from the device list
| dx::exception |
|
inlineoverrideprotectedinherited |
finds and removes a device from the device list
| dx::exception |
|
protectedvirtualinherited |
notify device removals completed stub
Reimplemented from dx::driver< decltype(device<>::id), decltype(device<>::preference)>.
|
protectedvirtualinherited |
notify device removals completed stub
Reimplemented from dx::driver< decltype(device<>::id), decltype(device<>::preference)>.
|
inlinevirtualinherited |
client driver::shutdown/boot(): override to shutdown/boot host driver
|
inlineoverrideprotectedinherited |
< notify system will sleep
notify system wake completed stub
|
inlineoverrideprotectedinherited |
< notify system will sleep
notify system wake completed stub
|
inlinenoexceptinherited |
atomically conclude()s if currently launched; returns whether this call did it
|
inlinenoexceptinherited |
atomically conclude()s if currently launched; returns whether this call did it
|
inlineinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlineoverrideprotectedinherited |
|
inlineoverrideprotectedinherited |
| cf::string dx::proxy::driver< device_t >::connection_id = ::IOObjectCopyBundleIdentifierForClass(cf::string{this->product_id}.retain()) |
|
staticconstexpr |
|
inherited |
STL member.
|
inherited |
STL member.
|
inherited |
STL member.
|
inherited |
STL member.
|
inherited |
|
inherited |
|
inherited |
cached local log level, mirrors settings::log
|
inherited |
cached local log level, mirrors settings::log
|
protected |
|
protected |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
| io::registry dx::proxy::driver< device_t >::registry {::IOServiceGetMatchingService(::kIOMainPortDefault, cf::dictionary<>{}.set(CFSTR("IOUserServerName"), *this).retain())} |
| std::deque<setup> dx::proxy::driver< device_t >::setup |
|
inherited |
the driver's condition, promoted so a host follows it without polling
|
inherited |
the driver's condition, promoted so a host follows it without polling
|
inherited |
|
inherited |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |