Loading...
Searching...
No Matches
L4Re::Util::Event_t< PAYLOAD > Class Template Reference

Convenience wrapper for getting access to an event object. More...

`#include <event>`

Inheritance diagram for L4Re::Util::Event_t< PAYLOAD >:
Collaboration diagram for L4Re::Util::Event_t< PAYLOAD >:

## Public Types

enum | Mode { Mode_irq , Mode_polling }
| Modes of operation. More...

## Public Member Functions

template<typename IRQ_TYPE>
int | init (L4::Cap< L4Re::Event > event, L4Re::Env const *env=L4Re::Env::env(), L4Re::Cap_alloc *ca=&L4Re::Util::cap_alloc)
| Initialise an event object.
int | init_poll (L4::Cap< L4Re::Event > event, L4Re::Env const *env=L4Re::Env::env(), L4Re::Cap_alloc *ca=&L4Re::Util::cap_alloc)
| Initialise an event object in polling mode.
L4Re::Event_buffer_t< PAYLOAD > & | buffer ()
| Get event buffer.
L4::Cap< L4::Triggerable > | irq () const
| Get event IRQ.

## Detailed Description

template<typename PAYLOAD>
class L4Re::Util::Event_t< PAYLOAD >

Convenience wrapper for getting access to an event object.

After calling init() the class supplies the event-buffer and the associated IRQ object.

Definition at line 32 of file event.

## Member Enumeration Documentation

## Mode

template<typename PAYLOAD>

enum L4Re::Util::Event_t::Mode

Modes of operation.

Enumerator
Mode_irq | Create an IRQ and attach, to get notifications.
Mode_polling | Do not use an IRQ.

Definition at line 38 of file event.

## Member Function Documentation

## buffer()

template<typename PAYLOAD>

L4Re::Event_buffer_t< PAYLOAD > & L4Re::Util::Event_t< PAYLOAD >::buffer | ( |  | ) |

inline

Get event buffer.

Returns
  Event buffer object.

Definition at line 148 of file event.

## init()

template<typename PAYLOAD>
template<typename IRQ_TYPE>

int L4Re::Util::Event_t< PAYLOAD >::init | ( | L4::Cap< L4Re::Event > | event,
|  | L4Re::Env const * | env = L4Re::Env::env(),
|  | L4Re::Cap_alloc * | ca = &L4Re::Util::cap_alloc )

inline

Initialise an event object.

Template Parameters

  IRQ_TYPE | Type used for handling notifications from the event provider. This must be derived from L4::Triggerable.

Parameters

  event | Capability to event.
  env | Pointer to L4Re-Environment
  ca | Pointer to capability allocator.

Return values

  0 | Success
  -L4_ENOMEM | No memory to allocate required capabilities.
  <0 | Other IPC errors.

Definition at line 59 of file event.

## init_poll()

template<typename PAYLOAD>

int L4Re::Util::Event_t< PAYLOAD >::init_poll | ( | L4::Cap< L4Re::Event > | event,
|  | L4Re::Env const * | env = L4Re::Env::env(),
|  | L4Re::Cap_alloc * | ca = &L4Re::Util::cap_alloc )

inline

Initialise an event object in polling mode.

Parameters

  event | Capability to event.
  env | Pointer to L4Re-Environment
  ca | Pointer to capability allocator.

Return values

  0 | Success
  -L4_ENOMEM | No memory to allocate required capabilities.
  <0 | Other IPC errors.

Definition at line 112 of file event.

## irq()

template<typename PAYLOAD>

L4::Cap< L4::Triggerable > L4Re::Util::Event_t< PAYLOAD >::irq | ( |  | ) | const

inline

Get event IRQ.

Returns
  Event IRQ.

Definition at line 155 of file event.

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

- l4/re/util/event