dxd - dynax driver framework 2.1.0d58
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::coreaudio::driver< device_t > Class Template Referenceabstract

#include <dx_coreaudio.h>

+ Inheritance diagram for dx::coreaudio::driver< device_t >:
+ Collaboration diagram for dx::coreaudio::driver< device_t >:

Public Types

typedef decltype(matching_dictionaries) match
 

Public Member Functions

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.
 
::CFStringRef copy () const
 
 driver (const match &matching_dictionaries, const char *id, dx::log log=dx::log{{ .bus={ .setup=log::level::dflt,.operation=log::level::dflt,},.interface={ .setup=log::level::dflt,.operation=log::level::dflt}}})
 the driver interface class constructor
 
virtual void exception (const exception &exception, bool filtered=false) const noexcept=0
 notification exception handler
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
void info () override
 log object class information
 
referenceinitialize (cf_object_t cf_object, bool retain=true)
 
void launch () override
 launch notification: object mounted and ready to use
 
 operator bool () const noexcept
 
 operator cf_object_t () const noexcept
 
 operator const char * () const
 
 operator double () const noexcept
 Skips whitespace; returns 0.0 on error.
 
 operator int32_t () const noexcept
 Skips whitespace; returns 0 on error, MAX or -MAX on overflow.
 
 operator std::string () const
 
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <!std::is_same_v<petty_t, ::CFTypeRef>>>
 operator type<> () const noexcept
 
bool operator!= (::CFStringRef value) const noexcept
 
bool operator!= (cf_object_t cf_object) const noexcept
 
bool operator!= (value_t value)
 
::CFMutableStringRef operator+ (::CFStringRef value) const noexcept
 
::CFMutableStringRef operator+ (const char *value) const noexcept
 
 operator::CFDataRef () const noexcept
 
 operator::CFTypeID () const noexcept
 
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <!std::is_same_v<petty_t, ::CFTypeRef>>>
 operator::CFTypeRef () const noexcept
 
bool operator< (::CFStringRef value) const noexcept
 
bool operator< (value_t value)
 
bool operator<= (::CFStringRef value) const noexcept
 
bool operator<= (value_t value)
 
bool operator== (::CFStringRef value) const noexcept
 
bool operator== (cf_object_t cf_object) const noexcept
 
bool operator== (value_t value)
 
bool operator> (::CFStringRef value) const noexcept
 
bool operator> (value_t value)
 
bool operator>= (::CFStringRef value) const noexcept
 
bool operator>= (value_t value)
 
referencerelease () noexcept
 
referenceretain () noexcept
 
 ~driver () override
 

Static Public Member Functions

::CFTypeID id () noexcept
 

Public Attributes

::CFStringRef cf_type_desc = nullptr
 
::CFStringRef cf_type_id = nullptr
 
elements
 STL member.
 
keys
 STL member.
 
bool launched {}
 
log log {}
 
cf::preference preference
 

Protected Attributes

cf_object_t cf_object = nullptr
 

Private Member Functions

 operator bool () const noexcept
 
dx_coreaudio_property_catchall_rethrow operator std::string () const
 

Member Typedef Documentation

◆ match

template<class device_t >
typedef decltype(matching_dictionaries) dx::coreaudio::driver< device_t >::match

Constructor & Destructor Documentation

◆ driver()

template<class device_t >
dx::coreaudio::driver< device_t >::driver ( const match & matching_dictionaries,
const char * id,
dx::log log = dx::log{{ .bus={ .setup= log::level::dflt, .operation= log::level::dflt,}, .interface={ .setup= log::level::dflt, .operation= log::level::dflt}}} )
inline

the driver interface class constructor

Todo
handle kext blocking https://developer.apple.com/library/content/technotes/tn2459/_index.html
Parameters
matching_dictionariesthe matching dictionaries identifying the driver interface
iddrivers bundle ID

◆ ~driver()

template<class device_t >
dx::coreaudio::driver< device_t >::~driver ( )
inlineoverride
+ Here is the call graph for this function:

Member Function Documentation

◆ conclude()

template<class device_t >
void dx::coreaudio::driver< device_t >::conclude ( )
inlineoverridevirtualnoexcept

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.

