SignallingCall Class Reference

Abstract single phone call. More...

#include <yatesig.h>

Inheritance diagram for SignallingCall:

RefObject GenObject ISDNQ931Call ISDNQ931CallMonitor SS7ISUPCall

List of all members.

Public Member Functions

 SignallingCall (SignallingCallControl *controller, bool outgoing, bool signalOnly=false)
virtual ~SignallingCall ()
bool outgoing () const
SignallingCallControlcontroller () const
void userdata (void *data)
void * userdata () const
bool signalOnly () const
virtual bool sendEvent (SignallingEvent *event)
virtual SignallingEventgetEvent (const Time &when)=0
virtual void eventTerminated (SignallingEvent *event)

Protected Member Functions

void enqueue (SignallingMessage *msg)
SignallingMessagedequeue (bool remove=true)
void clearQueue ()

Protected Attributes

Mutex m_callMutex
SignallingEventm_lastEvent


Detailed Description

Abstract single phone call.

Interface of protocol independent phone call


Constructor & Destructor Documentation

SignallingCall ( SignallingCallControl controller,
bool  outgoing,
bool  signalOnly = false 
)

Constructor

Parameters:
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


Member Function Documentation

bool outgoing (  )  const [inline]

Check if this is an outgoing call

Returns:
True if it's an outgoing call

Referenced by ISDNQ931::sendRelease(), and ISDNQ931::sendStatus().

SignallingCallControl* controller (  )  const [inline]

Retreive the controller of this call

void userdata ( void *  data  )  [inline]

Set this call's private user data

Parameters:
data New user data

void* userdata (  )  const [inline]

Retreive the private user data of this call

Returns:
User data

bool signalOnly (  )  const [inline]

Check if this call is just a signalling (no voice) one

Returns:
True if no audio data can be negotiated for this call

virtual bool sendEvent ( SignallingEvent event  )  [inline, virtual]

Send an event to this call

Parameters:
event The event to send
Returns:
True if the operation succedded

Reimplemented in SS7ISUPCall, and ISDNQ931Call.

virtual SignallingEvent* getEvent ( const Time when  )  [pure virtual]

Get an event from this call if not already got one This method is thread safe

Parameters:
when The current time
Returns:
SignallingEvent pointer or 0 if no events or this call has a not terminated event

Implemented in SS7ISUPCall, ISDNQ931Call, and ISDNQ931CallMonitor.

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

Parameters:
event The terminated event

void enqueue ( SignallingMessage msg  )  [protected]

Enqueue a received message. This method is thread safe

Parameters:
msg The received message

SignallingMessage* dequeue ( bool  remove = true  )  [protected]

Dequeue a received message. Just return it if remove is false This method is thread safe

Parameters:
remove True to remove the message from queue
Returns:
SignallingMessage pointer or 0 if no more messages

void clearQueue (  )  [inline, protected]

Clear incoming messages queue


Member Data Documentation

Mutex m_callMutex [protected]

Mutex used to lock call operations

Last event generated by this call. Used to serialize events


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

Generated on Mon Aug 11 16:17:54 2008 for Yate by  doxygen 1.5.6