1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
//! Shared helpers for windows programming.

use windows_sys::Windows::Win32::SystemServices as ss;
mod event;
pub use self::event::Event;

cfg_events_driver! {
    #[doc(inherit)]
    pub use crate::runtime::events::AsyncEvent;
}

/// Trait that indicates a type that encapsulates an event.
pub trait RawEvent {
    /// Access the underlying raw handle for the event.
    ///
    /// # Safety
    ///
    /// Caller must ensure that the raw handle stays alive for the duration of
    /// whatever its being associated with.
    unsafe fn raw_event(&self) -> ss::HANDLE;
}