H450xDispatcher Class Reference

List of all members.

Public Member Functions

 H450xDispatcher (H323Connection &connection)
void AddOpCode (unsigned opcode, H450xHandler *handler)
virtual void AttachToSetup (H323SignalPDU &pdu)
virtual void AttachToAlerting (H323SignalPDU &pdu)
virtual void AttachToConnect (H323SignalPDU &pdu)
virtual void AttachToReleaseComplete (H323SignalPDU &pdu)
virtual BOOL HandlePDU (const H323SignalPDU &pdu)
virtual BOOL OnReceivedInvoke (X880_Invoke &invoke, H4501_InterpretationApdu &interpretation)
virtual BOOL OnReceivedReturnResult (X880_ReturnResult &returnResult)
virtual BOOL OnReceivedReturnError (X880_ReturnError &returnError)
virtual BOOL OnReceivedReject (X880_Reject &reject)
void SendReturnError (int invokeId, int returnError)
void SendGeneralReject (int invokeId, int problem)
void SendInvokeReject (int invokeId, int problem)
void SendReturnResultReject (int invokeId, int problem)
void SendReturnErrorReject (int invokeId, int problem)
unsigned GetNextInvokeId () const

Protected Attributes

H323Connectionconnection
H450xHandlerList handlers
H450xHandlerDict opcodeHandler
unsigned nextInvokeId
 Next available invoke ID for H450 operations.

Detailed Description

Definition at line 222 of file h450pdu.h.


Member Function Documentation

void H450xDispatcher::AddOpCode ( unsigned  opcode,
H450xHandler handler 
)

Add a handler for the op code.

Definition at line 455 of file h450pdu.cxx.

References handlers, and opcodeHandler.

Referenced by H45011Handler::H45011Handler(), H4502Handler::H4502Handler(), H4503Handler::H4503Handler(), H4504Handler::H4504Handler(), and H4506Handler::H4506Handler().

BOOL H450xDispatcher::HandlePDU ( const H323SignalPDU pdu  )  [virtual]

Handle the H.450.x Supplementary Service PDU if present in the H225_H323_UU_PDU

Definition at line 495 of file h450pdu.cxx.

References X880_ROS::e_invoke, X880_ROS::e_reject, X880_ROS::e_returnError, X880_ROS::e_returnResult, H4501_ServiceApdus::e_rosApdus, H225_H323_UserInformation::m_h323_uu_pdu, H225_H323_UU_PDU::m_h4501SupplementaryService, OnReceivedInvoke(), OnReceivedReject(), OnReceivedReturnError(), and OnReceivedReturnResult().

Referenced by H323Connection::HandleSignalPDU().

BOOL H450xDispatcher::OnReceivedInvoke ( X880_Invoke invoke,
H4501_InterpretationApdu interpretation 
) [virtual]

Handle an incoming X880 Invoke PDU. The default behaviour is to attempt to decode the invoke operation and call the corresponding OnReceived<Operation> method on the EndPoint.

Definition at line 548 of file h450pdu.cxx.

References X880_Invoke::e_argument, H4501_InterpretationApdu::e_clearCallIfAnyInvokePduNotRecognized, H4501_InterpretationApdu::e_discardAnyUnrecognizedInvokePdu, X880_Invoke::e_linkedId, X880_Code::e_local, X880_Invoke::m_argument, X880_Invoke::m_invokeId, X880_Invoke::m_linkedId, X880_Invoke::m_opcode, opcodeHandler, and SendInvokeReject().

Referenced by HandlePDU().

BOOL H450xDispatcher::OnReceivedReturnResult ( X880_ReturnResult returnResult  )  [virtual]

Handle an incoming X880 Return Result PDU. The default behaviour is to attempt to match the return result to a previous invoke operation and call the corresponding OnReceived<Operation>Success method on the EndPoint.

Definition at line 590 of file h450pdu.cxx.

References handlers, and X880_ReturnResult::m_invokeId.

Referenced by HandlePDU().

BOOL H450xDispatcher::OnReceivedReturnError ( X880_ReturnError returnError  )  [virtual]

Handle an incoming X880 Return Error PDU. The default behaviour is to attempt to match the return error to a previous invoke operation and call the corresponding OnReceived<Operation>Error method on the EndPoint.

Definition at line 604 of file h450pdu.cxx.

References X880_Code::e_local, handlers, X880_ReturnError::m_errorCode, and X880_ReturnError::m_invokeId.

Referenced by HandlePDU().

BOOL H450xDispatcher::OnReceivedReject ( X880_Reject reject  )  [virtual]

Handle an incoming X880 Reject PDU. The default behaviour is to attempt to match the reject to a previous invoke, return result or return error operation and call OnReceived<Operation>Reject method on the EndPoint.

Definition at line 623 of file h450pdu.cxx.

References X880_Reject_problem::e_general, X880_Reject_problem::e_invoke, X880_Reject_problem::e_returnError, X880_Reject_problem::e_returnResult, handlers, X880_Reject::m_invokeId, and X880_Reject::m_problem.

Referenced by HandlePDU().

void H450xDispatcher::SendReturnError ( int  invokeId,
int  returnError 
)

Send a return error in response to an invoke operation.

Definition at line 672 of file h450pdu.cxx.

References H450ServiceAPDU::BuildReturnError(), connection, and H450ServiceAPDU::WriteFacilityPDU().

Referenced by H450xHandler::SendReturnError().

unsigned H450xDispatcher::GetNextInvokeId (  )  const [inline]

Get the next available invoke Id for H450 operations

Definition at line 300 of file h450pdu.h.

References nextInvokeId.

Referenced by H45011Handler::AttachToAlerting(), H4506Handler::AttachToAlerting(), H45011Handler::AttachToConnect(), H45011Handler::AttachToSetup(), H4502Handler::AttachToSetup(), H4502Handler::ConsultationTransfer(), H45011Handler::GetRemoteCallIntrusionProtectionLevel(), H4504Handler::HoldCall(), H45011Handler::OnReceivedCIGetCIPLResult(), H4502Handler::OnReceivedIdentifyReturnError(), H4502Handler::OnReceivedInitiateReturnError(), H4504Handler::RetrieveCall(), and H4502Handler::TransferCall().


The documentation for this class was generated from the following files:
Generated on Thu Oct 25 13:45:47 2007 for h323plus by  doxygen 1.5.2