# h4508.h

Go to the documentation of this file.

    00001 //
    00002 // h4508.h
    00003 //
    00004 // Code automatically generated by asnparse.
    00005 //
    00006
    00007 #if ! H323_DISABLE_H4508
    00008
    00009 #ifndef __H4508_H
    00010 #define __H4508_H
    00011
    00012 #ifdef P_USE_PRAGMA
    00013 #pragma interface
    00014 #endif
    00015
    00016 #include <ptclib/asner.h>
    00017
    00018 #include "h4501.h"
    00019 #include "h4505.h"
    00020
    00021
    00022 //
    00023 // NameOperations
    00024 //
    00025
    00026 class H4508_NameOperations : public PASN_Enumeration
    00027 {
    00028 #ifndef PASN_LEANANDMEAN
    00029     PCLASSINFO(H4508_NameOperations, PASN_Enumeration);
    00030 #endif
    00031   public:
    00032     H4508_NameOperations(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
    00033
    00034     enum Enumerations {
    00035       e_callingName,
    00036       e_alertingName,
    00037       e_connectedName,
    00038       e_busyName
    00039     };
    00040
    00041     H4508_NameOperations & operator=(unsigned v);
    00042     PObject * Clone() const;
    00043 };
    00044
    00045
    00046 //
    00047 // Name
    00048 //
    00049
    00050 class H4508_NamePresentationAllowed;
    00051 class H4508_NamePresentationRestricted;
    00052
    00053 class H4508_Name : public PASN_Choice
    00054 {
    00055 #ifndef PASN_LEANANDMEAN
    00056     PCLASSINFO(H4508_Name, PASN_Choice);
    00057 #endif
    00058   public:
    00059     H4508_Name(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00060
    00061     enum Choices {
    00062       e_namePresentationAllowed,
    00063       e_namePresentationRestricted,
    00064       e_nameNotAvailable
    00065     };
    00066
    00067 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00068     operator H4508_NamePresentationAllowed &() const;
    00069 #else
    00070     operator H4508_NamePresentationAllowed &();
    00071     operator const H4508_NamePresentationAllowed &() const;
    00072 #endif
    00073 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00074     operator H4508_NamePresentationRestricted &() const;
    00075 #else
    00076     operator H4508_NamePresentationRestricted &();
    00077     operator const H4508_NamePresentationRestricted &() const;
    00078 #endif
    00079
    00080     PBoolean CreateObject();
    00081     PObject * Clone() const;
    00082 };
    00083
    00084
    00085 //
    00086 // NamePresentationAllowed
    00087 //
    00088
    00089 class H4508_SimpleName;
    00090 class H4508_ExtendedName;
    00091
    00092 class H4508_NamePresentationAllowed : public PASN_Choice
    00093 {
    00094 #ifndef PASN_LEANANDMEAN
    00095     PCLASSINFO(H4508_NamePresentationAllowed, PASN_Choice);
    00096 #endif
    00097   public:
    00098     H4508_NamePresentationAllowed(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00099
    00100     enum Choices {
    00101       e_simpleName,
    00102       e_extendedName
    00103     };
    00104
    00105 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00106     operator H4508_SimpleName &() const;
    00107 #else
    00108     operator H4508_SimpleName &();
    00109     operator const H4508_SimpleName &() const;
    00110 #endif
    00111 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00112     operator H4508_ExtendedName &() const;
    00113 #else
    00114     operator H4508_ExtendedName &();
    00115     operator const H4508_ExtendedName &() const;
    00116 #endif
    00117
    00118     PBoolean CreateObject();
    00119     PObject * Clone() const;
    00120 };
    00121
    00122
    00123 //
    00124 // NamePresentationRestricted
    00125 //
    00126
    00127 class H4508_SimpleName;
    00128 class H4508_ExtendedName;
    00129
    00130 class H4508_NamePresentationRestricted : public PASN_Choice
    00131 {
    00132 #ifndef PASN_LEANANDMEAN
    00133     PCLASSINFO(H4508_NamePresentationRestricted, PASN_Choice);
    00134 #endif
    00135   public:
    00136     H4508_NamePresentationRestricted(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00137
    00138     enum Choices {
    00139       e_simpleName,
    00140       e_extendedName,
    00141       e_restrictedNull
    00142     };
    00143
    00144 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00145     operator H4508_SimpleName &() const;
    00146 #else
    00147     operator H4508_SimpleName &();
    00148     operator const H4508_SimpleName &() const;
    00149 #endif
    00150 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00151     operator H4508_ExtendedName &() const;
    00152 #else
    00153     operator H4508_ExtendedName &();
    00154     operator const H4508_ExtendedName &() const;
    00155 #endif
    00156
    00157     PBoolean CreateObject();
    00158     PObject * Clone() const;
    00159 };
    00160
    00161
    00162 //
    00163 // SimpleName
    00164 //
    00165
    00166 class H4508_SimpleName : public PASN_OctetString
    00167 {
    00168 #ifndef PASN_LEANANDMEAN
    00169     PCLASSINFO(H4508_SimpleName, PASN_OctetString);
    00170 #endif
    00171   public:
    00172     H4508_SimpleName(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    00173
    00174     H4508_SimpleName(const char * v);
    00175     H4508_SimpleName(const PString & v);
    00176     H4508_SimpleName(const PBYTEArray & v);
    00177
    00178     H4508_SimpleName & operator=(const char * v);
    00179     H4508_SimpleName & operator=(const PString & v);
    00180     H4508_SimpleName & operator=(const PBYTEArray & v);
    00181     PObject * Clone() const;
    00182 };
    00183
    00184
    00185 //
    00186 // ExtendedName
    00187 //
    00188
    00189 class H4508_ExtendedName : public PASN_BMPString
    00190 {
    00191 #ifndef PASN_LEANANDMEAN
    00192     PCLASSINFO(H4508_ExtendedName, PASN_BMPString);
    00193 #endif
    00194   public:
    00195     H4508_ExtendedName(unsigned tag = UniversalBMPString, TagClass tagClass = UniversalTagClass);
    00196
    00197     H4508_ExtendedName & operator=(const char * v);
    00198     H4508_ExtendedName & operator=(const PString & v);
    00199     H4508_ExtendedName & operator=(const PWCharArray & v);
    00200     H4508_ExtendedName & operator=(const PASN_BMPString & v);
    00201     PObject * Clone() const;
    00202 };
    00203
    00204
    00205 #endif // __H4508_H
    00206
    00207 #endif // if ! H323_DISABLE_H4508
    00208
    00209
    00210 // End of h4508.h