www.pudn.com > openh323-v1_15_1-src.zip > h323annexg.h


/* 
 * h323annexg.h 
 * 
 * Implementation of H.323 Annex G using H.501 
 * 
 * Open H323 Library 
 * 
 * Copyright (c) 2003 Equivalence Pty. Ltd. 
 * 
 * The contents of this file are subject to the Mozilla Public License 
 * Version 1.0 (the "License"); you may not use this file except in 
 * compliance with the License. You may obtain a copy of the License at 
 * http://www.mozilla.org/MPL/ 
 * 
 * Software distributed under the License is distributed on an "AS IS" 
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 
 * the License for the specific language governing rights and limitations 
 * under the License. 
 * 
 * The Original Code is Open H323 Library. 
 * 
 * The Initial Developer of the Original Code is Equivalence Pty. Ltd. 
 * 
 * Contributor(s): ______________________________________. 
 */ 
 
#ifndef __OPAL_H323ANNEXG_H 
#define __OPAL_H323ANNEXG_H 
 
#ifdef P_USE_PRAGMA 
#pragma interface 
#endif 
 
#include "h323trans.h" 
#include "h501pdu.h" 
 
class PASN_Sequence; 
class PASN_Choice; 
 
class H323EndPoint; 
 
/////////////////////////////////////////////////////////////////////////////// 
 
/**This class embodies the H.323 Annex G using the H.501 protocol  
  */ 
class H323_AnnexG : public H323Transactor 
{ 
  PCLASSINFO(H323_AnnexG, H323Transactor); 
  public: 
  /**@name Construction */ 
  //@{ 
    enum { 
      DefaultUdpPort = 2099, 
      DefaultTcpPort = 2099 
    }; 
 
    /**Create a new protocol handler. 
     */ 
    H323_AnnexG( 
      H323EndPoint & endpoint,  /// Endpoint gatekeeper is associated with. 
      H323Transport * transport /// Transport over which gatekeepers communicates. 
    ); 
    H323_AnnexG( 
      H323EndPoint & endpoint,           /// Endpoint gatekeeper is associated with. 
      const H323TransportAddress & addr /// Transport over which gatekeepers communicates. 
    ); 
 
    /**Destroy protocol handler. 
     */ 
    ~H323_AnnexG(); 
  //@} 
 
  /**@name Overrides from PObject */ 
  //@{ 
    /**Print the name of the gatekeeper. 
      */ 
    void PrintOn( 
      ostream & strm    /// Stream to print to. 
    ) const; 
  //@} 
 
  /**@name Overrides from H323Transactor */ 
  //@{ 
    /**Create the transaction PDU for reading. 
      */ 
    virtual H323TransactionPDU * CreateTransactionPDU() const; 
 
    /**Handle and dispatch a transaction PDU 
      */ 
    virtual BOOL HandleTransaction( 
      const PASN_Object & rawPDU 
    ); 
 
    /**Allow for modifications to PDU on send. 
      */ 
    virtual void OnSendingPDU( 
      PASN_Object & rawPDU 
    ); 
  //@} 
 
  /**@name Protocol callbacks */ 
  //@{ 
    virtual BOOL OnReceiveServiceRequest              (const H501PDU & pdu, const H501_ServiceRequest & pduBody); 
    virtual BOOL OnReceiveServiceConfirmation         (const H501PDU & pdu, const H501_ServiceConfirmation & pduBody); 
    virtual BOOL OnReceiveServiceRejection            (const H501PDU & pdu, const H501_ServiceRejection & pduBody); 
    virtual BOOL OnReceiveServiceRelease              (const H501PDU & pdu, const H501_ServiceRelease & pduBody); 
    virtual BOOL OnReceiveDescriptorRequest           (const H501PDU & pdu, const H501_DescriptorRequest & pduBody); 
    virtual BOOL OnReceiveDescriptorConfirmation      (const H501PDU & pdu, const H501_DescriptorConfirmation & pduBody); 
    virtual BOOL OnReceiveDescriptorRejection         (const H501PDU & pdu, const H501_DescriptorRejection & pduBody); 
    virtual BOOL OnReceiveDescriptorIDRequest         (const H501PDU & pdu, const H501_DescriptorIDRequest & pduBody); 
    virtual BOOL OnReceiveDescriptorIDConfirmation    (const H501PDU & pdu, const H501_DescriptorIDConfirmation & pduBody); 
    virtual BOOL OnReceiveDescriptorIDRejection       (const H501PDU & pdu, const H501_DescriptorIDRejection & pduBody); 
    virtual BOOL OnReceiveDescriptorUpdate            (const H501PDU & pdu, const H501_DescriptorUpdate & pduBody); 
    virtual BOOL OnReceiveDescriptorUpdateACK         (const H501PDU & pdu, const H501_DescriptorUpdateAck & pduBody); 
    virtual BOOL OnReceiveAccessRequest               (const H501PDU & pdu, const H501_AccessRequest & pduBody); 
    virtual BOOL OnReceiveAccessConfirmation          (const H501PDU & pdu, const H501_AccessConfirmation & pduBody); 
    virtual BOOL OnReceiveAccessRejection             (const H501PDU & pdu, const H501_AccessRejection & pduBody); 
    virtual BOOL OnReceiveRequestInProgress           (const H501PDU & pdu, const H501_RequestInProgress & pduBody); 
    virtual BOOL OnReceiveNonStandardRequest          (const H501PDU & pdu, const H501_NonStandardRequest & pduBody); 
    virtual BOOL OnReceiveNonStandardConfirmation     (const H501PDU & pdu, const H501_NonStandardConfirmation & pduBody); 
    virtual BOOL OnReceiveNonStandardRejection        (const H501PDU & pdu, const H501_NonStandardRejection & pduBody); 
    virtual BOOL OnReceiveUnknownMessageResponse      (const H501PDU & pdu, const H501_UnknownMessageResponse & pduBody); 
    virtual BOOL OnReceiveUsageRequest                (const H501PDU & pdu, const H501_UsageRequest & pduBody); 
    virtual BOOL OnReceiveUsageConfirmation           (const H501PDU & pdu, const H501_UsageConfirmation & pduBody); 
    virtual BOOL OnReceiveUsageIndicationConfirmation (const H501PDU & pdu, const H501_UsageIndicationConfirmation & pduBody); 
    virtual BOOL OnReceiveUsageIndicationRejection    (const H501PDU & pdu, const H501_UsageIndicationRejection & pduBody); 
    virtual BOOL OnReceiveUsageRejection              (const H501PDU & pdu, const H501_UsageRejection & pduBody); 
    virtual BOOL OnReceiveValidationRequest           (const H501PDU & pdu, const H501_ValidationRequest & pduBody); 
    virtual BOOL OnReceiveValidationConfirmation      (const H501PDU & pdu, const H501_ValidationConfirmation & pduBody); 
    virtual BOOL OnReceiveValidationRejection         (const H501PDU & pdu, const H501_ValidationRejection & pduBody); 
    virtual BOOL OnReceiveAuthenticationRequest       (const H501PDU & pdu, const H501_AuthenticationRequest & pduBody); 
    virtual BOOL OnReceiveAuthenticationConfirmation  (const H501PDU & pdu, const H501_AuthenticationConfirmation & pduBody); 
    virtual BOOL OnReceiveAuthenticationRejection     (const H501PDU & pdu, const H501_AuthenticationRejection & pduBody); 
    virtual BOOL OnReceiveUnknown(const H501PDU &); 
 
  protected: 
    void Construct(); 
}; 
 
 
#endif // __OPAL_H323ANNEXG_H 
 
 
/////////////////////////////////////////////////////////////////////////////