ReXGlue SDK
Loading...
Searching...
No Matches
rex::kernel::EventObject Struct Reference
Inheritance diagram for rex::kernel::EventObject:
[legend]

Public Member Functions

 EventObject (bool manual_reset_in, bool initial_state)
 EventObject (const X_DISPATCH_HEADER &header)
void Query (u32 *out_type, u32 *out_state)
i32 Set () override
i32 Pulse ()
i32 Reset () override

Public Attributes

std::atomic< bool > manual_reset {false}
PublishedPtr< rex::platform::Event > event

Constructor & Destructor Documentation

◆ EventObject() [1/2]

rex::kernel::EventObject::EventObject ( bool manual_reset_in,
bool initial_state )
Parameters
manual_reset_inTrue for a notification event, false for a synchronization event.
initial_stateTrue when the event starts signaled.

◆ EventObject() [2/2]

rex::kernel::EventObject::EventObject ( const X_DISPATCH_HEADER & header)
explicit
Parameters
headerThe dispatch header of a title event, whose type and signal state initialize the object.

Member Function Documentation

◆ Pulse()

i32 rex::kernel::EventObject::Pulse ( )

Signals an event and releases the current waiters.

Returns
The previous state as the kernel reports it, always 1.

◆ Query()

void rex::kernel::EventObject::Query ( u32 * out_type,
u32 * out_state )

Reads the type and the live state of an event.

Parameters
out_typeReceives 0 for a manual reset event and 1 otherwise, may be null.
out_stateReceives 1 when signaled and 0 otherwise, may be null.

◆ Reset()

i32 rex::kernel::EventObject::Reset ( )
overridevirtual
Returns
The previous state as the kernel reports it, always 1.

Implements rex::kernel::IGuestEvent.

◆ Set()

i32 rex::kernel::EventObject::Set ( )
overridevirtual
Returns
The previous state as the kernel reports it, always 1.

Implements rex::kernel::IGuestEvent.

Member Data Documentation

◆ event

PublishedPtr<rex::platform::Event> rex::kernel::EventObject::event

Host event that carries the signal state and wakes waiters.

◆ manual_reset

std::atomic<bool> rex::kernel::EventObject::manual_reset {false}

True for a notification event, false for a synchronization event that resets on a wait.


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