Reimplemented from dx::object.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ copy()

::CFStringRef dx::cf::__string< ::CFStringRef >::copy ( ) const
inlineinherited

◆ exception()

virtual void dx::object::exception ( const exception & exception,
bool filtered = false ) const
pure virtualnoexceptinherited

notification exception handler

Implemented in dx::coreaudio::device, and dx::usb::platform::device.

+ Here is the caller graph for this function:

◆ id() [1/12]

template<typename cf_object_t >
::CFTypeID dx::cf::reference< cf_object_t >::id ( )
staticnoexceptinherited
+ Here is the caller graph for this function:

◆ id() [2/12]

CFTypeID dx::cf::reference<::CFTypeRef >::id ( )
inlinenoexceptinherited

◆ id() [3/12]

CFTypeID dx::cf::reference<::CFDictionaryRef >::id ( )
inlinenoexceptinherited

◆ id() [4/12]

CFTypeID dx::cf::reference<::CFMutableDictionaryRef >::id ( )
inlinenoexceptinherited

◆ id() [5/12]

CFTypeID dx::cf::reference<::CFNumberRef >::id ( )
inlinenoexceptinherited

◆ id() [6/12]

CFTypeID dx::cf::reference<::CFStringRef >::id ( )
inlinenoexceptinherited

◆ id() [7/12]

CFTypeID dx::cf::reference<::CFArrayRef >::id ( )
inlinenoexceptinherited

◆ id() [8/12]

CFTypeID dx::cf::reference<::CFURLRef >::id ( )
inlinenoexceptinherited

◆ id() [9/12]

CFTypeID dx::cf::reference<::CFBundleRef >::id ( )
inlinenoexceptinherited

◆ id() [10/12]

CFTypeID dx::cf::reference<::CFDataRef >::id ( )
inlinenoexceptinherited

◆ id() [11/12]

CFTypeID dx::cf::reference<::CFUUIDRef >::id ( )
inlinenoexceptinherited

◆ id() [12/12]

CFTypeID dx::cf::reference<::SCPreferencesRef >::id ( )
inlinenoexceptinherited

◆ info()

template<class device_t >
void dx::coreaudio::driver< device_t >::info ( )
inlineoverridevirtual

log object class information

Implements dx::object.

◆ initialize()

template<typename cf_object_t >
reference & dx::cf::reference< cf_object_t >::initialize ( cf_object_t cf_object,
bool retain = true )
inlineinherited
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ launch()

template<class device_t >
void dx::coreaudio::driver< device_t >::launch ( )
inlineoverridevirtual

launch notification: object mounted and ready to use

Reimplemented from dx::object.

+ Here is the call graph for this function:

◆ operator bool()

template<typename cf_object_t >
dx::cf::reference< cf_object_t >::operator bool ( ) const
inlinenoexceptinherited

◆ operator cf_object_t()

template<typename cf_object_t >
dx::cf::reference< cf_object_t >::operator cf_object_t ( ) const
inlinenoexceptinherited

◆ operator const char *()

dx::cf::__string< ::CFStringRef >::operator const char * ( ) const
inlineinherited

◆ operator double()

dx::cf::__string< ::CFStringRef >::operator double ( ) const
inlinenoexceptinherited

Skips whitespace; returns 0.0 on error.

◆ operator int32_t()

dx::cf::__string< ::CFStringRef >::operator int32_t ( ) const
inlinenoexceptinherited

Skips whitespace; returns 0 on error, MAX or -MAX on overflow.

◆ operator std::string()

dx::cf::__string< ::CFStringRef >::operator std::string ( ) const
inlineinherited

◆ operator type<>()

template<typename cf_object_t >
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <!std::is_same_v<petty_t, ::CFTypeRef>>>
dx::cf::reference< cf_object_t >::operator type<> ( ) const
noexceptinherited

◆ operator!=() [1/3]

bool dx::cf::__string< ::CFStringRef >::operator!= ( ::CFStringRef value) const
inlinenoexceptinherited

◆ operator!=() [2/3]

template<typename cf_object_t >
bool dx::cf::reference< cf_object_t >::operator!= ( cf_object_t cf_object) const
inlinenoexceptinherited

