dxd - dynax driver framework 2.6.0d201
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::service::driver< driver_t > Class Template Reference

#include <dx_service_driver.h>

+ Inheritance diagram for dx::service::driver< driver_t >:
+ Collaboration diagram for dx::service::driver< driver_t >:

Classes

class  app
 

Public Member Functions

 dx_catchall_rethrow () void conclude() noexcept override
 
void info (std::ostream &os) noexcept override
 
void launch () override try
 
virtual operator bool () const noexcept
 

Public Attributes

dx::service::driver::appthis
 

Protected Types

typedef service::request< service::stream::data< typename super::device_t::desc_t > > request
 

Protected Attributes

pipe< request >::server pipe
 

Member Typedef Documentation

◆ request

template<class driver_t >
typedef service::request<service::stream::data<typename super::device_t::desc_t> > dx::service::driver< driver_t >::request
protected

Member Function Documentation

◆ dx_catchall_rethrow()

template<class driver_t >
dx::service::driver< driver_t >::dx_catchall_rethrow ( )
inlineoverridenoexcept

◆ info()

template<class driver_t >
void dx::service::driver< driver_t >::info ( std::ostream & os)
inlineoverridenoexcept

◆ launch()

template<class driver_t >
void dx::service::driver< driver_t >::launch ( )
inlineoverride
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator bool()

template<class driver_t >
virtual dx::service::driver< driver_t >::operator bool ( ) const
inlinevirtualnoexcept

Member Data Documentation

◆ pipe

template<class driver_t >
pipe<request>::server dx::service::driver< driver_t >::pipe
protected
Initial value:
{this->product_id, [this](class pipe<request>::server::instance&, const request& request){
std::clog<< class_name<< "::pipe::listen: "<< fourchar::to::string(static_cast<const uint32_t>(request.id))<< std::endl;
switch(request.id){
for(auto& device: *this){
.size= sizeof(driver::request::data.string),
.data{.string= device.second->puid}};
break;}
break;
dx_pass(request.size== sizeof(request.data.desc)? ok: invalid);
this->create(request.data.desc, request.data.desc);
break;
dx_pass(request.size== sizeof(request.data.string)? ok: invalid);
this->destroy(request.data.string);
break;
default:
break;
};
}}
Definition windows/dx_sync.h:362
pipe< request >::server pipe
Definition dx_service_device.h:47
service::request< service::stream::data< typename super_device_t::desc_t > > request
Definition dx_service_device.h:46
service::request< service::stream::data< typename super::device_t::desc_t > > request
Definition dx_service_driver.h:67
dx::service::driver::app * this
pipe< request >::server pipe
Definition dx_service_driver.h:68
#define dx_pass(test,...)
Definition dx_exception.h:54
#define device
IOKit: generic device.
Definition iokit/dxd_device.h:84
std::string string(uint32_t fourchar)
Definition dx_common.h:539
@ ok
Definition macOS/dx_platform.h:175
@ invalid
Definition macOS/dx_platform.h:178
Definition dx_service_stream.h:46
id
Definition dx_service_stream.h:47
data_t data
Definition dx_service_stream.h:67
unsigned int uint32_t
Definition wdk/dxd_platform.h:111

◆ this

template<class driver_t >
dx::service::driver::app* dx::service::driver< driver_t >::this

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

(c) copyright 2009 dynamic acoustics e.U. generated on Fri Mar 6 2026

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.