00001
00002
00003
00004
00005
00006
00007 #ifdef P_SNMP
00008
00009 #ifndef __PRFC1155_H
00010 #define __PRFC1155_H
00011
00012 #ifdef P_USE_PRAGMA
00013 #pragma interface
00014 #endif
00015
00016 #include <ptclib/asner.h>
00017
00018
00019
00020
00021
00022 class PRFC1155_ObjectName : public PASN_ObjectId
00023 {
00024 #ifndef PASN_LEANANDMEAN
00025 PCLASSINFO(PRFC1155_ObjectName, PASN_ObjectId);
00026 #endif
00027 public:
00028 PRFC1155_ObjectName(unsigned tag = UniversalObjectId, TagClass tagClass = UniversalTagClass);
00029
00030 PObject * Clone() const;
00031 };
00032
00033
00034
00035
00036
00037
00038 class PRFC1155_SimpleSyntax;
00039 class PRFC1155_ApplicationSyntax;
00040
00041 class PRFC1155_ObjectSyntax : public PASN_Choice
00042 {
00043 #ifndef PASN_LEANANDMEAN
00044 PCLASSINFO(PRFC1155_ObjectSyntax, PASN_Choice);
00045 #endif
00046 public:
00047 PRFC1155_ObjectSyntax(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00048
00049 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00050 operator PRFC1155_SimpleSyntax &() const;
00051 #else
00052 operator PRFC1155_SimpleSyntax &();
00053 operator const PRFC1155_SimpleSyntax &() const;
00054 #endif
00055 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00056 operator PRFC1155_ApplicationSyntax &() const;
00057 #else
00058 operator PRFC1155_ApplicationSyntax &();
00059 operator const PRFC1155_ApplicationSyntax &() const;
00060 #endif
00061
00062 BOOL CreateObject();
00063 PObject * Clone() const;
00064 };
00065
00066
00067
00068
00069
00070
00071 class PRFC1155_SimpleSyntax : public PASN_Choice
00072 {
00073 #ifndef PASN_LEANANDMEAN
00074 PCLASSINFO(PRFC1155_SimpleSyntax, PASN_Choice);
00075 #endif
00076 public:
00077 PRFC1155_SimpleSyntax(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00078
00079 enum Choices {
00080 e_number = 2,
00081 e_string = 4,
00082 e_object = 6,
00083 e_empty = 5
00084 };
00085
00086 BOOL CreateObject();
00087 PObject * Clone() const;
00088 };
00089
00090
00091
00092
00093
00094
00095 class PRFC1155_NetworkAddress;
00096 class PRFC1155_Counter;
00097 class PRFC1155_Gauge;
00098 class PRFC1155_TimeTicks;
00099 class PRFC1155_Opaque;
00100
00101 class PRFC1155_ApplicationSyntax : public PASN_Choice
00102 {
00103 #ifndef PASN_LEANANDMEAN
00104 PCLASSINFO(PRFC1155_ApplicationSyntax, PASN_Choice);
00105 #endif
00106 public:
00107 PRFC1155_ApplicationSyntax(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00108
00109 enum Choices {
00110 e_counter = 1,
00111 e_gauge,
00112 e_ticks,
00113 e_arbitrary
00114 };
00115
00116 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00117 operator PRFC1155_NetworkAddress &() const;
00118 #else
00119 operator PRFC1155_NetworkAddress &();
00120 operator const PRFC1155_NetworkAddress &() const;
00121 #endif
00122 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00123 operator PRFC1155_Counter &() const;
00124 #else
00125 operator PRFC1155_Counter &();
00126 operator const PRFC1155_Counter &() const;
00127 #endif
00128 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00129 operator PRFC1155_Gauge &() const;
00130 #else
00131 operator PRFC1155_Gauge &();
00132 operator const PRFC1155_Gauge &() const;
00133 #endif
00134 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00135 operator PRFC1155_TimeTicks &() const;
00136 #else
00137 operator PRFC1155_TimeTicks &();
00138 operator const PRFC1155_TimeTicks &() const;
00139 #endif
00140 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00141 operator PRFC1155_Opaque &() const;
00142 #else
00143 operator PRFC1155_Opaque &();
00144 operator const PRFC1155_Opaque &() const;
00145 #endif
00146
00147 BOOL CreateObject();
00148 PObject * Clone() const;
00149 };
00150
00151
00152
00153
00154
00155
00156 class PRFC1155_IpAddress;
00157
00158 class PRFC1155_NetworkAddress : public PASN_Choice
00159 {
00160 #ifndef PASN_LEANANDMEAN
00161 PCLASSINFO(PRFC1155_NetworkAddress, PASN_Choice);
00162 #endif
00163 public:
00164 PRFC1155_NetworkAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00165
00166 enum Choices {
00167 e_internet
00168 };
00169
00170 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00171 operator PRFC1155_IpAddress &() const;
00172 #else
00173 operator PRFC1155_IpAddress &();
00174 operator const PRFC1155_IpAddress &() const;
00175 #endif
00176
00177 BOOL CreateObject();
00178 PObject * Clone() const;
00179 };
00180
00181
00182
00183
00184
00185
00186 class PRFC1155_IpAddress : public PASN_OctetString
00187 {
00188 #ifndef PASN_LEANANDMEAN
00189 PCLASSINFO(PRFC1155_IpAddress, PASN_OctetString);
00190 #endif
00191 public:
00192 PRFC1155_IpAddress(unsigned tag = 0, TagClass tagClass = ApplicationTagClass);
00193
00194 PRFC1155_IpAddress(const char * v);
00195 PRFC1155_IpAddress(const PString & v);
00196 PRFC1155_IpAddress(const PBYTEArray & v);
00197
00198 PRFC1155_IpAddress & operator=(const char * v);
00199 PRFC1155_IpAddress & operator=(const PString & v);
00200 PRFC1155_IpAddress & operator=(const PBYTEArray & v);
00201 PObject * Clone() const;
00202 };
00203
00204
00205
00206
00207
00208
00209 class PRFC1155_Counter : public PASN_Integer
00210 {
00211 #ifndef PASN_LEANANDMEAN
00212 PCLASSINFO(PRFC1155_Counter, PASN_Integer);
00213 #endif
00214 public:
00215 PRFC1155_Counter(unsigned tag = 1, TagClass tagClass = ApplicationTagClass);
00216
00217 PRFC1155_Counter & operator=(int v);
00218 PRFC1155_Counter & operator=(unsigned v);
00219 PObject * Clone() const;
00220 };
00221
00222
00223
00224
00225
00226
00227 class PRFC1155_Gauge : public PASN_Integer
00228 {
00229 #ifndef PASN_LEANANDMEAN
00230 PCLASSINFO(PRFC1155_Gauge, PASN_Integer);
00231 #endif
00232 public:
00233 PRFC1155_Gauge(unsigned tag = 2, TagClass tagClass = ApplicationTagClass);
00234
00235 PRFC1155_Gauge & operator=(int v);
00236 PRFC1155_Gauge & operator=(unsigned v);
00237 PObject * Clone() const;
00238 };
00239
00240
00241
00242
00243
00244
00245 class PRFC1155_TimeTicks : public PASN_Integer
00246 {
00247 #ifndef PASN_LEANANDMEAN
00248 PCLASSINFO(PRFC1155_TimeTicks, PASN_Integer);
00249 #endif
00250 public:
00251 PRFC1155_TimeTicks(unsigned tag = 3, TagClass tagClass = ApplicationTagClass);
00252
00253 PRFC1155_TimeTicks & operator=(int v);
00254 PRFC1155_TimeTicks & operator=(unsigned v);
00255 PObject * Clone() const;
00256 };
00257
00258
00259
00260
00261
00262
00263 class PRFC1155_Opaque : public PASN_OctetString
00264 {
00265 #ifndef PASN_LEANANDMEAN
00266 PCLASSINFO(PRFC1155_Opaque, PASN_OctetString);
00267 #endif
00268 public:
00269 PRFC1155_Opaque(unsigned tag = 4, TagClass tagClass = ApplicationTagClass);
00270
00271 PRFC1155_Opaque(const char * v);
00272 PRFC1155_Opaque(const PString & v);
00273 PRFC1155_Opaque(const PBYTEArray & v);
00274
00275 PRFC1155_Opaque & operator=(const char * v);
00276 PRFC1155_Opaque & operator=(const PString & v);
00277 PRFC1155_Opaque & operator=(const PBYTEArray & v);
00278 PObject * Clone() const;
00279 };
00280
00281
00282 #endif // __PRFC1155_H
00283
00284 #endif // if ! H323_DISABLE_PRFC1155
00285
00286
00287