|
dxd - dynax driver framework 3.0.0d222
cross platform open source driver development framework
|
#include <dx_service_driver.h>
Public Member Functions | |
| app (driver &driver) | |
| void | exception (const dx::exception &exception, bool filtered=false) const noexcept override |
| notification exception handler | |
| virtual void | info (std::ostream &os) noexcept |
| log object class information | |
| 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. | |
| void | run (const parser::args &args) override |
| 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 | |
Static Public Member Functions | |
| static void | abort (int) noexcept |
Public Attributes | |
| std::atomic< bool > | launched {} |
Protected Member Functions | |
| 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. Called only through try_conclude() - never call this directly from outside the class hierarchy. | |
| virtual void | ctrl (::DWORD ctrl) |
| virtual void | main (const parser::args &args) |
Static Protected Member Functions | |
| static void __stdcall | __ctrl (::DWORD ctrl) noexcept |
| static void __stdcall | __main (::DWORD argc, char **argv) noexcept |
Protected Attributes | |
| driver & | driver |
| ::SERVICE_STATUS_HANDLE | handle {} |
| std::string | id |
| power::throttling | throttling |
| a windowless process' timer resolution requests are ignored by default | |
Static Protected Attributes | |
| static app * | self |
|
inline |
|
inlinestaticprotectednoexceptinherited |
|
inlinestaticprotectednoexceptinherited |
|
inlinestaticnoexceptinherited |
|
inlineprotectedvirtualnoexceptinherited |
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. Called only through try_conclude() - never call this directly from outside the class hierarchy.
Reimplemented in dx::asio::client::_device< desc_t, preference_t, stream_t, group_t >, dx::asio::client::_device< desc, preference, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::asio::client::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, dx::asio::service::device< super_device_t >, dx::coremidi::driver< device_t >, dx::map::driver< _device_t, holder_t >, dx::map::driver< device<> >, dx::map::driver< device_t >, dx::map::driver< device_t, dx::apartment< device_t > >, dx::midi::services::driver< device_t >, dx::proxy::device< preference_t >, dx::proxy::device< preference_t >, dx::proxy::device< dx::preference >, dx::proxy::device<>, dx::proxy::stream::_device< desc_t, preference_t, stream_t, group_t >, dx::proxy::stream::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, dx::proxy::stream::_device< dx::stream::desc<>, dx::preference, stream< device< dx::stream::desc<>, dx::preference, stream, group > >, group< device< dx::stream::desc<>, dx::preference, stream, group > > >, dx::service::client::_device< desc_t, preference_t, stream_t, group_t >, dx::service::client::_device< desc, preference, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::service::client::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, dx::service::client::driver< device_t >, dx::service::device< preference_t >, dx::service::device< dx::preference >, dx::service::device< super_device_t >, dx::stream::control< dx::device< std::string, preference > >, dx::stream::control< dx::stream::object< device<> > >, dx::stream::control< dx::stream::object< device_t > >, dx::stream::control< object< device_t > >, dx::stream::control< stream::object< device<> > >, dx::stream::control< stream::object< device_t > >, dx::stream::device< dx::device< dx::guid, preference >, desc, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::stream::device< dx::device< dx::guid, preference_t >, desc_t, stream_t, group_t >, dx::stream::device< dx::device< std::string, dx::preference >, desc, dx::stream::shared::stream< device< desc, dx::preference, dx::stream::shared::stream, group > >, group< device< desc, dx::preference, dx::stream::shared::stream, group > > >, dx::stream::device< dx::device< std::string, preference >, desc, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::stream::device< dx::device< std::string, preference_t >, desc_t, stream_t, group_t >, dx::stream::device< dx::device<::AudioObjectID, cf::preference >, dx::virtuel::stream::desc, dx::stream::stream< device< dx::virtuel::stream::desc, cf::preference, dx::stream::stream, group, false > >, group< device< dx::virtuel::stream::desc, cf::preference, dx::stream::stream, group, false > > >, dx::stream::device< dx::device<::AudioObjectID, cf::preference >, dx::virtuel::stream::desc, stream< device< dx::virtuel::stream::desc, cf::preference, stream, coreaudio::group, false > >, coreaudio::group< device< dx::virtuel::stream::desc, cf::preference, stream, coreaudio::group, false > > >, dx::stream::device< dx::device<::AudioObjectID, cf::preference >, dx::virtuel::stream::desc, stream< device< dx::virtuel::stream::desc, cf::preference, stream, group, _hosted > >, group< device< dx::virtuel::stream::desc, cf::preference, stream, group, _hosted > > >, dx::stream::device< dx::device<::AudioObjectID, preference_t >, desc_t, stream_t, group_t >, dx::stream::device< dx::device<::MIDIDeviceRef, cf::preference >, desc, stream< device< desc, cf::preference, stream > > >, dx::stream::device< dx::device<::MIDIDeviceRef, preference_t >, desc_t, stream_t >, dx::stream::device< dx::proxy::device< dx::preference >, dx::stream::desc<>, stream< device< dx::stream::desc<>, dx::preference, stream, group > >, group< device< dx::stream::desc<>, dx::preference, stream, group > > >, dx::stream::device< dx::proxy::device< preference_t >, desc_t, stream_t, group_t >, dx::stream::device< dx::stream::control< dx::device< std::string, preference > >, desc, stream< device< desc, preference, stream > > >, dx::stream::device< dx::stream::control< dx::device< std::string, preference > >, desc, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::stream::device< usb::device< dx::preference >, desc_t, pipe< device< desc_t, dx::preference, pipe, group > >, group< device< desc_t, dx::preference, pipe, group > > >, dx::stream::device< usb::device< preference_t >, desc_t, stream_t, group_t >, dx::usb::device< preference_t >, dx::usb::device< dx::preference >, dx::usb::pipe< device_t >, dx::usb::pipe< device_t >, dx::usb::platform::device< preference_t >, dx::usb::platform::device< dx::preference >, dx::usb::platform::device< preference_t >, dx::virtuel::stream::_device< desc_t, preference_t, stream_t, group_t >, dx::virtuel::stream::_device< desc, dx::preference, dx::stream::shared::stream< device< desc, dx::preference, dx::stream::shared::stream, group > >, group< device< desc, dx::preference, dx::stream::shared::stream, group > > >, dx::virtuel::stream::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, and dx::wasapi::client::driver< device_t >.
|
inlineprotectedvirtualinherited |
|
inlineoverridevirtualnoexceptinherited |
notification exception handler
Implements dx::object.
|
inlinevirtualnoexceptinherited |
log object class information
Reimplemented in dx::asio::client::_device< desc_t, preference_t, stream_t, group_t >, dx::asio::client::_device< desc, preference, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::asio::client::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, dx::asio::client::driver< device_t, devices >, dx::asio::service::device< super_device_t >, dx::coreaudio::_device< desc_t, preference_t, stream_t, group_t >, dx::coreaudio::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t, _hosted > >, group_t< device< desc_t, preference_t, stream_t, group_t, _hosted > > >, dx::coreaudio::_device< dx::virtuel::stream::desc, cf::preference, dx::stream::stream< device< dx::virtuel::stream::desc, cf::preference, dx::stream::stream, group, false > >, group< device< dx::virtuel::stream::desc, cf::preference, dx::stream::stream, group, false > > >, dx::coreaudio::_device< dx::virtuel::stream::desc, cf::preference, stream< device< dx::virtuel::stream::desc, cf::preference, stream, coreaudio::group, false > >, coreaudio::group< device< dx::virtuel::stream::desc, cf::preference, stream, coreaudio::group, false > > >, dx::coreaudio::_device< dx::virtuel::stream::desc, cf::preference, stream< device< dx::virtuel::stream::desc, cf::preference, stream, group, _hosted > >, group< device< dx::virtuel::stream::desc, cf::preference, stream, group, _hosted > > >, dx::coreaudio::driver< device_t >, dx::coreaudio::pod::device< desc_t, preference_t, stream_t, group_t >, dx::coreaudio::stream::device< desc_t, preference_t, stream_t, group_t >, dx::coremidi::_device< desc_t, preference_t, stream_t >, dx::coremidi::_device< desc, cf::preference, stream< device< desc, cf::preference, stream > > >, dx::coremidi::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t > > >, dx::coremidi::driver< device_t >, dx::device< id_t, preference_t >, dx::device< dx::guid, preference >, dx::device< std::string, dx::preference >, dx::device< std::string, preference >, dx::device< std::string, preference_t >, dx::device<::AudioObjectID, cf::preference >, dx::device<::io_service_t, dx::preference >, dx::device<::io_service_t, preference_t >, dx::device<::MIDIDeviceRef, cf::preference >, dx::device<>, dx::driver< device_id_t, preference_t >, dx::driver< decltype(_device_t::id), decltype(_device_t::preference)>, dx::driver< decltype(device<>::id), decltype(device<>::preference)>, dx::driver< decltype(id), cf::preference >, dx::driver< decltype(id), dx::preference >, dx::driver< decltype(id), preference >, dx::driver< device_id_t, decltype(device_t::preference)>, dx::map::driver< _device_t, holder_t >, dx::map::driver< device<> >, dx::map::driver< device_t >, dx::map::driver< device_t, dx::apartment< device_t > >, dx::midi::services::_device< desc, preference, stream< device< desc, preference, stream > > >, dx::midi::services::driver< device_t >, dx::proxy::device< preference_t >, dx::proxy::device< preference_t >, dx::proxy::device< dx::preference >, dx::proxy::device<>, dx::proxy::driver< device_t >, dx::proxy::driver< device_t >, dx::proxy::stream::_device< desc_t, preference_t, stream_t, group_t >, dx::proxy::stream::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, dx::proxy::stream::_device< dx::stream::desc<>, dx::preference, stream< device< dx::stream::desc<>, dx::preference, stream, group > >, group< device< dx::stream::desc<>, dx::preference, stream, group > > >, dx::service::client::_device< desc_t, preference_t, stream_t, group_t >, dx::service::client::_device< desc, preference, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::service::client::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, dx::service::client::driver< device_t >, dx::service::device< preference_t >, dx::service::device< preference_t >, dx::service::device< dx::preference >, dx::service::device< super_device_t >, dx::service::device< super_device_t >, dx::stream::control< dx::device< std::string, preference > >, dx::stream::control< dx::stream::object< device<> > >, dx::stream::control< dx::stream::object< device_t > >, dx::stream::control< object< device_t > >, dx::stream::control< stream::object< device<> > >, dx::stream::control< stream::object< device_t > >, dx::stream::device< dx::device< dx::guid, preference >, desc, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::stream::device< dx::device< dx::guid, preference_t >, desc_t, stream_t, group_t >, dx::stream::device< dx::device< std::string, dx::preference >, desc, dx::stream::shared::stream< device< desc, dx::preference, dx::stream::shared::stream, group > >, group< device< desc, dx::preference, dx::stream::shared::stream, group > > >, dx::stream::device< dx::device< std::string, preference >, desc, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::stream::device< dx::device< std::string, preference_t >, desc_t, stream_t, group_t >, dx::stream::device< dx::device<::AudioObjectID, cf::preference >, dx::virtuel::stream::desc, dx::stream::stream< device< dx::virtuel::stream::desc, cf::preference, dx::stream::stream, group, false > >, group< device< dx::virtuel::stream::desc, cf::preference, dx::stream::stream, group, false > > >, dx::stream::device< dx::device<::AudioObjectID, cf::preference >, dx::virtuel::stream::desc, stream< device< dx::virtuel::stream::desc, cf::preference, stream, coreaudio::group, false > >, coreaudio::group< device< dx::virtuel::stream::desc, cf::preference, stream, coreaudio::group, false > > >, dx::stream::device< dx::device<::AudioObjectID, cf::preference >, dx::virtuel::stream::desc, stream< device< dx::virtuel::stream::desc, cf::preference, stream, group, _hosted > >, group< device< dx::virtuel::stream::desc, cf::preference, stream, group, _hosted > > >, dx::stream::device< dx::device<::AudioObjectID, preference_t >, desc_t, stream_t, group_t >, dx::stream::device< dx::device<::MIDIDeviceRef, cf::preference >, desc, stream< device< desc, cf::preference, stream > > >, dx::stream::device< dx::device<::MIDIDeviceRef, preference_t >, desc_t, stream_t >, dx::stream::device< dx::proxy::device< dx::preference >, dx::stream::desc<>, stream< device< dx::stream::desc<>, dx::preference, stream, group > >, group< device< dx::stream::desc<>, dx::preference, stream, group > > >, dx::stream::device< dx::proxy::device< preference_t >, desc_t, stream_t, group_t >, dx::stream::device< dx::stream::control< dx::device< std::string, preference > >, desc, stream< device< desc, preference, stream > > >, dx::stream::device< dx::stream::control< dx::device< std::string, preference > >, desc, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::stream::device< usb::device< dx::preference >, desc_t, pipe< device< desc_t, dx::preference, pipe, group > >, group< device< desc_t, dx::preference, pipe, group > > >, dx::stream::device< usb::device< preference_t >, desc_t, stream_t, group_t >, dx::stream::driver< dx::map::driver< device<> > >, dx::stream::driver< dx::map::driver< device_t > >, dx::stream::driver< map::driver< device_t > >, dx::stream::object< _device_t >, dx::stream::object< device<> >, dx::stream::pin< device_t, _circular_t >, dx::stream::stream< device_t, dx::circular, usb::pipe< device_t > >, dx::usb::device< preference_t >, dx::usb::device< dx::preference >, dx::usb::pipe< device_t >, dx::usb::pipe< device_t >, dx::usb::platform::device< preference_t >, dx::usb::platform::device< dx::preference >, dx::usb::platform::device< preference_t >, dx::usb::stream::_device< desc_t, preference_t, stream_t, group_t >, dx::usb::stream::_device< desc_t, dx::preference, pipe< device< desc_t, dx::preference, pipe, group > >, group< device< desc_t, dx::preference, pipe, group > > >, dx::usb::stream::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, dx::usb::stream::pipe< device_t, circular_t, stream_t >, dx::virtuel::driver< device_t >, dx::virtuel::driver< device<> >, dx::virtuel::stream::_device< desc_t, preference_t, stream_t, group_t >, dx::virtuel::stream::_device< desc, dx::preference, dx::stream::shared::stream< device< desc, dx::preference, dx::stream::shared::stream, group > >, group< device< desc, dx::preference, dx::stream::shared::stream, group > > >, dx::virtuel::stream::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, dx::wasapi::client::_device< desc, preference, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, and dx::wasapi::client::driver< device_t >.
|
inlineoverridevirtualinherited |
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::object.
|
inlineprotectedvirtualinherited |
|
inlineoverridevirtual |
|
inlinenoexceptinherited |
atomically conclude()s if currently launched; returns whether this call did it
|
inlineinherited |
atomically launch()es if not already launched; returns whether this call did it
|
protected |
|
protectedinherited |
|
protectedinherited |
|
inherited |
|
staticprotectedinherited |
|
protectedinherited |
a windowless process' timer resolution requests are ignored by default
| (c) copyright 2009 dynamic acoustics e.U. | generated on |