#include <yatesig.h>
Public Member Functions | |
SignallingCall (SignallingCallControl *controller, bool outgoing, bool signalOnly=false) | |
virtual | ~SignallingCall () |
bool | outgoing () const |
SignallingCallControl * | controller () const |
void | userdata (void *data) |
void * | userdata () const |
bool | signalOnly () const |
virtual bool | sendEvent (SignallingEvent *event) |
virtual SignallingEvent * | getEvent (const Time &when)=0 |
virtual void | eventTerminated (SignallingEvent *event) |
Protected Member Functions | |
void | enqueue (SignallingMessage *msg) |
SignallingMessage * | dequeue (bool remove=true) |
void | clearQueue () |
Protected Attributes | |
Mutex | m_callMutex |
SignallingEvent * | m_lastEvent |
Interface of protocol independent phone call
SignallingCall | ( | SignallingCallControl * | controller, | |
bool | outgoing, | |||
bool | signalOnly = false | |||
) |
Constructor
controller | The call controller owning this call | |
outgoing | Call direction (true for outgoing) | |
signalOnly | Just signalling (no voice) flag |
virtual ~SignallingCall | ( | ) | [virtual] |
Destructor, notifies the controller
void clearQueue | ( | ) | [inline, protected] |
Clear incoming messages queue
SignallingCallControl* controller | ( | ) | const [inline] |
Retreive the controller of this call
SignallingMessage* dequeue | ( | bool | remove = true |
) | [protected] |
Dequeue a received message. Just return it if remove is false This method is thread safe
remove | True to remove the message from queue |
void enqueue | ( | SignallingMessage * | msg | ) | [protected] |
Enqueue a received message. This method is thread safe
msg | The received message |
virtual void eventTerminated | ( | SignallingEvent * | event | ) | [virtual] |
Event terminated notification. No event will be generated until the current event is terminated This method is thread safe
event | The terminated event |
virtual SignallingEvent* getEvent | ( | const Time & | when | ) | [pure virtual] |
Get an event from this call if not already got one This method is thread safe
when | The current time |
Implemented in SS7ISUPCall, ISDNQ931Call, and ISDNQ931CallMonitor.
bool outgoing | ( | ) | const [inline] |
Check if this is an outgoing call
Referenced by ISDNQ931::sendRelease(), and ISDNQ931::sendStatus().
virtual bool sendEvent | ( | SignallingEvent * | event | ) | [inline, virtual] |
Send an event to this call
event | The event to send |
Reimplemented in SS7ISUPCall, and ISDNQ931Call.
bool signalOnly | ( | ) | const [inline] |
Check if this call is just a signalling (no voice) one
void* userdata | ( | ) | const [inline] |
Retreive the private user data of this call
void userdata | ( | void * | data | ) | [inline] |
Set this call's private user data
data | New user data |
Mutex m_callMutex [protected] |
Mutex used to lock call operations
SignallingEvent* m_lastEvent [protected] |
Last event generated by this call. Used to serialize events