H323Transactor Class Reference

#include <h323trans.h>

Inheritance diagram for H323Transactor:

H225_RAS H323_AnnexG H323Gatekeeper H323GatekeeperListener H323PeerElement List of all members.

Public Member Functions

Overrides from PObject
void PrintOn (ostream &strm) const
new operations
PBoolean SetTransport (const H323TransportAddress &iface)
H323TransportAddressArray GetInterfaceAddresses (PBoolean excludeLocalHost=PTrue, H323Transport *associatedTransport=NULL)
virtual PBoolean StartChannel ()
virtual void StopChannel ()
virtual H323TransactionPDUCreateTransactionPDU () const=0
virtual PBoolean HandleTransaction (const PASN_Object &rawPDU)=0
virtual void OnSendingPDU (PASN_Object &rawPDU)=0
virtual PBoolean WritePDU (H323TransactionPDU &pdu)
virtual PBoolean WriteTo (H323TransactionPDU &pdu, const H323TransportAddressArray &addresses, PBoolean callback=PTrue)
Member variable access
H323EndPointGetEndPoint () const
H323TransportGetTransport () const
void SetCheckResponseCryptoTokens (PBoolean value)
PBoolean GetCheckResponseCryptoTokens ()

Protected Member Functions

void Construct ()
unsigned GetNextSequenceNumber ()
PBoolean SetUpCallSignalAddresses (H225_ArrayOf_TransportAddress &addresses)
 PDECLARE_NOTIFIER (PThread, H323Transactor, HandleTransactions)
virtual PBoolean MakeRequest (Request &request)
PBoolean CheckForResponse (unsigned, unsigned, const PASN_Choice *=NULL)
PBoolean HandleRequestInProgress (const H323TransactionPDU &pdu, unsigned delay)
PBoolean CheckCryptoTokens (const H323TransactionPDU &pdu, const PASN_Array &clearTokens, unsigned clearOptionalField, const PASN_Array &cryptoTokens, unsigned cryptoOptionalField)
void AgeResponses ()
PBoolean SendCachedResponse (const H323TransactionPDU &pdu)

Protected Attributes

H323EndPointendpoint
WORD defaultLocalPort
WORD defaultRemotePort
H323Transporttransport
PBoolean checkResponseCryptoTokens
unsigned nextSequenceNumber
PMutex nextSequenceNumberMutex
PDictionary< POrdinalKey,
Request
requests
PMutex requestsMutex
RequestlastRequest
PMutex pduWriteMutex
PSortedList< Responseresponses

Classes

class  Request
class  Response

Constructor & Destructor Documentation

H323Transactor::H323Transactor ( H323EndPoint endpoint,
H323Transport transport,
WORD  localPort,
WORD  remotePort 
)

Create a new protocol handler.

Parameters:
endpoint  Endpoint gatekeeper is associated with.
transport  Transport over which to communicate.
localPort  Local port to listen on
remotePort  Remote port to connect on

H323Transactor::H323Transactor ( H323EndPoint endpoint,
const H323TransportAddress iface,
WORD  localPort,
WORD  remotePort 
)

Parameters:
endpoint  Endpoint gatekeeper is associated with.
iface  Local interface over which to communicate.
localPort  Local port to listen on
remotePort  Remote port to connect on

H323Transactor::~H323Transactor (  ) 

Destroy protocol handler.

H323Transactor::H323Transactor ( H323EndPoint endpoint,
H323Transport transport,
WORD  localPort,
WORD  remotePort 
)

Create a new protocol handler.

Parameters:
endpoint  Endpoint gatekeeper is associated with.
transport  Transport over which to communicate.
localPort  Local port to listen on
remotePort  Remote port to connect on

H323Transactor::H323Transactor ( H323EndPoint endpoint,
const H323TransportAddress iface,
WORD  localPort,
WORD  remotePort 
)

Parameters:
endpoint  Endpoint gatekeeper is associated with.
iface  Local interface over which to communicate.
localPort  Local port to listen on
remotePort  Remote port to connect on

H323Transactor::~H323Transactor (  ) 

Destroy protocol handler.


Member Function Documentation

void H323Transactor::PrintOn ( ostream &  strm  )  const

Print the name of the gatekeeper.

Parameters:
strm  Stream to print to.

Reimplemented in H225_RAS, H323_AnnexG, and H323PeerElement.

PBoolean H323Transactor::SetTransport ( const H323TransportAddress iface  ) 

