Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

H323Transactor Class Reference

#include <h323trans.h>

Inheritance diagram for H323Transactor:

H225_RAS H323_AnnexG H323Gatekeeper H323GatekeeperListener H323PeerElement List of all members.

Public Member Functions

Construction
 H323Transactor (H323EndPoint &endpoint, H323Transport *transport, WORD localPort, WORD remotePort)
 H323Transactor (H323EndPoint &endpoint, const H323TransportAddress &iface, WORD localPort, WORD remotePort)
 ~H323Transactor ()
Overrides from PObject
void PrintOn (ostream &strm) const
new operations
BOOL SetTransport (const H323TransportAddress &iface)
H323TransportAddressArray GetInterfaceAddresses (BOOL excludeLocalHost=TRUE, H323Transport *associatedTransport=NULL)
virtual BOOL StartChannel ()
virtual void StopChannel ()
virtual H323TransactionPDUCreateTransactionPDU () const =0
virtual BOOL HandleTransaction (const PASN_Object &rawPDU)=0
virtual void OnSendingPDU (PASN_Object &rawPDU)=0
virtual BOOL WritePDU (H323TransactionPDU &pdu)
virtual BOOL WriteTo (H323TransactionPDU &pdu, const H323TransportAddressArray &addresses, BOOL callback=TRUE)
Member variable access
H323EndPointGetEndPoint () const
H323TransportGetTransport () const
void SetCheckResponseCryptoTokens (BOOL value)
BOOL GetCheckResponseCryptoTokens ()

Protected Member Functions

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

Protected Attributes

H323EndPointendpoint
WORD defaultLocalPort
WORD defaultRemotePort
H323Transporttransport
BOOL 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.


Member Function Documentation

void H323Transactor::AgeResponses  )  [protected]
 

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

BOOL H323Transactor::CheckForResponse unsigned  ,
unsigned  ,
const PASN_Choice *  = NULL
[protected]
 

void H323Transactor::Construct  )  [protected]
 

Reimplemented in H323_AnnexG, and H323PeerElement.

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

Create the transaction PDU for reading.

Implemented in H225_RAS, and H323_AnnexG.

BOOL H323Transactor::GetCheckResponseCryptoTokens  )  [inline]
 

Get flag to check all crypto tokens on responses.

H323EndPoint& H323Transactor::GetEndPoint  )  const [inline]
 

Get the gatekeepers associated endpoint.

H323TransportAddressArray H323Transactor::GetInterfaceAddresses BOOL  excludeLocalHost = TRUE,
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

unsigned H323Transactor::GetNextSequenceNumber  )  [protected]
 

H323Transport& H323Transactor::GetTransport  )  const [inline]
 

Get the gatekeepers transport channel.

BOOL H323Transactor::HandleRequestInProgress const H323TransactionPDU pdu,
unsigned  delay
[protected]
 

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

Handle and dispatch a transaction PDU

Implemented in H225_RAS, and H323_AnnexG.

virtual BOOL H323Transactor::MakeRequest Request request  )  [protected, virtual]
 

Reimplemented in H323Gatekeeper.

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

Allow for modifications to PDU on send.

Implemented in H225_RAS, and H323_AnnexG.

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

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.

BOOL H323Transactor::SendCachedResponse const H323TransactionPDU pdu  )  [protected]
 

void H323Transactor::SetCheckResponseCryptoTokens BOOL  value  )  [inline]
 

Set flag to check all crypto tokens on responses.

Parameters:
value  New value for checking crypto tokens.

BOOL H323Transactor::SetTransport const H323TransportAddress iface  ) 
 

Set a new transport for use by the transactor.

Parameters:
iface  Local interface for transport

BOOL H323Transactor::SetUpCallSignalAddresses H225_ArrayOf_TransportAddress addresses  )  [protected]
 

virtual BOOL 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 BOOL H323Transactor::WritePDU H323TransactionPDU pdu  )  [virtual]
 

Write PDU to transport after executing callback.

virtual BOOL H323Transactor::WriteTo H323TransactionPDU pdu,
const H323TransportAddressArray &  addresses,
BOOL  callback = TRUE
[virtual]
 

Write PDU to transport after executing callback.


Member Data Documentation

BOOL H323Transactor::checkResponseCryptoTokens [protected]
 

WORD H323Transactor::defaultLocalPort [protected]
 

WORD H323Transactor::defaultRemotePort [protected]
 

H323EndPoint& H323Transactor::endpoint [protected]
 

Request* H323Transactor::lastRequest [protected]
 

unsigned H323Transactor::nextSequenceNumber [protected]
 

PMutex H323Transactor::nextSequenceNumberMutex [protected]
 

PMutex H323Transactor::pduWriteMutex [protected]
 

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

PMutex H323Transactor::requestsMutex [protected]
 

PSortedList<Response> H323Transactor::responses [protected]
 

H323Transport* H323Transactor::transport [protected]
 


The documentation for this class was generated from the following file:
Generated on Fri Jun 16 09:22:57 2006 for OPAL by  doxygen 1.4.2