◆ operator!=() [3/3]

bool dx::cf::__string< ::CFStringRef >::operator!= ( value_t value)
inlineinherited

◆ operator+() [1/2]

::CFMutableStringRef dx::cf::__string< ::CFStringRef >::operator+ ( ::CFStringRef value) const
inlinenoexceptinherited

◆ operator+() [2/2]

::CFMutableStringRef dx::cf::__string< ::CFStringRef >::operator+ ( const char * value) const
inlinenoexceptinherited

◆ operator::CFDataRef()

dx::cf::__string< ::CFStringRef >::operator::CFDataRef ( ) const
inlinenoexceptinherited

◆ operator::CFTypeID()

template<typename cf_object_t >
dx::cf::reference< cf_object_t >::operator::CFTypeID ( ) const
inlinenoexceptinherited

◆ operator::CFTypeRef()

template<typename cf_object_t >
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <!std::is_same_v<petty_t, ::CFTypeRef>>>
dx::cf::reference< cf_object_t >::operator::CFTypeRef ( ) const
inlinenoexceptinherited

◆ operator<() [1/2]

bool dx::cf::__string< ::CFStringRef >::operator< ( ::CFStringRef value) const
inlinenoexceptinherited

◆ operator<() [2/2]

bool dx::cf::__string< ::CFStringRef >::operator< ( value_t value)
inlineinherited

◆ operator<=() [1/2]

bool dx::cf::__string< ::CFStringRef >::operator<= ( ::CFStringRef value) const
inlinenoexceptinherited

◆ operator<=() [2/2]

bool dx::cf::__string< ::CFStringRef >::operator<= ( value_t value)
inlineinherited

◆ operator==() [1/3]

bool dx::cf::__string< ::CFStringRef >::operator== ( ::CFStringRef value) const
inlinenoexceptinherited

◆ operator==() [2/3]

template<typename cf_object_t >
bool dx::cf::reference< cf_object_t >::operator== ( cf_object_t cf_object) const
inlinenoexceptinherited

◆ operator==() [3/3]

bool dx::cf::__string< ::CFStringRef >::operator== ( value_t value)
inlineinherited

◆ operator>() [1/2]

bool dx::cf::__string< ::CFStringRef >::operator> ( ::CFStringRef value) const
inlinenoexceptinherited

◆ operator>() [2/2]

bool dx::cf::__string< ::CFStringRef >::operator> ( value_t value)
inlineinherited

◆ operator>=() [1/2]

bool dx::cf::__string< ::CFStringRef >::operator>= ( ::CFStringRef value) const
inlinenoexceptinherited

◆ operator>=() [2/2]

bool dx::cf::__string< ::CFStringRef >::operator>= ( value_t value)
inlineinherited

◆ release()

template<typename cf_object_t >
reference & dx::cf::reference< cf_object_t >::release ( )
inlinenoexceptinherited
+ Here is the caller graph for this function:

◆ retain()

template<typename cf_object_t >
reference & dx::cf::reference< cf_object_t >::retain ( )
inlinenoexceptinherited
+ Here is the caller graph for this function:

Member Data Documentation

◆ cf_object

template<typename cf_object_t >
cf_object_t dx::cf::reference< cf_object_t >::cf_object = nullptr
protectedinherited

◆ cf_type_desc

template<typename cf_object_t >
::CFStringRef dx::cf::reference< cf_object_t >::cf_type_desc = nullptr
inherited

◆ cf_type_id

template<typename cf_object_t >
::CFStringRef dx::cf::reference< cf_object_t >::cf_type_id = nullptr
inherited

◆ elements

T std::map< K, T >::elements
inherited

STL member.

◆ keys

K std::map< K, T >::keys
inherited

STL member.

◆ launched

bool dx::object::launched {}
inherited

◆ log

template<class device_t >
log dx::coreaudio::driver< device_t >::log {}

◆ preference

template<class device_t >
cf::preference dx::coreaudio::driver< device_t >::preference

The documentation for this class was generated from the following file:

(c) copyright 2009 dynamic acoustics e.U. generated on Sun Apr 28 2024

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.