Set a new transport for use by the transactor.

Parameters:
iface  Local interface for transport

H323TransportAddressArray H323Transactor::GetInterfaceAddresses ( PBoolean  excludeLocalHost = PTrue,
H323Transport associatedTransport = NULL 
)

Return the list of addresses used for this peer element

Parameters:
excludeLocalHost  Flag to exclude 127.0.0.1
associatedTransport  Associated transport for precedence and translation

virtual PBoolean H323Transactor::StartChannel (  )  [virtual]

Start the channel processing transactions

virtual void H323Transactor::StopChannel (  )  [virtual]

Stop the channel processing transactions. Must be called in each descendants destructor.

virtual H323TransactionPDU* H323Transactor::CreateTransactionPDU (  )  const [pure virtual]

Create the transaction PDU for reading.

Implemented in H225_RAS, and H323_AnnexG.

virtual PBoolean H323Transactor::HandleTransaction ( const PASN_Object &  rawPDU  )  [pure virtual]

Handle and dispatch a transaction PDU

Implemented in H225_RAS, and H323_AnnexG.

virtual void H323Transactor::OnSendingPDU ( PASN_Object &  rawPDU  )  [pure virtual]

Allow for modifications to PDU on send.

Implemented in H225_RAS, and H323_AnnexG.

virtual PBoolean H323Transactor::WritePDU ( H323TransactionPDU pdu  )  [virtual]

Write PDU to transport after executing callback.

virtual PBoolean H323Transactor::WriteTo ( H323TransactionPDU pdu,
const H323TransportAddressArray &  addresses,
PBoolean  callback = PTrue 
) [virtual]

Write PDU to transport after executing callback.

H323EndPoint& H323Transactor::GetEndPoint (  )  const [inline]

Get the gatekeepers associated endpoint.

H323Transport& H323Transactor::GetTransport (  )  const [inline]

Get the gatekeepers transport channel.

void H323Transactor::SetCheckResponseCryptoTokens ( PBoolean  value  )  [inline]

Set flag to check all crypto tokens on responses.

Parameters:
value  New value for checking crypto tokens.

PBoolean H323Transactor::GetCheckResponseCryptoTokens (  )  [inline]

Get flag to check all crypto tokens on responses.

void H323Transactor::Construct (  )  [protected]

Reimplemented in H323_AnnexG, and H323PeerElement.

unsigned H323Transactor::GetNextSequenceNumber (  )  [protected]

PBoolean H323Transactor::SetUpCallSignalAddresses ( H225_ArrayOf_TransportAddress addresses  )  [protected]

H323Transactor::PDECLARE_NOTIFIER ( PThread  ,
H323Transactor  ,
HandleTransactions   
) [protected]

virtual PBoolean H323Transactor::MakeRequest ( Request request  )  [protected, virtual]

PBoolean H323Transactor::CheckForResponse ( unsigned  ,
unsigned  ,
const PASN_Choice *  = NULL 
) [protected]

PBoolean H323Transactor::HandleRequestInProgress ( const H323TransactionPDU pdu,
unsigned  delay 
) [protected]

PBoolean H323Transactor::CheckCryptoTokens ( const H323TransactionPDU pdu,
const PASN_Array &  clearTokens,
unsigned  clearOptionalField,
const PASN_Array &  cryptoTokens,
unsigned  cryptoOptionalField 
) [protected]

void H323Transactor::AgeResponses (  )  [protected]

PBoolean H323Transactor::SendCachedResponse ( const H323TransactionPDU pdu  )  [protected]


Member Data Documentation

H323EndPoint& H323Transactor::endpoint [protected]

WORD H323Transactor::defaultLocalPort [protected]

WORD H323Transactor::defaultRemotePort [protected]

H323Transport* H323Transactor::transport [protected]

PBoolean H323Transactor::checkResponseCryptoTokens [protected]

unsigned H323Transactor::nextSequenceNumber [protected]

PMutex H323Transactor::nextSequenceNumberMutex [protected]

PDictionary<POrdinalKey, Request> H323Transactor::requests [protected]

PMutex H323Transactor::requestsMutex [protected]

Request* H323Transactor::lastRequest [protected]

PMutex H323Transactor::pduWriteMutex [protected]

PSortedList<Response> H323Transactor::responses [protected]


The documentation for this class was generated from the following file:
Generated on Mon Sep 15 11:49:33 2008 for OPAL by  doxygen 1.5.1