SignallingEngine Class Reference

Main signalling component holder. More...

#include <yatesig.h>

Inheritance diagram for SignallingEngine:

DebugEnabler Mutex

List of all members.

Public Member Functions

 SignallingEngine (const char *name="signalling")
virtual ~SignallingEngine ()
void insert (SignallingComponent *component)
void remove (SignallingComponent *component)
bool remove (const String &name)
SignallingComponentfind (const String &name)
bool find (const SignallingComponent *component)
bool start (const char *name="Signalling", Thread::Priority prio=Thread::Normal, unsigned long usec=1000)
void stop ()
Threadthread () const

Protected Member Functions

virtual void timerTick (const Time &when)

Protected Attributes

ObjList m_components

Friends

class SignallingComponent
class SignallingThreadPrivate


Detailed Description

Main signalling component holder.

The engine is the center of all SS7 or ISDN applications. It is used as a base to build the protocol stack from components.


Constructor & Destructor Documentation

SignallingEngine ( const char *  name = "signalling"  ) 

Constructor of an empty engine

Parameters:
name The debug name of this engine

virtual ~SignallingEngine (  )  [virtual]

Destructor, removes all components


Member Function Documentation

bool find ( const SignallingComponent component  ) 

Check if a component is in the engine's list

Parameters:
component Pointer to component to check
Returns:
True if the component is in the engine's list

SignallingComponent* find ( const String name  ) 

Retrive a component by name, lock the list while searching for it

Parameters:
name Name of the component to find
Returns:
Pointer to component found or NULL

void insert ( SignallingComponent component  ) 

Insert a component in the engine, lock the list while doing so

Parameters:
component Pointer to component to insert in engine

bool remove ( const String name  ) 

Remove and destroy a component from the engine by name

Parameters:
name Name of component to remove from engine
Returns:
True if a component was found and destroyed

void remove ( SignallingComponent component  ) 

Remove a component from the engine, lock the list while doing so

Parameters:
component Pointer to component to remove from engine

bool start ( const char *  name = "Signalling",
Thread::Priority  prio = Thread::Normal,
unsigned long  usec = 1000 
)

Starts the worker thread that keeps components alive

Parameters:
name Static name of the thread
prio Thread's priority
usec How long to sleep between iterations, in microseconds
Returns:
True if (already) started, false if an error occured

void stop (  ) 

Stops and destroys the worker thread if running

Thread* thread (  )  const

Return a pointer to the worker thread

Returns:
Pointer to running worker thread or NULL

virtual void timerTick ( const Time when  )  [protected, virtual]

Method called periodically by the SignallingThreadPrivate to keep everything alive

Parameters:
when Time to use as computing base for events and timeouts


Member Data Documentation

ObjList m_components [protected]

The list of components managed by this engine


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

Generated on Sun Dec 7 21:45:27 2008 for Yate by  doxygen 1.5.7.1