Yate
Public Member Functions | Protected Member Functions | Protected Attributes
SignallingCall Class Reference

Abstract single phone call. More...

#include <yatesig.h>

Inheritance diagram for SignallingCall:
RefObject Mutex GenObject Lockable 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
bool overlapDialing () 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

SignallingEventm_lastEvent
bool m_overlap

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:
controllerThe call controller owning this call
outgoingCall direction (true for outgoing)
signalOnlyJust signalling (no voice) flag
virtual ~SignallingCall ( ) [virtual]

Destructor, notifies the controller


Member Function Documentation

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

Parameters:
removeTrue to remove the message from queue
Returns:
SignallingMessage pointer or 0 if no more messages
void enqueue ( SignallingMessage msg) [protected]

Enqueue a received message. This method is thread safe

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

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

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

Implemented in ISDNQ931CallMonitor, ISDNQ931Call, and SS7ISUPCall.

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().

bool overlapDialing ( ) const [inline]

Check if this call is in overlapped send/recv state

Returns:
True if this call is expecting more digits to be sent/received
virtual bool sendEvent ( SignallingEvent event) [inline, virtual]

Send an event to this call

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

Reimplemented in ISDNQ931Call, and SS7ISUPCall.

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
void userdata ( void *  data) [inline]

Set this call's private user data

Parameters:
dataNew user data
void* userdata ( ) const [inline]

Retreive the private user data of this call

Returns:
User data

Member Data Documentation

Last event generated by this call. Used to serialize events

bool m_overlap [protected]

Call is in overlapped send/recv state


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