//
// cisco.h
//
// Code automatically generated by asnparse.
//

#if ! H323_DISABLE_CISCO

#ifndef __CISCO_H
#define __CISCO_H

#ifdef P_USE_PRAGMA
#pragma interface
#endif

#include <ptclib/asner.h>

#include "h225.h"


//
// ArrayOf_AliasAddress
//

class H225_AliasAddress;

class Cisco_ArrayOf_AliasAddress : public PASN_Array
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(Cisco_ArrayOf_AliasAddress, PASN_Array);
#endif
  public:
    Cisco_ArrayOf_AliasAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);

    PASN_Object * CreateObject() const;
    H225_AliasAddress & operator[](PINDEX i) const;
    PObject * Clone() const;
};


//
// ARQnonStandardInfo
//

class Cisco_ARQnonStandardInfo : public PASN_Sequence
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(Cisco_ARQnonStandardInfo, PASN_Sequence);
#endif
  public:
    Cisco_ARQnonStandardInfo(unsigned tag = 2, TagClass tagClass = ContextSpecificTagClass);

    enum OptionalFields {
      e_redirectIEinfo,
      e_callingOctet3a,
      e_displayInformationElement,
      e_interfaceSpecificBillingId,
      e_interfaceDescription
    };

    Cisco_ArrayOf_AliasAddress m_sourceAlias;
    Cisco_ArrayOf_AliasAddress m_sourceExtAlias;
    PASN_Integer m_redirectIEinfo;
    PASN_Integer m_callingOctet3a;
    PASN_IA5String m_displayInformationElement;
    PASN_IA5String m_interfaceSpecificBillingId;
    PASN_IA5String m_interfaceDescription;

    PINDEX GetDataLength() const;
    BOOL Decode(PASN_Stream & strm);
    void Encode(PASN_Stream & strm) const;
#ifndef PASN_NOPRINTON
    void PrintOn(ostream & strm) const;
#endif
    Comparison Compare(const PObject & obj) const;
    PObject * Clone() const;
};


//
// LRQnonStandardInfo
//

class Cisco_LRQnonStandardInfo : public PASN_Sequence
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(Cisco_LRQnonStandardInfo, PASN_Sequence);
#endif
  public:
    Cisco_LRQnonStandardInfo(unsigned tag = 4, TagClass tagClass = ContextSpecificTagClass);

    enum OptionalFields {
      e_callIdentifier,
      e_redirectIEinfo,
      e_callingOctet3a,
      e_gatewaySrcInfo,
      e_displayInformationElement
    };

    PASN_Integer m_ttl;
    H225_CallIdentifier m_callIdentifier;
    PASN_Integer m_redirectIEinfo;
    PASN_Integer m_callingOctet3a;
    Cisco_ArrayOf_AliasAddress m_gatewaySrcInfo;
    PASN_IA5String m_displayInformationElement;

    PINDEX GetDataLength() const;
    BOOL Decode(PASN_Stream & strm);
    void Encode(PASN_Stream & strm) const;
#ifndef PASN_NOPRINTON
    void PrintOn(ostream & strm) const;
#endif
    Comparison Compare(const PObject & obj) const;
    PObject * Clone() const;
};


#endif // __CISCO_H

#endif // if ! H323_DISABLE_CISCO


// End of cisco.h


syntax highlighted by Code2HTML, v. 0.9.1