|
virtual void | conclude () |
| conclude notifacation: device will be removed from tree
|
|
virtual void | conclude () noexcept |
| conclude notification: device will be removed from tree
|
|
auto | count () const noexcept |
|
void | ctl (uint32_t ioctl) const |
|
void | ctl (unsigned int ioctl) const |
|
| device (generic::driver &driver, ::io_service_t io_service) |
| the device class constructor
|
|
| device (generic::driver &driver, const creator &creator) |
| the device class constructor
|
|
| dx_catchall_rethrow () virtual ~device() noexcept |
| the device class destructor
|
|
| dx_catchall_rethrow (, "name: %s, access rights: %x, sharing options:%x", name, access, share) |
|
registry & | erase (const char *key=nullptr) |
|
::CFTypeRef | get (::CFStringRef key) const |
|
template<typename value_t , typename = cf::enable_if_convertible<value_t>> |
value_t | get (::CFStringRef key) const |
|
::CFTypeRef | get (::CFStringRef key, ::CFTypeRef dflt) const noexcept |
|
template<typename value_t , typename = cf::enable_if_convertible<value_t>> |
value_t | get (::CFStringRef key, ::CFTypeRef dflt) const noexcept |
|
template<typename value_t , typename = cf::enable_if_convertible<value_t>> |
value_t | get (::CFStringRef key, value_t dflt) const noexcept |
|
template<typename key_t , typename = cf::enable_if_convertible<key_t>> |
::CFTypeRef | get (key_t key) const |
|
template<typename key_t , typename value_t , typename = cf::enable_if_convertible<key_t>, typename = cf::enable_if_convertible<value_t>> |
value_t | get (key_t key) const |
|
template<typename rx_t > |
rx_t | ictl (uint32_t ioctl) const |
| member ioctl
|
|
template<typename rx_t > |
size_t | ictl (uint32_t ioctl, rx_t &rx) const |
|
template<typename rx_t > |
rx_t | ictl (unsigned int ioctl) const |
| Windows: member ioctl.
|
|
template<typename rx_t > |
size_t | ictl (unsigned int ioctl, rx_t &rx) const |
|
void | initialize (const char *name, ::DWORD access=GENERIC_READ|GENERIC_WRITE, ::DWORD share=FILE_SHARE_READ|FILE_SHARE_WRITE) try |
| (re-)initialization the underlaying windows API is CreateFile(). for detailed information see http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx
|
|
void | initialize (const char *path, ::HKEY root, ::REGSAM rights=KEY_READ, const char *key=nullptr) |
|
void | initialize (const char *path, ::REGSAM rights=KEY_READ, ::HKEY root=HKEY_CURRENT_USER, const char *key=nullptr) |
|
template<typename rx_t , typename tx_t > |
rx_t | ioctl (uint32_t ioctl, const tx_t &tx) const |
|
template<typename rx_t , typename tx_t > |
size_t | ioctl (uint32_t ioctl, const tx_t &tx, rx_t &rx) const |
|
size_t | ioctl (uint32_t ioctl, const void *tx=nullptr, size_t tx_size=0, void *rx=nullptr, size_t rx_size=0) const |
|
template<typename rx_t , typename tx_t > |
rx_t | ioctl (unsigned int ioctl, const tx_t &tx) const |
|
template<typename tx_t , typename rx_t > |
size_t | ioctl (unsigned int ioctl, const tx_t &tx, rx_t &rx) const |
|
virtual void | launch () |
| launch notification: device mounted in tree and ready to use
|
|
virtual void | launch () |
| launch notifacation: device mounted in tree and ready to use
|
|
template<typename tx_t > |
void | octl (uint32_t ioctl, const tx_t &tx) const |
|
template<typename tx_t > |
void | octl (unsigned int ioctl, const tx_t &tx) const |
|
| operator const io_registry_entry_t & () const noexcept |
| auto converter into const io_object
|
|
| operator io_registry_entry_t & () noexcept |
| auto converter into io_object
|
|
| operator io_registry_entry_t * () noexcept |
| auto converter into io_object pointer
|
|
| operator std::string () const |
|
| operator uint64_t () const |
|
template<typename value_t > |
| operator value_t () const |
|
template<typename value_t > |
value_t | operator() (value_t dflt) const |
|
| operator::CFMutableDictionaryRef () const |
|
| operator::CFStringRef () const |
|
| operator::HKEY () const noexcept |
|
registry & | operator= (::CFTypeRef properties) |
|
bool | operator== (io_registry_entry_t io_object) const noexcept |
|
::CFTypeRef | operator[] (::CFStringRef key) const |
|
registry | operator[] (const char *key) const |
|
template<typename key_t , typename = cf::enable_if_convertible<key_t>> |
::CFTypeRef | operator[] (key_t key) const |
|
reference & | retain () |
|
registry & | set (::CFStringRef key, ::CFTypeRef value) noexcept |
|
template<typename value_t , typename = cf::enable_if_convertible<value_t>> |
registry & | set (::CFStringRef key, value_t value) |
|
registry & | set (::CFTypeRef properties) |
| Setting properties in a registry entry is not generally supported, it is more common to support setting of properties of the connection based property setting of dx::device.
|
|
template<typename key_t , typename = cf::enable_if_convertible<key_t>> |
registry & | set (key_t key, ::CFTypeRef value) |
|
template<typename key_t , typename value_t , typename = cf::enable_if_convertible<key_t>, typename = cf::enable_if_convertible<value_t>> |
registry & | set (key_t key, value_t value) |
|
virtual | ~device () noexcept |
|
generic device interface class
generic device class
This is the generic device interface class. This class is used for a platform independent way of accessing devices. The device class uses the driver interface helper class to construct the device object and to bind the device to the driver identified by the GUID.
example:
try() {
std::cout<<
driver.size()<<
" device(s) found:"<< std::endl;
}
}
}
generic device interface class
Definition macOS/dx_device.h:66
rx_t ictl(uint32_t ioctl) const
member ioctl
Definition macOS/dx_device.h:172
size_t ioctl(uint32_t ioctl, const tx_t &tx, rx_t &rx) const
Definition macOS/dx_device.h:195
generic::driver & driver
Definition macOS/dx_device.h:81
Definition macOS/dx_driver.h:230
Definition dx_exception.h:134
::GUID match
Definition windows/dx_driver.h:43
int int32_t
Definition wdk/dxd_base.h:109
- Exceptions
-
In | case of an error returned by the underlaying API the device class throws a dx::exception. |
this is the generic device class. the template parameter defines the exception class to be thrown. the device class uses the driver interface helper class to construct the device object and to bind the device to the driver identified by the GUID.
example:
try{
std::cout<<
driver.size()<<
" device(s) found:"<<std::endl;
dx::reference<dx::device<> >
device=*
i;
}
std::cerr << "OS aborted operation with error #" << error << std::endl;
}
}
::mach_error_t os_result
Definition macOS/dx_platform.h:159
- Exceptions
-
in | case of an error returned by the underlaying API the device class throws an exception converted from dx::os_result. with the default exception_t=dx::os_result template parameter the dx::os_result itself will be thrown. |