Anklang 0.3.0-460-gc4ef46ba
ASE — Anklang Sound Engine (C++)

« « « Anklang Documentation
Loading...
Searching...
No Matches
Static Public Member Functions | Protected Member Functions | List of all members
Ase::USignalSource Class Reference

EventLoop source for handler execution. More...

#include "loop.hh"

Inheritance diagram for Ase::USignalSource:
[legend]

Static Public Member Functions

static void raise (int8 signum)
 Flag a unix signal being raised, this function may be called from any thread at any time.
 
static USignalSourceP create (int8 signum, const USignalSlot &slot)
 
static void install_sigaction (int8)
 

Protected Member Functions

virtual bool prepare (const LoopState &state, int64 *timeout_usecs_p)
 Prepare the source for dispatching (true return) or polling (false).
 
virtual bool check (const LoopState &state)
 Check the source and its PollFD descriptors for dispatching (true return).
 
virtual bool dispatch (const LoopState &state)
 Dispatch source, returns if it should be kept alive.
 
virtual void destroy ()
 
 USignalSource (int8 signum, const USignalSlot &slot)
 
- Protected Member Functions inherited from Ase::EventSource
uint n_pfds ()
 
uint source_id ()
 

Additional Inherited Members

- Public Member Functions inherited from Ase::EventSource
bool recursion () const
 Indicates wether the source is currently in recursion.
 
bool may_recurse () const
 Indicates if this source may recurse.
 
void may_recurse (bool may_recurse)
 Dispatch this source if its running recursively.
 
bool primary () const
 Indicate whether this source is primary.
 
void primary (bool is_primary)
 Set whether this source prevents its loop from exiting.
 
void add_poll (PollFD *const pfd)
 Add a PollFD descriptors for poll(2) and check().
 
void remove_poll (PollFD *const pfd)
 Remove a previously added PollFD.
 
void loop_remove ()
 Remove this source from its event loop if any.
 
MainLoopmain_loop () const
 Get the main loop for this source.
 
- Protected Attributes inherited from Ase::EventSource
EventLooploop_
 
struct { 
 
PollFDpfd
 
uint idx
 
} * pfds_ 
 
uint id_
 
int16 priority_
 
uint8 loop_state_
 
uint may_recurse_: 1
 
uint dispatching_: 1
 
uint was_dispatching_: 1
 
uint primary_: 1
 

Detailed Description

EventLoop source for handler execution.

Definition at line 235 of file loop.hh.

Constructor & Destructor Documentation

◆ ~USignalSource()

Ase::USignalSource::~USignalSource ( )
protectedvirtual

Definition at line 1053 of file loop.cc.

◆ USignalSource()

Ase::USignalSource::USignalSource ( int8  signum,
const USignalSlot slot 
)
explicitprotected

Definition at line 1045 of file loop.cc.

Member Function Documentation

◆ check()

bool Ase::USignalSource::check ( const LoopState state)
protectedvirtual

Check the source and its PollFD descriptors for dispatching (true return).

Implements Ase::EventSource.

Definition at line 1077 of file loop.cc.

◆ create()

static USignalSourceP Ase::USignalSource::create ( int8  signum,
const USignalSlot slot 
)
static

Definition at line 250 of file loop.hh.

◆ destroy()

void Ase::USignalSource::destroy ( )
protectedvirtual

Reimplemented from Ase::EventSource.

Definition at line 1090 of file loop.cc.

◆ dispatch()

bool Ase::USignalSource::dispatch ( const LoopState state)
protectedvirtual

Dispatch source, returns if it should be kept alive.

Implements Ase::EventSource.

Definition at line 1083 of file loop.cc.

◆ install_sigaction()

void Ase::USignalSource::install_sigaction ( int8  signum)
static

Definition at line 1113 of file loop.cc.

◆ prepare()

bool Ase::USignalSource::prepare ( const LoopState state,
int64 timeout_usecs_p 
)
protectedvirtual

Prepare the source for dispatching (true return) or polling (false).

Implements Ase::EventSource.

Definition at line 1071 of file loop.cc.

◆ raise()

void Ase::USignalSource::raise ( int8  signum)
static

Flag a unix signal being raised, this function may be called from any thread at any time.

Definition at line 1062 of file loop.cc.


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