dxd - dynax driver framework 2.7.0d222
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx_service_device.h File Reference
#include "dx_stream_stream.h"
#include "dx_service_request.h"
#include "dx_pipe.h"
#include "dx_shared_event.h"
Include dependency graph for dx_service_device.h:
This graph shows which files directly or indirectly include this file:

Classes

class  dx::service::device< preference_t >
 device - hosts a per-device pipe::server, keyed by puuid, separate from the driver-level control pipe Each connected client is represented by a user_client instance holding a std::shared_ptr<device>, so the device stays alive for as long as any client stays connected to it. conclude() stops that pipe before calling super::conclude(); since pipe::server::stop() unconditionally joins every instance - connected or not - this releases every user_client's device reference synchronously, within the same call. A caller holding the last other std::shared_ptr<device> (e.g. map::driver::remove()) is therefore guaranteed to reach a zero refcount, and run the device's destructor, before conclude() returns - independent of any further pipe activity. This is what lets a deferred cleanup step tied to the device's own destruction (e.g. the Windows registry preference's schedule_erase, dx_registry.h) complete within the same remove() call instead of depending on a future connection. More...
class  dx::service::device< preference_t >::promoted
 service::device::chain handle request to/from device::promoted and pipe More...
class  dx::service::device< preference_t >::user_client
 user client connection The each user_client holds a shared device reference. More...

Namespaces

namespace  dx
 dynax driver framework user mode interface namespace
namespace  dx::service
 service interface namespace

(c) copyright 2009 dynamic acoustics e.U. generated on

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.