|
dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
|
kernel triggerable user space event More...
#include <dx_sync.h>
Public Types | |
| typedef abstract::event | super |
Public Member Functions | |
| virtual void | callback () |
| event (bool signalled=false) | |
| event (const std::string &name, bool signalled=false) | |
| virtual void | free () noexcept |
| super & | initialize (bool signalled=false) override |
| super & | initialize (const std::string &name, bool signalled=false) override |
| operator const os_event () const noexcept | |
| operator os_event () noexcept | |
| operator::HANDLE () const noexcept | |
| super & | reset (uint64_t=0) override |
| super & | signal (uint64_t=1) override |
| uint64_t | signalled () const |
| super & | wait (bool reset=false) override |
| template<typename rep_t, typename period_t> | |
| bool | wait (const std::chrono::duration< rep_t, period_t > &timeout, bool reset=false) |
| virtual | ~event ()=default |
Static Public Member Functions | |
| static void | wait (::HANDLE handle, int64_t timeout=0) |
Static Public Attributes | |
| static constexpr auto | scope = kernel |
Protected Attributes | |
| ::HANDLE | handle {invalid_t} |
| ::HANDLE | process {::GetCurrentProcess()} |
kernel triggerable user space event
an event the OS owns: a kernel object, waitable together with other handles and reachable by name across processes - what a driver or another process signals
| typedef abstract::event dx::event< kernel >::super |
Reimplemented from dx::abstract::event.
The default implementation is based on event<user> which is signalled when triggered via callback() from kernel. This is to achieve compatibility with Windows events. Its probably more adequate to overwrite callback() and do the work here if feasible.
|
inlinevirtualnoexceptinherited |
Reimplemented in dx::coreaudio::pod::stream< device_t, circular_t >, dx::pipe< rcv_t >, dx::pipe< dx::service::request< service::stream::data< desc > > >, dx::pipe< dx::service::request< service::stream::data< desc_t > > >, dx::pipe< dx::service::request< service::stream::data< typename device_t::desc_t > > >, dx::pipe< request >, dx::pipe< request_t >, dx::service::manager::promoted, dx::shared::memory< buffer_t >, dx::shared::memory< buffer_t >, dx::shared::memory< circular_t >, dx::shared::memory< circular_t >, dx::shared::memory< dx::circular >, dx::shared::memory< dx::stream::clock::monitor >, dx::shared::memory< dx::stream::clock::monitor >, dx::stream::shared::stream< device_t, circular_t, super_stream_t, event_t >, dx::stream::shared::stream< device_t, circular_t >, dx::stream::shared::stream< device_t, circular_t, super_stream_t, event_t >, dx::stream::shared::stream< device_t, dx::circular >, dx::stream::stream< device_t, dx::circular, usb::pipe< device_t > >, dx::template server< request >, dx::template server< user_client, std::weak_ptr< device > >, and dx::usb::stream::pipe< device_t, circular_t, stream_t >.
Reimplemented from dx::abstract::event.
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
Implements dx::abstract::event.
Implements dx::abstract::event.
|
inlineinherited |
wait with duration timeout returns true: signalled false: timed out
|
protectedinherited |
|
protectedinherited |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |