|
device & | close () noexcept |
|
virtual void | conclude () noexcept |
| 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.
|
|
virtual void | conclude () noexcept |
| conclude notification: device will be removed from tree
|
|
auto | count () const noexcept |
|
auto | count () const noexcept |
|
void | ctl (uint32_t ioctl) const |
|
void | ctl (unsigned int ioctl) const |
|
| dx_catchall_rethrow () device &open() |
| for macOS compatibility only
|
|
| dx_catchall_rethrow () unsigned char configurations() const noexcept |
|
| dx_catchall_rethrow (, "name: %s, access rights: %x, sharing options:%x", name, access, share) |
|
| dx_catchall_rethrow (if(autoclear) try {const_cast< device * >(this) ->clear();} dx_catchall(), "handle: %p size: %lld request: %x idx: %x value: %x length: %x", winusb.handle, sizeof(request), request.control::request, request.index, request.value, request.length) template< typename data_t |
|
| dx_catchall_rethrow (try {if(exception.error==stalled) const_cast< device * >(this) ->reset();} dx_catchall_handler(this,), "request type:%x [recipient:%d type:%x direction:%x] request:%x value:%x index:%x length:%d", reinterpret_cast< const uint8_t & >(request), request.recipient, request.type, request.direction, request.control::request, request.value, request.index, request.length) template< typename data_t >data_t submit(const control &control) const |
| device control request
|
|
registry & | erase (const char *key=nullptr) |
|
uint64_t | frame () const |
|
uint64_t | frame () const try |
|
::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 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 |
|
virtual void | info ()=0 |
| log object class information
|
|
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: object mounted and ready to use
|
|
virtual void | launch () |
| launch notification: 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 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
|
|
| operator io_registry_entry_t * () noexcept |
| auto converter into io_object pointer
|
|
| operator io_registry_entry_t * () noexcept |
| auto converter into io_object pointer
|
|
| operator std::string () const |
|
| operator uint64_t () 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::CFMutableDictionaryRef () const |
|
| operator::CFStringRef () const |
|
| operator::CFStringRef () const |
|
| operator::HKEY () const noexcept |
|
bool | operator== (io_registry_entry_t io_object) const noexcept |
|
bool | operator== (io_registry_entry_t io_object) const noexcept |
|
::CFTypeRef | operator[] (::CFStringRef key) const |
|
::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 |
|
template<typename key_t , typename = cf::enable_if_convertible<key_t>> |
::CFTypeRef | operator[] (key_t key) const |
|
device & | reenumerate () |
|
device & | reset () |
|
reference & | retain () |
|
reference & | retain () |
|
registry & | set (::CFStringRef key, ::CFTypeRef value) |
|
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) |
|
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.
|
|
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 = 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) |
|
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) |
|
device & | submit (const control &control) const |
|
template<typename data_t > |
device & | submit (const request< data_t > &request) const try |
| standard device request
|
|
template<typename data_t > |
device & | submit (const request< data_t > &request, bool autoclear=true) const try |
|