dxd - dynax driver framework 2.2.0d81
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::coreaudio::server::plugin< pin_t, device_t, driver_t > Class Template Referenceabstract

#include <dx_coreaudio_server.h>

+ Inheritance diagram for dx::coreaudio::server::plugin< pin_t, device_t, driver_t >:
+ Collaboration diagram for dx::coreaudio::server::plugin< pin_t, device_t, driver_t >:

Public Member Functions

 operator::AudioServerPlugInDriverInterface ** () noexcept
 
 plugin (const typename super::match &matching_ids, const char *id, dx::log log={})
 

Protected Types

typedef decltype(matching_idsmatch
 
typedef decltype(matching_idsmatch
 

Protected Member Functions

void add (const device_id_t &device_id) override try
 adds a new device to the device list
 
dx_catchall_rethrow() using super void add (const std::string &id, const typename device_t::desc &desc)
 
void arrived () override
 notify device arrivals completed stub
 
void arrived (device_t &device) override
 notify specific device arrival stub
 
 catch (...)
 
 catch (...)
 
 catch (const dx::exception &__dx_exception)
 
 catch (const dx::exception &__dx_exception)
 
 catch (const std::exception &__std_exception)
 
 catch (const std::exception &__std_exception)
 
void clear () noexcept try
 replaces std::map::clear to call virtual notification methods
 
void conclude () noexcept override try
 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.
 
void exception (const class exception &exception, bool filtered=false) const noexcept override try
 notification exception handler
 
virtual void exception (const exception &exception, bool filtered=false) const noexcept=0
 notification exception handler
 
void info (std::ostream &os) noexcept override
 log object class information
 
void launch () override try
 launch notification: object mounted and ready to use
 
virtual void launch () try
 launch notification: object mounted and ready to use
 
void remove (const device_id_t &device_id) override try
 finds and removes a device from the device list
 
void remove (const std::string &id)
 
void removed () noexcept override
 notify device removals completed stub
 
virtual void removed (device_t &) noexcept
 notify specific device removal stub
 

Protected Attributes

elements
 STL member.
 
keys
 STL member.
 
bool launched {}
 
log log
 
std::vector<::GUID > matching_ids
 
struct dx::proxy::driver::notification notification
 
const char * product_id
 
io::registry registry
 
std::deque< setup > setup
 
uint32_t version
 

Member Typedef Documentation

◆ match [1/2]

template<class device_t = device>
typedef decltype(matching_ids) dx::proxy::driver< device_t >::match
inherited

◆ match [2/2]

template<class device_t = device>
typedef decltype(matching_ids) dx::proxy::driver< device_t >::match
inherited

Constructor & Destructor Documentation

◆ plugin()

template<typename pin_t , typename device_t = device<pin_t>, typename driver_t = dx::proxy::driver<device_t>>
dx::coreaudio::server::plugin< pin_t, device_t, driver_t >::plugin ( const typename super::match & matching_ids,
const char * id,
dx::log log = {} )
inline
Parameters
matching_idsthe matching IDs identifying the driver interface
idcoreaudio server plugins bundle ID

Member Function Documentation

◆ add() [1/2]

template<typename device_t >
void dx::map::driver< device_t >::add ( const device_id_t & device_id)
inlineoverrideprotectedvirtualinherited

adds a new device to the device list

Exceptions
dx::exception

Implements dx::driver< decltype(device_t::id)>.

Reimplemented in dx::virtuel::driver< device_t >.

+ Here is the call graph for this function:

◆ add() [2/2]

template<class device_t = device>
dx_catchall_rethrow() using super void dx::proxy::driver< device_t >::add ( const std::string & id,
const typename device_t::desc & desc )
inlineinherited
+ Here is the caller graph for this function:

◆ arrived() [1/2]

template<typename pin_t , typename device_t = device<pin_t>, typename driver_t = dx::proxy::driver<device_t>>
void dx::coreaudio::server::plugin< pin_t, device_t, driver_t >::arrived ( )
inlineoverrideprotectedvirtual

notify device arrivals completed stub

Reimplemented from dx::driver< decltype(device_t::id)>.

◆ arrived() [2/2]

template<typename pin_t , typename device_t = device<pin_t>, typename driver_t = dx::proxy::driver<device_t>>
void dx::coreaudio::server::plugin< pin_t, device_t, driver_t >::arrived ( device_t & )
inlineoverrideprotectedvirtual

notify specific device arrival stub

Reimplemented from dx::map::driver< device_t >.

◆ catch() [1/6]

template<typename device_t >
dx::map::driver< device_t >::catch ( ...)
inlineprotectedinherited

◆ catch() [2/6]

template<typename device_t >
dx::map::driver< device_t >::catch ( ...)
inlineprotectedinherited

◆ catch() [3/6]

template<typename device_t >
dx::map::driver< device_t >::catch ( const dx::exception & __dx_exception)
inlineprotectedinherited

◆ catch() [4/6]

template<typename device_t >
dx::map::driver< device_t >::catch ( const dx::exception & __dx_exception)
inlineprotectedinherited

◆ catch() [5/6]

template<typename device_t >
dx::map::driver< device_t >::catch ( const std::exception & __std_exception)
inlineprotectedinherited

◆ catch() [6/6]

template<typename device_t >
dx::map::driver< device_t >::catch ( const std::exception & __std_exception)
inlineprotectedinherited

◆ clear()

template<typename device_t >
void dx::map::driver< device_t >::clear ( )
inlineprotectednoexceptinherited

replaces std::map::clear to call virtual notification methods

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

◆ conclude()

template<typename device_t >
void dx::map::driver< device_t >::conclude ( )
inlineoverrideprotectedvirtualnoexceptinherited

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:

◆ exception() [1/2]

void dx::driver< decltype(device_t::id) >::exception ( const class exception & exception,
bool filtered = false ) const
inlineoverridenoexceptinherited

notification exception handler

◆ exception() [2/2]

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

◆ info()

template<class device_t = device>
void dx::proxy::driver< device_t >::info ( std::ostream & os)
inlineoverridevirtualnoexceptinherited

log object class information

Reimplemented from dx::object.

+ Here is the call graph for this function:

◆ launch() [1/2]

template<class device_t = device>
void dx::proxy::driver< device_t >::launch ( )
inlineoverridevirtualinherited

launch notification: object mounted and ready to use

Reimplemented from dx::object.

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

◆ launch() [2/2]

template<class device_t = device>
virtual void dx::proxy::driver< device_t >::launch ( )
inlinevirtualinherited

launch notification: object mounted and ready to use

Reimplemented from dx::object.

+ Here is the call graph for this function:

◆ operator::AudioServerPlugInDriverInterface **()

template<typename pin_t , typename device_t = device<pin_t>, typename driver_t = dx::proxy::driver<device_t>>
dx::coreaudio::server::plugin< pin_t, device_t, driver_t >::operator::AudioServerPlugInDriverInterface ** ( )
inlinenoexcept

◆ remove() [1/2]

template<class device_t = device>
void dx::map::driver< device_t >::remove ( const device_id_t & device_id)
inlineoverridevirtualinherited

finds and removes a device from the device list

Exceptions
dx::exception

Reimplemented from dx::map::driver< device_t >.

◆ remove() [2/2]

template<class device_t = device>
void dx::proxy::driver< device_t >::remove ( const std::string & id)
inlineinherited

◆ removed() [1/2]

template<typename pin_t , typename device_t = device<pin_t>, typename driver_t = dx::proxy::driver<device_t>>
void dx::coreaudio::server::plugin< pin_t, device_t, driver_t >::removed ( )
inlineoverrideprotectedvirtualnoexcept

notify device removals completed stub

Reimplemented from dx::driver< decltype(device_t::id)>.

◆ removed() [2/2]

template<typename device_t >
virtual void dx::map::driver< device_t >::removed ( device_t & )
inlineprotectedvirtualnoexceptinherited

notify specific device removal stub

Reimplemented in dx::stream::engine< device_t, pin_t, driver_t, io_t, circular_t >.

Member Data Documentation

◆ 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

log dx::driver< decltype(device_t::id) >::log
inherited

◆ matching_ids

template<class device_t = device>
std::vector<::GUID> dx::proxy::driver< device_t >::matching_ids
protectedinherited

◆ notification

template<class device_t = device>
struct dx::proxy::driver::notification dx::proxy::driver< device_t >::notification
protectedinherited

◆ product_id

const char* dx::driver< decltype(device_t::id) >::product_id
inherited

◆ registry

template<class device_t = device>
io::registry dx::proxy::driver< device_t >::registry
inherited

◆ setup

template<class device_t = device>
std::deque<setup> dx::proxy::driver< device_t >::setup
inherited

◆ version

uint32_t dx::driver< decltype(device_t::id) >::version
inherited

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

(c) copyright 2009 dynamic acoustics e.U. generated on Fri Dec 20 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.