class SignallingEngine

Main signalling component holder. More...

Full nameTelEngine::SignallingEngine
Definition#include <libs/ysig/yatesig.h>
InheritsTelEngine::DebugEnabler [public ], TelEngine::Mutex [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Public Static Methods

Protected Methods

Protected Members


Detailed Description

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

 SignallingEngine (const char* name = "signalling")

SignallingEngine

Constructor of an empty engine

Parameters:
nameThe debug name of this engine

 ~SignallingEngine ()

~SignallingEngine

[virtual]

Destructor, removes all components

SignallingEngine*  self (bool create = false)

self

[static]

Get a pointer to the first (and usually only) instance created

Parameters:
createCreate the instance if it doesn't exist

Returns: Pointer to first engine, NULL if not created

void  insert (SignallingComponent* component)

insert

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

Parameters:
componentPointer to component to insert in engine

void  remove (SignallingComponent* component)

remove

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

Parameters:
componentPointer to component to remove from engine

bool  remove (const String& name)

remove

Remove and destroy a component from the engine by name

Parameters:
nameName of component to remove from engine

Returns: True if a component was found and destroyed

SignallingComponent*  find (const String& name)

find

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

Parameters:
nameName of the component to find

Returns: Pointer to component found or NULL

SignallingComponent*  find (const String& name, const String& type, const SignallingComponent* start = 0)

find

Retrieve a component by name and class, lock the list while searching for it

Parameters:
nameName of the component to find, empty to find any of the type
typeClass or base class of the component to find, empty to match any
startComponent to start searching from, search all list if NULL

Returns: Pointer to component found or NULL

SignallingComponent*  build (const String& type, const NamedList& params, bool init = false)

build

Retrieve and reference an existing component, create by factory if not present

Parameters:
typeClass or base class of the component to find or create
paramsName of component to find or create and creation parameters
initSet to true to initialize a newly created component

Returns: Pointer to component found or created, NULL on failure

bool  control (NamedList& params)

control

Apply a control operation to all components in the engine

Parameters:
paramsThe list of parameters to query or change

Returns: True if the control operation was executed by at least one component

bool  find (const SignallingComponent* component)

find

Check if a component is in the engine's list

Parameters:
componentPointer to component to check

Returns: True if the component is in the engine's list

void  notify (SignallingComponent* component, NamedList notifs)

notify

Handle notifications from a SignallingComponent

Parameters:
componentThe SignallingComponent from which the notifications were received
notifsThe notifications sent by this SignallingComponent

bool  start (const char* name = "Sig Engine", Thread::Priority prio = Thread::Normal, unsigned long usec = 0)

start

Starts the worker thread that keeps components alive

Parameters:
nameStatic name of the thread
prioThread's priority
usecHow long to sleep between iterations in usec, 0 to use library default

Returns: True if (already) started, false if an error occured

void  stop ()

stop

Stops and destroys the worker thread if running

inline void  setNotifier (SignallingNotifier* notifier)

setNotifier

Add to this engine a notifier object

Parameters:
notifierThe SignallingNotifier object to be added to the engine

inline void  removeNotifier (SignallingNotifier* notifier)

removeNotifier

Remove from this engine a notifier object

Parameters:
notifierThe SignallingNotifier object to be removed from the engine

Thread*  thread ()

thread

[const]

Return a pointer to the worker thread

Returns: Pointer to running worker thread or NULL

unsigned long  tickSleep (unsigned long usec = 1000000)

tickSleep

Adjust (decrease only) the desired maximum time until next tick. Can be called only from within timerTick()

Parameters:
usecDesired time until next timerTick() call in usec

Returns: Timer sleep in usec after applying the current change

inline unsigned long  tickDefault ()

tickDefault

[const]

Get the default engine tick sleep time in microseconds

Returns: Default timer sleep in usec

template inline void  destruct (Obj*& obj)

destruct

[static]

Helper template used to remove a component descendant from its engine, destroy it and set the received pointer to 0

Parameters:
objReference to pointer (lvalue) to the object to remove and destroy

unsigned long  timerTick (const Time& when)

timerTick

[protected virtual]

Method called periodically by the worker thread to keep everything alive

Parameters:
whenTime to use as computing base for events and timeouts

Returns: Desired sleep (in usec) until thread's next tick interval

ObjList m_components

m_components

[protected]


Generated by: paulc on bussard on Tue Apr 12 17:15:21 2011, using kdoc 2.0a54.