# h248.h

Go to the documentation of this file.

    00001 //
    00002 // h248.h
    00003 //
    00004 // Code automatically generated by asnparse.
    00005 //
    00006
    00007 #if ! H323_DISABLE_H248
    00008
    00009 #ifndef __H248_H
    00010 #define __H248_H
    00011
    00012 #ifdef P_USE_PRAGMA
    00013 #pragma interface
    00014 #endif
    00015
    00016 #include <ptclib/asner.h>
    00017
    00018 //
    00019 // SecurityParmIndex
    00020 //
    00021
    00022 class H248_SecurityParmIndex : public PASN_OctetString
    00023 {
    00024 #ifndef PASN_LEANANDMEAN
    00025     PCLASSINFO(H248_SecurityParmIndex, PASN_OctetString);
    00026 #endif
    00027   public:
    00028     H248_SecurityParmIndex(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    00029
    00030     H248_SecurityParmIndex(const char * v);
    00031     H248_SecurityParmIndex(const PString & v);
    00032     H248_SecurityParmIndex(const PBYTEArray & v);
    00033
    00034     H248_SecurityParmIndex & operator=(const char * v);
    00035     H248_SecurityParmIndex & operator=(const PString & v);
    00036     H248_SecurityParmIndex & operator=(const PBYTEArray & v);
    00037     PObject * Clone() const;
    00038 };
    00039
    00040
    00041 //
    00042 // SequenceNum
    00043 //
    00044
    00045 class H248_SequenceNum : public PASN_OctetString
    00046 {
    00047 #ifndef PASN_LEANANDMEAN
    00048     PCLASSINFO(H248_SequenceNum, PASN_OctetString);
    00049 #endif
    00050   public:
    00051     H248_SequenceNum(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    00052
    00053     H248_SequenceNum(const char * v);
    00054     H248_SequenceNum(const PString & v);
    00055     H248_SequenceNum(const PBYTEArray & v);
    00056
    00057     H248_SequenceNum & operator=(const char * v);
    00058     H248_SequenceNum & operator=(const PString & v);
    00059     H248_SequenceNum & operator=(const PBYTEArray & v);
    00060     PObject * Clone() const;
    00061 };
    00062
    00063
    00064 //
    00065 // AuthData
    00066 //
    00067
    00068 class H248_AuthData : public PASN_OctetString
    00069 {
    00070 #ifndef PASN_LEANANDMEAN
    00071     PCLASSINFO(H248_AuthData, PASN_OctetString);
    00072 #endif
    00073   public:
    00074     H248_AuthData(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    00075
    00076     H248_AuthData(const char * v);
    00077     H248_AuthData(const PString & v);
    00078     H248_AuthData(const PBYTEArray & v);
    00079
    00080     H248_AuthData & operator=(const char * v);
    00081     H248_AuthData & operator=(const PString & v);
    00082     H248_AuthData & operator=(const PBYTEArray & v);
    00083     PObject * Clone() const;
    00084 };
    00085
    00086
    00087 //
    00088 // MId
    00089 //
    00090
    00091 class H248_IP4Address;
    00092 class H248_IP6Address;
    00093 class H248_DomainName;
    00094 class H248_PathName;
    00095
    00096 class H248_MId : public PASN_Choice
    00097 {
    00098 #ifndef PASN_LEANANDMEAN
    00099     PCLASSINFO(H248_MId, PASN_Choice);
    00100 #endif
    00101   public:
    00102     H248_MId(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00103
    00104     enum Choices {
    00105       e_ip4Address,
    00106       e_ip6Address,
    00107       e_domainName,
    00108       e_deviceName,
    00109       e_mtpAddress
    00110     };
    00111
    00112 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00113     operator H248_IP4Address &() const;
    00114 #else
    00115     operator H248_IP4Address &();
    00116     operator const H248_IP4Address &() const;
    00117 #endif
    00118 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00119     operator H248_IP6Address &() const;
    00120 #else
    00121     operator H248_IP6Address &();
    00122     operator const H248_IP6Address &() const;
    00123 #endif
    00124 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00125     operator H248_DomainName &() const;
    00126 #else
    00127     operator H248_DomainName &();
    00128     operator const H248_DomainName &() const;
    00129 #endif
    00130 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00131     operator H248_PathName &() const;
    00132 #else
    00133     operator H248_PathName &();
    00134     operator const H248_PathName &() const;
    00135 #endif
    00136
    00137     PBoolean CreateObject();
    00138     PObject * Clone() const;
    00139 };
    00140
    00141
    00142 //
    00143 // DomainName
    00144 //
    00145
    00146 class H248_DomainName : public PASN_Sequence
    00147 {
    00148 #ifndef PASN_LEANANDMEAN
    00149     PCLASSINFO(H248_DomainName, PASN_Sequence);
    00150 #endif
    00151   public:
    00152     H248_DomainName(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00153
    00154     enum OptionalFields {
    00155       e_portNumber
    00156     };
    00157
    00158     PASN_IA5String m_name;
    00159     PASN_Integer m_portNumber;
    00160
    00161     PINDEX GetDataLength() const;
    00162     PBoolean Decode(PASN_Stream & strm);
    00163     void Encode(PASN_Stream & strm) const;
    00164 #ifndef PASN_NOPRINTON
    00165     void PrintOn(ostream & strm) const;
    00166 #endif
    00167     Comparison Compare(const PObject & obj) const;
    00168     PObject * Clone() const;
    00169 };
    00170
    00171
    00172 //
    00173 // IP4Address
    00174 //
    00175
    00176 class H248_IP4Address : public PASN_Sequence
    00177 {
    00178 #ifndef PASN_LEANANDMEAN
    00179     PCLASSINFO(H248_IP4Address, PASN_Sequence);
    00180 #endif
    00181   public:
    00182     H248_IP4Address(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00183
    00184     enum OptionalFields {
    00185       e_portNumber
    00186     };
    00187
    00188     PASN_OctetString m_address;
    00189     PASN_Integer m_portNumber;
    00190
    00191     PINDEX GetDataLength() const;
    00192     PBoolean Decode(PASN_Stream & strm);
    00193     void Encode(PASN_Stream & strm) const;
    00194 #ifndef PASN_NOPRINTON
    00195     void PrintOn(ostream & strm) const;
    00196 #endif
    00197     Comparison Compare(const PObject & obj) const;
    00198     PObject * Clone() const;
    00199 };
    00200
    00201
    00202 //
    00203 // IP6Address
    00204 //
    00205
    00206 class H248_IP6Address : public PASN_Sequence
    00207 {
    00208 #ifndef PASN_LEANANDMEAN
    00209     PCLASSINFO(H248_IP6Address, PASN_Sequence);
    00210 #endif
    00211   public:
    00212     H248_IP6Address(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00213
    00214     enum OptionalFields {
    00215       e_portNumber
    00216     };
    00217
    00218     PASN_OctetString m_address;
    00219     PASN_Integer m_portNumber;
    00220
    00221     PINDEX GetDataLength() const;
    00222     PBoolean Decode(PASN_Stream & strm);
    00223     void Encode(PASN_Stream & strm) const;
    00224 #ifndef PASN_NOPRINTON
    00225     void PrintOn(ostream & strm) const;
    00226 #endif
    00227     Comparison Compare(const PObject & obj) const;
    00228     PObject * Clone() const;
    00229 };
    00230
    00231
    00232 //
    00233 // PathName
    00234 //
    00235
    00236 class H248_PathName : public PASN_IA5String
    00237 {
    00238 #ifndef PASN_LEANANDMEAN
    00239     PCLASSINFO(H248_PathName, PASN_IA5String);
    00240 #endif
    00241   public:
    00242     H248_PathName(unsigned tag = UniversalIA5String, TagClass tagClass = UniversalTagClass);
    00243
    00244     H248_PathName & operator=(const char * v);
    00245     H248_PathName & operator=(const PString & v);
    00246     PObject * Clone() const;
    00247 };
    00248
    00249
    00250 //
    00251 // Transaction
    00252 //
    00253
    00254 class H248_TransactionRequest;
    00255 class H248_TransactionPending;
    00256 class H248_TransactionReply;
    00257 class H248_TransactionResponseAck;
    00258
    00259 class H248_Transaction : public PASN_Choice
    00260 {
    00261 #ifndef PASN_LEANANDMEAN
    00262     PCLASSINFO(H248_Transaction, PASN_Choice);
    00263 #endif
    00264   public:
    00265     H248_Transaction(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00266
    00267     enum Choices {
    00268       e_transactionRequest,
    00269       e_transactionPending,
    00270       e_transactionReply,
    00271       e_transactionResponseAck
    00272     };
    00273
    00274 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00275     operator H248_TransactionRequest &() const;
    00276 #else
    00277     operator H248_TransactionRequest &();
    00278     operator const H248_TransactionRequest &() const;
    00279 #endif
    00280 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00281     operator H248_TransactionPending &() const;
    00282 #else
    00283     operator H248_TransactionPending &();
    00284     operator const H248_TransactionPending &() const;
    00285 #endif
    00286 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00287     operator H248_TransactionReply &() const;
    00288 #else
    00289     operator H248_TransactionReply &();
    00290     operator const H248_TransactionReply &() const;
    00291 #endif
    00292 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00293     operator H248_TransactionResponseAck &() const;
    00294 #else
    00295     operator H248_TransactionResponseAck &();
    00296     operator const H248_TransactionResponseAck &() const;
    00297 #endif
    00298
    00299     PBoolean CreateObject();
    00300     PObject * Clone() const;
    00301 };
    00302
    00303
    00304 //
    00305 // TransactionId
    00306 //
    00307
    00308 class H248_TransactionId : public PASN_Integer
    00309 {
    00310 #ifndef PASN_LEANANDMEAN
    00311     PCLASSINFO(H248_TransactionId, PASN_Integer);
    00312 #endif
    00313   public:
    00314     H248_TransactionId(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    00315
    00316     H248_TransactionId & operator=(int v);
    00317     H248_TransactionId & operator=(unsigned v);
    00318     PObject * Clone() const;
    00319 };
    00320
    00321
    00322 //
    00323 // TransactionPending
    00324 //
    00325
    00326 class H248_TransactionPending : public PASN_Sequence
    00327 {
    00328 #ifndef PASN_LEANANDMEAN
    00329     PCLASSINFO(H248_TransactionPending, PASN_Sequence);
    00330 #endif
    00331   public:
    00332     H248_TransactionPending(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00333
    00334     H248_TransactionId m_transactionId;
    00335
    00336     PINDEX GetDataLength() const;
    00337     PBoolean Decode(PASN_Stream & strm);
    00338     void Encode(PASN_Stream & strm) const;
    00339 #ifndef PASN_NOPRINTON
    00340     void PrintOn(ostream & strm) const;
    00341 #endif
    00342     Comparison Compare(const PObject & obj) const;
    00343     PObject * Clone() const;
    00344 };
    00345
    00346
    00347 //
    00348 // TransactionResponseAck
    00349 //
    00350
    00351 class H248_TransactionAck;
    00352
    00353 class H248_TransactionResponseAck : public PASN_Array
    00354 {
    00355 #ifndef PASN_LEANANDMEAN
    00356     PCLASSINFO(H248_TransactionResponseAck, PASN_Array);
    00357 #endif
    00358   public:
    00359     H248_TransactionResponseAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00360
    00361     PASN_Object * CreateObject() const;
    00362     H248_TransactionAck & operator[](PINDEX i) const;
    00363     PObject * Clone() const;
    00364 };
    00365
    00366
    00367 //
    00368 // TransactionAck
    00369 //
    00370
    00371 class H248_TransactionAck : public PASN_Sequence
    00372 {
    00373 #ifndef PASN_LEANANDMEAN
    00374     PCLASSINFO(H248_TransactionAck, PASN_Sequence);
    00375 #endif
    00376   public:
    00377     H248_TransactionAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00378
    00379     enum OptionalFields {
    00380       e_lastAck
    00381     };
    00382
    00383     H248_TransactionId m_firstAck;
    00384     H248_TransactionId m_lastAck;
    00385
    00386     PINDEX GetDataLength() const;
    00387     PBoolean Decode(PASN_Stream & strm);
    00388     void Encode(PASN_Stream & strm) const;
    00389 #ifndef PASN_NOPRINTON
    00390     void PrintOn(ostream & strm) const;
    00391 #endif
    00392     Comparison Compare(const PObject & obj) const;
    00393     PObject * Clone() const;
    00394 };
    00395
    00396
    00397 //
    00398 // ErrorCode
    00399 //
    00400
    00401 class H248_ErrorCode : public PASN_Integer
    00402 {
    00403 #ifndef PASN_LEANANDMEAN
    00404     PCLASSINFO(H248_ErrorCode, PASN_Integer);
    00405 #endif
    00406   public:
    00407     H248_ErrorCode(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    00408
    00409     H248_ErrorCode & operator=(int v);
    00410     H248_ErrorCode & operator=(unsigned v);
    00411     PObject * Clone() const;
    00412 };
    00413
    00414
    00415 //
    00416 // ErrorText
    00417 //
    00418
    00419 class H248_ErrorText : public PASN_IA5String
    00420 {
    00421 #ifndef PASN_LEANANDMEAN
    00422     PCLASSINFO(H248_ErrorText, PASN_IA5String);
    00423 #endif
    00424   public:
    00425     H248_ErrorText(unsigned tag = UniversalIA5String, TagClass tagClass = UniversalTagClass);
    00426
    00427     H248_ErrorText & operator=(const char * v);
    00428     H248_ErrorText & operator=(const PString & v);
    00429     PObject * Clone() const;
    00430 };
    00431
    00432
    00433 //
    00434 // ContextID
    00435 //
    00436
    00437 class H248_ContextID : public PASN_Integer
    00438 {
    00439 #ifndef PASN_LEANANDMEAN
    00440     PCLASSINFO(H248_ContextID, PASN_Integer);
    00441 #endif
    00442   public:
    00443     H248_ContextID(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    00444
    00445     H248_ContextID & operator=(int v);
    00446     H248_ContextID & operator=(unsigned v);
    00447     PObject * Clone() const;
    00448 };
    00449
    00450
    00451 //
    00452 // ContextAttrAuditRequest
    00453 //
    00454
    00455 class H248_ContextAttrAuditRequest : public PASN_Sequence
    00456 {
    00457 #ifndef PASN_LEANANDMEAN
    00458     PCLASSINFO(H248_ContextAttrAuditRequest, PASN_Sequence);
    00459 #endif
    00460   public:
    00461     H248_ContextAttrAuditRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00462
    00463     enum OptionalFields {
    00464       e_topology,
    00465       e_emergency,
    00466       e_priority
    00467     };
    00468
    00469     PASN_Null m_topology;
    00470     PASN_Null m_emergency;
    00471     PASN_Null m_priority;
    00472
    00473     PINDEX GetDataLength() const;
    00474     PBoolean Decode(PASN_Stream & strm);
    00475     void Encode(PASN_Stream & strm) const;
    00476 #ifndef PASN_NOPRINTON
    00477     void PrintOn(ostream & strm) const;
    00478 #endif
    00479     Comparison Compare(const PObject & obj) const;
    00480     PObject * Clone() const;
    00481 };
    00482
    00483
    00484 //
    00485 // Command
    00486 //
    00487
    00488 class H248_AmmRequest;
    00489 class H248_SubtractRequest;
    00490 class H248_AuditRequest;
    00491 class H248_NotifyRequest;
    00492 class H248_ServiceChangeRequest;
    00493
    00494 class H248_Command : public PASN_Choice
    00495 {
    00496 #ifndef PASN_LEANANDMEAN
    00497     PCLASSINFO(H248_Command, PASN_Choice);
    00498 #endif
    00499   public:
    00500     H248_Command(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00501
    00502     enum Choices {
    00503       e_addReq,
    00504       e_moveReq,
    00505       e_modReq,
    00506       e_subtractReq,
    00507       e_auditCapRequest,
    00508       e_auditValueRequest,
    00509       e_notifyReq,
    00510       e_serviceChangeReq
    00511     };
    00512
    00513 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00514     operator H248_AmmRequest &() const;
    00515 #else
    00516     operator H248_AmmRequest &();
    00517     operator const H248_AmmRequest &() const;
    00518 #endif
    00519 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00520     operator H248_SubtractRequest &() const;
    00521 #else
    00522     operator H248_SubtractRequest &();
    00523     operator const H248_SubtractRequest &() const;
    00524 #endif
    00525 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00526     operator H248_AuditRequest &() const;
    00527 #else
    00528     operator H248_AuditRequest &();
    00529     operator const H248_AuditRequest &() const;
    00530 #endif
    00531 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00532     operator H248_NotifyRequest &() const;
    00533 #else
    00534     operator H248_NotifyRequest &();
    00535     operator const H248_NotifyRequest &() const;
    00536 #endif
    00537 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00538     operator H248_ServiceChangeRequest &() const;
    00539 #else
    00540     operator H248_ServiceChangeRequest &();
    00541     operator const H248_ServiceChangeRequest &() const;
    00542 #endif
    00543
    00544     PBoolean CreateObject();
    00545     PObject * Clone() const;
    00546 };
    00547
    00548
    00549 //
    00550 // CommandReply
    00551 //
    00552
    00553 class H248_AmmsReply;
    00554 class H248_AuditReply;
    00555 class H248_NotifyReply;
    00556 class H248_ServiceChangeReply;
    00557
    00558 class H248_CommandReply : public PASN_Choice
    00559 {
    00560 #ifndef PASN_LEANANDMEAN
    00561     PCLASSINFO(H248_CommandReply, PASN_Choice);
    00562 #endif
    00563   public:
    00564     H248_CommandReply(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00565
    00566     enum Choices {
    00567       e_addReply,
    00568       e_moveReply,
    00569       e_modReply,
    00570       e_subtractReply,
    00571       e_auditCapReply,
    00572       e_auditValueReply,
    00573       e_notifyReply,
    00574       e_serviceChangeReply
    00575     };
    00576
    00577 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00578     operator H248_AmmsReply &() const;
    00579 #else
    00580     operator H248_AmmsReply &();
    00581     operator const H248_AmmsReply &() const;
    00582 #endif
    00583 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00584     operator H248_AuditReply &() const;
    00585 #else
    00586     operator H248_AuditReply &();
    00587     operator const H248_AuditReply &() const;
    00588 #endif
    00589 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00590     operator H248_NotifyReply &() const;
    00591 #else
    00592     operator H248_NotifyReply &();
    00593     operator const H248_NotifyReply &() const;
    00594 #endif
    00595 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00596     operator H248_ServiceChangeReply &() const;
    00597 #else
    00598     operator H248_ServiceChangeReply &();
    00599     operator const H248_ServiceChangeReply &() const;
    00600 #endif
    00601
    00602     PBoolean CreateObject();
    00603     PObject * Clone() const;
    00604 };
    00605
    00606
    00607 //
    00608 // AmmDescriptor
    00609 //
    00610
    00611 class H248_MediaDescriptor;
    00612 class H248_ModemDescriptor;
    00613 class H248_MuxDescriptor;
    00614 class H248_EventsDescriptor;
    00615 class H248_EventBufferDescriptor;
    00616 class H248_SignalsDescriptor;
    00617 class H248_DigitMapDescriptor;
    00618 class H248_AuditDescriptor;
    00619
    00620 class H248_AmmDescriptor : public PASN_Choice
    00621 {
    00622 #ifndef PASN_LEANANDMEAN
    00623     PCLASSINFO(H248_AmmDescriptor, PASN_Choice);
    00624 #endif
    00625   public:
    00626     H248_AmmDescriptor(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00627
    00628     enum Choices {
    00629       e_mediaDescriptor,
    00630       e_modemDescriptor,
    00631       e_muxDescriptor,
    00632       e_eventsDescriptor,
    00633       e_eventBufferDescriptor,
    00634       e_signalsDescriptor,
    00635       e_digitMapDescriptor,
    00636       e_auditDescriptor
    00637     };
    00638
    00639 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00640     operator H248_MediaDescriptor &() const;
    00641 #else
    00642     operator H248_MediaDescriptor &();
    00643     operator const H248_MediaDescriptor &() const;
    00644 #endif
    00645 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00646     operator H248_ModemDescriptor &() const;
    00647 #else
    00648     operator H248_ModemDescriptor &();
    00649     operator const H248_ModemDescriptor &() const;
    00650 #endif
    00651 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00652     operator H248_MuxDescriptor &() const;
    00653 #else
    00654     operator H248_MuxDescriptor &();
    00655     operator const H248_MuxDescriptor &() const;
    00656 #endif
    00657 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00658     operator H248_EventsDescriptor &() const;
    00659 #else
    00660     operator H248_EventsDescriptor &();
    00661     operator const H248_EventsDescriptor &() const;
    00662 #endif
    00663 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00664     operator H248_EventBufferDescriptor &() const;
    00665 #else
    00666     operator H248_EventBufferDescriptor &();
    00667     operator const H248_EventBufferDescriptor &() const;
    00668 #endif
    00669 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00670     operator H248_SignalsDescriptor &() const;
    00671 #else
    00672     operator H248_SignalsDescriptor &();
    00673     operator const H248_SignalsDescriptor &() const;
    00674 #endif
    00675 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00676     operator H248_DigitMapDescriptor &() const;
    00677 #else
    00678     operator H248_DigitMapDescriptor &();
    00679     operator const H248_DigitMapDescriptor &() const;
    00680 #endif
    00681 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00682     operator H248_AuditDescriptor &() const;
    00683 #else
    00684     operator H248_AuditDescriptor &();
    00685     operator const H248_AuditDescriptor &() const;
    00686 #endif
    00687
    00688     PBoolean CreateObject();
    00689     PObject * Clone() const;
    00690 };
    00691
    00692
    00693 //
    00694 // AuditReply
    00695 //
    00696
    00697 class H248_TerminationIDList;
    00698 class H248_ErrorDescriptor;
    00699 class H248_AuditResult;
    00700
    00701 class H248_AuditReply : public PASN_Choice
    00702 {
    00703 #ifndef PASN_LEANANDMEAN
    00704     PCLASSINFO(H248_AuditReply, PASN_Choice);
    00705 #endif
    00706   public:
    00707     H248_AuditReply(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00708
    00709     enum Choices {
    00710       e_contextAuditResult,
    00711       e_error,
    00712       e_auditResult
    00713     };
    00714
    00715 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00716     operator H248_TerminationIDList &() const;
    00717 #else
    00718     operator H248_TerminationIDList &();
    00719     operator const H248_TerminationIDList &() const;
    00720 #endif
    00721 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00722     operator H248_ErrorDescriptor &() const;
    00723 #else
    00724     operator H248_ErrorDescriptor &();
    00725     operator const H248_ErrorDescriptor &() const;
    00726 #endif
    00727 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00728     operator H248_AuditResult &() const;
    00729 #else
    00730     operator H248_AuditResult &();
    00731     operator const H248_AuditResult &() const;
    00732 #endif
    00733
    00734     PBoolean CreateObject();
    00735     PObject * Clone() const;
    00736 };
    00737
    00738
    00739 //
    00740 // TerminationAudit
    00741 //
    00742
    00743 class H248_AuditReturnParameter;
    00744
    00745 class H248_TerminationAudit : public PASN_Array
    00746 {
    00747 #ifndef PASN_LEANANDMEAN
    00748     PCLASSINFO(H248_TerminationAudit, PASN_Array);
    00749 #endif
    00750   public:
    00751     H248_TerminationAudit(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00752
    00753     PASN_Object * CreateObject() const;
    00754     H248_AuditReturnParameter & operator[](PINDEX i) const;
    00755     PObject * Clone() const;
    00756 };
    00757
    00758
    00759 //
    00760 // AuditReturnParameter
    00761 //
    00762
    00763 class H248_ErrorDescriptor;
    00764 class H248_MediaDescriptor;
    00765 class H248_ModemDescriptor;
    00766 class H248_MuxDescriptor;
    00767 class H248_EventsDescriptor;
    00768 class H248_EventBufferDescriptor;
    00769 class H248_SignalsDescriptor;
    00770 class H248_DigitMapDescriptor;
    00771 class H248_ObservedEventsDescriptor;
    00772 class H248_StatisticsDescriptor;
    00773 class H248_PackagesDescriptor;
    00774 class H248_AuditDescriptor;
    00775
    00776 class H248_AuditReturnParameter : public PASN_Choice
    00777 {
    00778 #ifndef PASN_LEANANDMEAN
    00779     PCLASSINFO(H248_AuditReturnParameter, PASN_Choice);
    00780 #endif
    00781   public:
    00782     H248_AuditReturnParameter(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00783
    00784     enum Choices {
    00785       e_errorDescriptor,
    00786       e_mediaDescriptor,
    00787       e_modemDescriptor,
    00788       e_muxDescriptor,
    00789       e_eventsDescriptor,
    00790       e_eventBufferDescriptor,
    00791       e_signalsDescriptor,
    00792       e_digitMapDescriptor,
    00793       e_observedEventsDescriptor,
    00794       e_statisticsDescriptor,
    00795       e_packagesDescriptor,
    00796       e_emptyDescriptors
    00797     };
    00798
    00799 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00800     operator H248_ErrorDescriptor &() const;
    00801 #else
    00802     operator H248_ErrorDescriptor &();
    00803     operator const H248_ErrorDescriptor &() const;
    00804 #endif
    00805 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00806     operator H248_MediaDescriptor &() const;
    00807 #else
    00808     operator H248_MediaDescriptor &();
    00809     operator const H248_MediaDescriptor &() const;
    00810 #endif
    00811 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00812     operator H248_ModemDescriptor &() const;
    00813 #else
    00814     operator H248_ModemDescriptor &();
    00815     operator const H248_ModemDescriptor &() const;
    00816 #endif
    00817 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00818     operator H248_MuxDescriptor &() const;
    00819 #else
    00820     operator H248_MuxDescriptor &();
    00821     operator const H248_MuxDescriptor &() const;
    00822 #endif
    00823 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00824     operator H248_EventsDescriptor &() const;
    00825 #else
    00826     operator H248_EventsDescriptor &();
    00827     operator const H248_EventsDescriptor &() const;
    00828 #endif
    00829 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00830     operator H248_EventBufferDescriptor &() const;
    00831 #else
    00832     operator H248_EventBufferDescriptor &();
    00833     operator const H248_EventBufferDescriptor &() const;
    00834 #endif
    00835 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00836     operator H248_SignalsDescriptor &() const;
    00837 #else
    00838     operator H248_SignalsDescriptor &();
    00839     operator const H248_SignalsDescriptor &() const;
    00840 #endif
    00841 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00842     operator H248_DigitMapDescriptor &() const;
    00843 #else
    00844     operator H248_DigitMapDescriptor &();
    00845     operator const H248_DigitMapDescriptor &() const;
    00846 #endif
    00847 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00848     operator H248_ObservedEventsDescriptor &() const;
    00849 #else
    00850     operator H248_ObservedEventsDescriptor &();
    00851     operator const H248_ObservedEventsDescriptor &() const;
    00852 #endif
    00853 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00854     operator H248_StatisticsDescriptor &() const;
    00855 #else
    00856     operator H248_StatisticsDescriptor &();
    00857     operator const H248_StatisticsDescriptor &() const;
    00858 #endif
    00859 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00860     operator H248_PackagesDescriptor &() const;
    00861 #else
    00862     operator H248_PackagesDescriptor &();
    00863     operator const H248_PackagesDescriptor &() const;
    00864 #endif
    00865 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00866     operator H248_AuditDescriptor &() const;
    00867 #else
    00868     operator H248_AuditDescriptor &();
    00869     operator const H248_AuditDescriptor &() const;
    00870 #endif
    00871
    00872     PBoolean CreateObject();
    00873     PObject * Clone() const;
    00874 };
    00875
    00876
    00877 //
    00878 // IndAuditParameter
    00879 //
    00880
    00881 class H248_IndAudMediaDescriptor;
    00882 class H248_IndAudEventsDescriptor;
    00883 class H248_IndAudEventBufferDescriptor;
    00884 class H248_IndAudSignalsDescriptor;
    00885 class H248_IndAudDigitMapDescriptor;
    00886 class H248_IndAudStatisticsDescriptor;
    00887 class H248_IndAudPackagesDescriptor;
    00888
    00889 class H248_IndAuditParameter : public PASN_Choice
    00890 {
    00891 #ifndef PASN_LEANANDMEAN
    00892     PCLASSINFO(H248_IndAuditParameter, PASN_Choice);
    00893 #endif
    00894   public:
    00895     H248_IndAuditParameter(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00896
    00897     enum Choices {
    00898       e_indaudmediaDescriptor,
    00899       e_indaudeventsDescriptor,
    00900       e_indaudeventBufferDescriptor,
    00901       e_indaudsignalsDescriptor,
    00902       e_indauddigitMapDescriptor,
    00903       e_indaudstatisticsDescriptor,
    00904       e_indaudpackagesDescriptor
    00905     };
    00906
    00907 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00908     operator H248_IndAudMediaDescriptor &() const;
    00909 #else
    00910     operator H248_IndAudMediaDescriptor &();
    00911     operator const H248_IndAudMediaDescriptor &() const;
    00912 #endif
    00913 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00914     operator H248_IndAudEventsDescriptor &() const;
    00915 #else
    00916     operator H248_IndAudEventsDescriptor &();
    00917     operator const H248_IndAudEventsDescriptor &() const;
    00918 #endif
    00919 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00920     operator H248_IndAudEventBufferDescriptor &() const;
    00921 #else
    00922     operator H248_IndAudEventBufferDescriptor &();
    00923     operator const H248_IndAudEventBufferDescriptor &() const;
    00924 #endif
    00925 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00926     operator H248_IndAudSignalsDescriptor &() const;
    00927 #else
    00928     operator H248_IndAudSignalsDescriptor &();
    00929     operator const H248_IndAudSignalsDescriptor &() const;
    00930 #endif
    00931 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00932     operator H248_IndAudDigitMapDescriptor &() const;
    00933 #else
    00934     operator H248_IndAudDigitMapDescriptor &();
    00935     operator const H248_IndAudDigitMapDescriptor &() const;
    00936 #endif
    00937 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00938     operator H248_IndAudStatisticsDescriptor &() const;
    00939 #else
    00940     operator H248_IndAudStatisticsDescriptor &();
    00941     operator const H248_IndAudStatisticsDescriptor &() const;
    00942 #endif
    00943 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00944     operator H248_IndAudPackagesDescriptor &() const;
    00945 #else
    00946     operator H248_IndAudPackagesDescriptor &();
    00947     operator const H248_IndAudPackagesDescriptor &() const;
    00948 #endif
    00949
    00950     PBoolean CreateObject();
    00951     PObject * Clone() const;
    00952 };
    00953
    00954
    00955 //
    00956 // IndAudPropertyGroup
    00957 //
    00958
    00959 class H248_IndAudPropertyParm;
    00960
    00961 class H248_IndAudPropertyGroup : public PASN_Array
    00962 {
    00963 #ifndef PASN_LEANANDMEAN
    00964     PCLASSINFO(H248_IndAudPropertyGroup, PASN_Array);
    00965 #endif
    00966   public:
    00967     H248_IndAudPropertyGroup(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00968
    00969     PASN_Object * CreateObject() const;
    00970     H248_IndAudPropertyParm & operator[](PINDEX i) const;
    00971     PObject * Clone() const;
    00972 };
    00973
    00974
    00975 //
    00976 // IndAudSignalsDescriptor
    00977 //
    00978
    00979 class H248_IndAudSignal;
    00980 class H248_IndAudSeqSigList;
    00981
    00982 class H248_IndAudSignalsDescriptor : public PASN_Choice
    00983 {
    00984 #ifndef PASN_LEANANDMEAN
    00985     PCLASSINFO(H248_IndAudSignalsDescriptor, PASN_Choice);
    00986 #endif
    00987   public:
    00988     H248_IndAudSignalsDescriptor(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00989
    00990     enum Choices {
    00991       e_signal,
    00992       e_seqSigList
    00993     };
    00994
    00995 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00996     operator H248_IndAudSignal &() const;
    00997 #else
    00998     operator H248_IndAudSignal &();
    00999     operator const H248_IndAudSignal &() const;
    01000 #endif
    01001 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01002     operator H248_IndAudSeqSigList &() const;
    01003 #else
    01004     operator H248_IndAudSeqSigList &();
    01005     operator const H248_IndAudSeqSigList &() const;
    01006 #endif
    01007
    01008     PBoolean CreateObject();
    01009     PObject * Clone() const;
    01010 };
    01011
    01012
    01013 //
    01014 // ServiceChangeResult
    01015 //
    01016
    01017 class H248_ErrorDescriptor;
    01018 class H248_ServiceChangeResParm;
    01019
    01020 class H248_ServiceChangeResult : public PASN_Choice
    01021 {
    01022 #ifndef PASN_LEANANDMEAN
    01023     PCLASSINFO(H248_ServiceChangeResult, PASN_Choice);
    01024 #endif
    01025   public:
    01026     H248_ServiceChangeResult(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01027
    01028     enum Choices {
    01029       e_errorDescriptor,
    01030       e_serviceChangeResParms
    01031     };
    01032
    01033 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01034     operator H248_ErrorDescriptor &() const;
    01035 #else
    01036     operator H248_ErrorDescriptor &();
    01037     operator const H248_ErrorDescriptor &() const;
    01038 #endif
    01039 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01040     operator H248_ServiceChangeResParm &() const;
    01041 #else
    01042     operator H248_ServiceChangeResParm &();
    01043     operator const H248_ServiceChangeResParm &() const;
    01044 #endif
    01045
    01046     PBoolean CreateObject();
    01047     PObject * Clone() const;
    01048 };
    01049
    01050
    01051 //
    01052 // WildcardField
    01053 //
    01054
    01055 class H248_WildcardField : public PASN_OctetString
    01056 {
    01057 #ifndef PASN_LEANANDMEAN
    01058     PCLASSINFO(H248_WildcardField, PASN_OctetString);
    01059 #endif
    01060   public:
    01061     H248_WildcardField(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    01062
    01063     H248_WildcardField(const char * v);
    01064     H248_WildcardField(const PString & v);
    01065     H248_WildcardField(const PBYTEArray & v);
    01066
    01067     H248_WildcardField & operator=(const char * v);
    01068     H248_WildcardField & operator=(const PString & v);
    01069     H248_WildcardField & operator=(const PBYTEArray & v);
    01070     PObject * Clone() const;
    01071 };
    01072
    01073
    01074 //
    01075 // TerminationIDList
    01076 //
    01077
    01078 class H248_TerminationID;
    01079
    01080 class H248_TerminationIDList : public PASN_Array
    01081 {
    01082 #ifndef PASN_LEANANDMEAN
    01083     PCLASSINFO(H248_TerminationIDList, PASN_Array);
    01084 #endif
    01085   public:
    01086     H248_TerminationIDList(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01087
    01088     PASN_Object * CreateObject() const;
    01089     H248_TerminationID & operator[](PINDEX i) const;
    01090     PObject * Clone() const;
    01091 };
    01092
    01093
    01094 //
    01095 // StreamMode
    01096 //
    01097
    01098 class H248_StreamMode : public PASN_Enumeration
    01099 {
    01100 #ifndef PASN_LEANANDMEAN
    01101     PCLASSINFO(H248_StreamMode, PASN_Enumeration);
    01102 #endif
    01103   public:
    01104     H248_StreamMode(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
    01105
    01106     enum Enumerations {
    01107       e_sendOnly,
    01108       e_recvOnly,
    01109       e_sendRecv,
    01110       e_inactive,
    01111       e_loopBack
    01112     };
    01113
    01114     H248_StreamMode & operator=(unsigned v);
    01115     PObject * Clone() const;
    01116 };
    01117
    01118
    01119 //
    01120 // Name
    01121 //
    01122
    01123 class H248_Name : public PASN_OctetString
    01124 {
    01125 #ifndef PASN_LEANANDMEAN
    01126     PCLASSINFO(H248_Name, PASN_OctetString);
    01127 #endif
    01128   public:
    01129     H248_Name(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    01130
    01131     H248_Name(const char * v);
    01132     H248_Name(const PString & v);
    01133     H248_Name(const PBYTEArray & v);
    01134
    01135     H248_Name & operator=(const char * v);
    01136     H248_Name & operator=(const PString & v);
    01137     H248_Name & operator=(const PBYTEArray & v);
    01138     PObject * Clone() const;
    01139 };
    01140
    01141
    01142 //
    01143 // PkgdName
    01144 //
    01145
    01146 class H248_PkgdName : public PASN_OctetString
    01147 {
    01148 #ifndef PASN_LEANANDMEAN
    01149     PCLASSINFO(H248_PkgdName, PASN_OctetString);
    01150 #endif
    01151   public:
    01152     H248_PkgdName(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    01153
    01154     H248_PkgdName(const char * v);
    01155     H248_PkgdName(const PString & v);
    01156     H248_PkgdName(const PBYTEArray & v);
    01157
    01158     H248_PkgdName & operator=(const char * v);
    01159     H248_PkgdName & operator=(const PString & v);
    01160     H248_PkgdName & operator=(const PBYTEArray & v);
    01161     PObject * Clone() const;
    01162 };
    01163
    01164
    01165 //
    01166 // Relation
    01167 //
    01168
    01169 class H248_Relation : public PASN_Enumeration
    01170 {
    01171 #ifndef PASN_LEANANDMEAN
    01172     PCLASSINFO(H248_Relation, PASN_Enumeration);
    01173 #endif
    01174   public:
    01175     H248_Relation(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
    01176
    01177     enum Enumerations {
    01178       e_greaterThan,
    01179       e_smallerThan,
    01180       e_unequalTo
    01181     };
    01182
    01183     H248_Relation & operator=(unsigned v);
    01184     PObject * Clone() const;
    01185 };
    01186
    01187
    01188 //
    01189 // PropertyGroup
    01190 //
    01191
    01192 class H248_PropertyParm;
    01193
    01194 class H248_PropertyGroup : public PASN_Array
    01195 {
    01196 #ifndef PASN_LEANANDMEAN
    01197     PCLASSINFO(H248_PropertyGroup, PASN_Array);
    01198 #endif
    01199   public:
    01200     H248_PropertyGroup(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01201
    01202     PASN_Object * CreateObject() const;
    01203     H248_PropertyParm & operator[](PINDEX i) const;
    01204     PObject * Clone() const;
    01205 };
    01206
    01207
    01208 //
    01209 // EventBufferControl
    01210 //
    01211
    01212 class H248_EventBufferControl : public PASN_Enumeration
    01213 {
    01214 #ifndef PASN_LEANANDMEAN
    01215     PCLASSINFO(H248_EventBufferControl, PASN_Enumeration);
    01216 #endif
    01217   public:
    01218     H248_EventBufferControl(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
    01219
    01220     enum Enumerations {
    01221       e_off,
    01222       e_lockStep
    01223     };
    01224
    01225     H248_EventBufferControl & operator=(unsigned v);
    01226     PObject * Clone() const;
    01227 };
    01228
    01229
    01230 //
    01231 // ServiceState
    01232 //
    01233
    01234 class H248_ServiceState : public PASN_Enumeration
    01235 {
    01236 #ifndef PASN_LEANANDMEAN
    01237     PCLASSINFO(H248_ServiceState, PASN_Enumeration);
    01238 #endif
    01239   public:
    01240     H248_ServiceState(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
    01241
    01242     enum Enumerations {
    01243       e_test,
    01244       e_outOfSvc,
    01245       e_inSvc
    01246     };
    01247
    01248     H248_ServiceState & operator=(unsigned v);
    01249     PObject * Clone() const;
    01250 };
    01251
    01252
    01253 //
    01254 // MuxType
    01255 //
    01256
    01257 class H248_MuxType : public PASN_Enumeration
    01258 {
    01259 #ifndef PASN_LEANANDMEAN
    01260     PCLASSINFO(H248_MuxType, PASN_Enumeration);
    01261 #endif
    01262   public:
    01263     H248_MuxType(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
    01264
    01265     enum Enumerations {
    01266       e_h221,
    01267       e_h223,
    01268       e_h226,
    01269       e_v76,
    01270       e_nx64k
    01271     };
    01272
    01273     H248_MuxType & operator=(unsigned v);
    01274     PObject * Clone() const;
    01275 };
    01276
    01277
    01278 //
    01279 // StreamID
    01280 //
    01281
    01282 class H248_StreamID : public PASN_Integer
    01283 {
    01284 #ifndef PASN_LEANANDMEAN
    01285     PCLASSINFO(H248_StreamID, PASN_Integer);
    01286 #endif
    01287   public:
    01288     H248_StreamID(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    01289
    01290     H248_StreamID & operator=(int v);
    01291     H248_StreamID & operator=(unsigned v);
    01292     PObject * Clone() const;
    01293 };
    01294
    01295
    01296 //
    01297 // EventDM
    01298 //
    01299
    01300 class H248_DigitMapName;
    01301 class H248_DigitMapValue;
    01302
    01303 class H248_EventDM : public PASN_Choice
    01304 {
    01305 #ifndef PASN_LEANANDMEAN
    01306     PCLASSINFO(H248_EventDM, PASN_Choice);
    01307 #endif
    01308   public:
    01309     H248_EventDM(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01310
    01311     enum Choices {
    01312       e_digitMapName,
    01313       e_digitMapValue
    01314     };
    01315
    01316 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01317     operator H248_DigitMapName &() const;
    01318 #else
    01319     operator H248_DigitMapName &();
    01320     operator const H248_DigitMapName &() const;
    01321 #endif
    01322 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01323     operator H248_DigitMapValue &() const;
    01324 #else
    01325     operator H248_DigitMapValue &();
    01326     operator const H248_DigitMapValue &() const;
    01327 #endif
    01328
    01329     PBoolean CreateObject();
    01330     PObject * Clone() const;
    01331 };
    01332
    01333
    01334 //
    01335 // EventBufferDescriptor
    01336 //
    01337
    01338 class H248_EventSpec;
    01339
    01340 class H248_EventBufferDescriptor : public PASN_Array
    01341 {
    01342 #ifndef PASN_LEANANDMEAN
    01343     PCLASSINFO(H248_EventBufferDescriptor, PASN_Array);
    01344 #endif
    01345   public:
    01346     H248_EventBufferDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01347
    01348     PASN_Object * CreateObject() const;
    01349     H248_EventSpec & operator[](PINDEX i) const;
    01350     PObject * Clone() const;
    01351 };
    01352
    01353
    01354 //
    01355 // SignalsDescriptor
    01356 //
    01357
    01358 class H248_SignalRequest;
    01359
    01360 class H248_SignalsDescriptor : public PASN_Array
    01361 {
    01362 #ifndef PASN_LEANANDMEAN
    01363     PCLASSINFO(H248_SignalsDescriptor, PASN_Array);
    01364 #endif
    01365   public:
    01366     H248_SignalsDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01367
    01368     PASN_Object * CreateObject() const;
    01369     H248_SignalRequest & operator[](PINDEX i) const;
    01370     PObject * Clone() const;
    01371 };
    01372
    01373
    01374 //
    01375 // SignalRequest
    01376 //
    01377
    01378 class H248_Signal;
    01379 class H248_SeqSigList;
    01380
    01381 class H248_SignalRequest : public PASN_Choice
    01382 {
    01383 #ifndef PASN_LEANANDMEAN
    01384     PCLASSINFO(H248_SignalRequest, PASN_Choice);
    01385 #endif
    01386   public:
    01387     H248_SignalRequest(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01388
    01389     enum Choices {
    01390       e_signal,
    01391       e_seqSigList
    01392     };
    01393
    01394 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01395     operator H248_Signal &() const;
    01396 #else
    01397     operator H248_Signal &();
    01398     operator const H248_Signal &() const;
    01399 #endif
    01400 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01401     operator H248_SeqSigList &() const;
    01402 #else
    01403     operator H248_SeqSigList &();
    01404     operator const H248_SeqSigList &() const;
    01405 #endif
    01406
    01407     PBoolean CreateObject();
    01408     PObject * Clone() const;
    01409 };
    01410
    01411
    01412 //
    01413 // SignalType
    01414 //
    01415
    01416 class H248_SignalType : public PASN_Enumeration
    01417 {
    01418 #ifndef PASN_LEANANDMEAN
    01419     PCLASSINFO(H248_SignalType, PASN_Enumeration);
    01420 #endif
    01421   public:
    01422     H248_SignalType(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
    01423
    01424     enum Enumerations {
    01425       e_brief,
    01426       e_onOff,
    01427       e_timeOut
    01428     };
    01429
    01430     H248_SignalType & operator=(unsigned v);
    01431     PObject * Clone() const;
    01432 };
    01433
    01434
    01435 //
    01436 // SignalName
    01437 //
    01438
    01439 class H248_SignalName : public H248_PkgdName
    01440 {
    01441 #ifndef PASN_LEANANDMEAN
    01442     PCLASSINFO(H248_SignalName, H248_PkgdName);
    01443 #endif
    01444   public:
    01445     H248_SignalName(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    01446
    01447     H248_SignalName(const char * v);
    01448     H248_SignalName(const PString & v);
    01449     H248_SignalName(const PBYTEArray & v);
    01450
    01451     H248_SignalName & operator=(const char * v);
    01452     H248_SignalName & operator=(const PString & v);
    01453     H248_SignalName & operator=(const PBYTEArray & v);
    01454     PObject * Clone() const;
    01455 };
    01456
    01457
    01458 //
    01459 // NotifyCompletion
    01460 //
    01461
    01462 class H248_NotifyCompletion : public PASN_BitString
    01463 {
    01464 #ifndef PASN_LEANANDMEAN
    01465     PCLASSINFO(H248_NotifyCompletion, PASN_BitString);
    01466 #endif
    01467   public:
    01468     H248_NotifyCompletion(unsigned tag = UniversalBitString, TagClass tagClass = UniversalTagClass);
    01469
    01470     PObject * Clone() const;
    01471 };
    01472
    01473
    01474 //
    01475 // RequestID
    01476 //
    01477
    01478 class H248_RequestID : public PASN_Integer
    01479 {
    01480 #ifndef PASN_LEANANDMEAN
    01481     PCLASSINFO(H248_RequestID, PASN_Integer);
    01482 #endif
    01483   public:
    01484     H248_RequestID(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
    01485
    01486     H248_RequestID & operator=(int v);
    01487     H248_RequestID & operator=(unsigned v);
    01488     PObject * Clone() const;
    01489 };
    01490
    01491
    01492 //
    01493 // ModemType
    01494 //
    01495
    01496 class H248_ModemType : public PASN_Enumeration
    01497 {
    01498 #ifndef PASN_LEANANDMEAN
    01499     PCLASSINFO(H248_ModemType, PASN_Enumeration);
    01500 #endif
    01501   public:
    01502     H248_ModemType(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
    01503
    01504     enum Enumerations {
    01505       e_v18,
    01506       e_v22,
    01507       e_v22bis,
    01508       e_v32,
    01509       e_v32bis,
    01510       e_v34,
    01511       e_v90,
    01512       e_v91,
    01513       e_synchISDN
    01514     };
    01515
    01516     H248_ModemType & operator=(unsigned v);
    01517     PObject * Clone() const;
    01518 };
    01519
    01520
    01521 //
    01522 // DigitMapName
    01523 //
    01524
    01525 class H248_DigitMapName : public H248_Name
    01526 {
    01527 #ifndef PASN_LEANANDMEAN
    01528     PCLASSINFO(H248_DigitMapName, H248_Name);
    01529 #endif
    01530   public:
    01531     H248_DigitMapName(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    01532
    01533     H248_DigitMapName(const char * v);
    01534     H248_DigitMapName(const PString & v);
    01535     H248_DigitMapName(const PBYTEArray & v);
    01536
    01537     H248_DigitMapName & operator=(const char * v);
    01538     H248_DigitMapName & operator=(const PString & v);
    01539     H248_DigitMapName & operator=(const PBYTEArray & v);
    01540     PObject * Clone() const;
    01541 };
    01542
    01543
    01544 //
    01545 // DigitMapValue
    01546 //
    01547
    01548 class H248_DigitMapValue : public PASN_Sequence
    01549 {
    01550 #ifndef PASN_LEANANDMEAN
    01551     PCLASSINFO(H248_DigitMapValue, PASN_Sequence);
    01552 #endif
    01553   public:
    01554     H248_DigitMapValue(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01555
    01556     enum OptionalFields {
    01557       e_startTimer,
    01558       e_shortTimer,
    01559       e_longTimer,
    01560       e_durationTimer
    01561     };
    01562
    01563     PASN_Integer m_startTimer;
    01564     PASN_Integer m_shortTimer;
    01565     PASN_Integer m_longTimer;
    01566     PASN_IA5String m_digitMapBody;
    01567     PASN_Integer m_durationTimer;
    01568
    01569     PINDEX GetDataLength() const;
    01570     PBoolean Decode(PASN_Stream & strm);
    01571     void Encode(PASN_Stream & strm) const;
    01572 #ifndef PASN_NOPRINTON
    01573     void PrintOn(ostream & strm) const;
    01574 #endif
    01575     Comparison Compare(const PObject & obj) const;
    01576     PObject * Clone() const;
    01577 };
    01578
    01579
    01580 //
    01581 // ServiceChangeAddress
    01582 //
    01583
    01584 class H248_IP4Address;
    01585 class H248_IP6Address;
    01586 class H248_DomainName;
    01587 class H248_PathName;
    01588
    01589 class H248_ServiceChangeAddress : public PASN_Choice
    01590 {
    01591 #ifndef PASN_LEANANDMEAN
    01592     PCLASSINFO(H248_ServiceChangeAddress, PASN_Choice);
    01593 #endif
    01594   public:
    01595     H248_ServiceChangeAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01596
    01597     enum Choices {
    01598       e_portNumber,
    01599       e_ip4Address,
    01600       e_ip6Address,
    01601       e_domainName,
    01602       e_deviceName,
    01603       e_mtpAddress
    01604     };
    01605
    01606 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01607     operator H248_IP4Address &() const;
    01608 #else
    01609     operator H248_IP4Address &();
    01610     operator const H248_IP4Address &() const;
    01611 #endif
    01612 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01613     operator H248_IP6Address &() const;
    01614 #else
    01615     operator H248_IP6Address &();
    01616     operator const H248_IP6Address &() const;
    01617 #endif
    01618 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01619     operator H248_DomainName &() const;
    01620 #else
    01621     operator H248_DomainName &();
    01622     operator const H248_DomainName &() const;
    01623 #endif
    01624 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01625     operator H248_PathName &() const;
    01626 #else
    01627     operator H248_PathName &();
    01628     operator const H248_PathName &() const;
    01629 #endif
    01630
    01631     PBoolean CreateObject();
    01632     PObject * Clone() const;
    01633 };
    01634
    01635
    01636 //
    01637 // ServiceChangeMethod
    01638 //
    01639
    01640 class H248_ServiceChangeMethod : public PASN_Enumeration
    01641 {
    01642 #ifndef PASN_LEANANDMEAN
    01643     PCLASSINFO(H248_ServiceChangeMethod, PASN_Enumeration);
    01644 #endif
    01645   public:
    01646     H248_ServiceChangeMethod(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
    01647
    01648     enum Enumerations {
    01649       e_failover,
    01650       e_forced,
    01651       e_graceful,
    01652       e_restart,
    01653       e_disconnected,
    01654       e_handOff
    01655     };
    01656
    01657     H248_ServiceChangeMethod & operator=(unsigned v);
    01658     PObject * Clone() const;
    01659 };
    01660
    01661
    01662 //
    01663 // ServiceChangeProfile
    01664 //
    01665
    01666 class H248_ServiceChangeProfile : public PASN_Sequence
    01667 {
    01668 #ifndef PASN_LEANANDMEAN
    01669     PCLASSINFO(H248_ServiceChangeProfile, PASN_Sequence);
    01670 #endif
    01671   public:
    01672     H248_ServiceChangeProfile(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01673
    01674     PASN_IA5String m_profileName;
    01675
    01676     PINDEX GetDataLength() const;
    01677     PBoolean Decode(PASN_Stream & strm);
    01678     void Encode(PASN_Stream & strm) const;
    01679 #ifndef PASN_NOPRINTON
    01680     void PrintOn(ostream & strm) const;
    01681 #endif
    01682     Comparison Compare(const PObject & obj) const;
    01683     PObject * Clone() const;
    01684 };
    01685
    01686
    01687 //
    01688 // PackagesDescriptor
    01689 //
    01690
    01691 class H248_PackagesItem;
    01692
    01693 class H248_PackagesDescriptor : public PASN_Array
    01694 {
    01695 #ifndef PASN_LEANANDMEAN
    01696     PCLASSINFO(H248_PackagesDescriptor, PASN_Array);
    01697 #endif
    01698   public:
    01699     H248_PackagesDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01700
    01701     PASN_Object * CreateObject() const;
    01702     H248_PackagesItem & operator[](PINDEX i) const;
    01703     PObject * Clone() const;
    01704 };
    01705
    01706
    01707 //
    01708 // PackagesItem
    01709 //
    01710
    01711 class H248_PackagesItem : public PASN_Sequence
    01712 {
    01713 #ifndef PASN_LEANANDMEAN
    01714     PCLASSINFO(H248_PackagesItem, PASN_Sequence);
    01715 #endif
    01716   public:
    01717     H248_PackagesItem(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01718
    01719     H248_Name m_packageName;
    01720     PASN_Integer m_packageVersion;
    01721
    01722     PINDEX GetDataLength() const;
    01723     PBoolean Decode(PASN_Stream & strm);
    01724     void Encode(PASN_Stream & strm) const;
    01725 #ifndef PASN_NOPRINTON
    01726     void PrintOn(ostream & strm) const;
    01727 #endif
    01728     Comparison Compare(const PObject & obj) const;
    01729     PObject * Clone() const;
    01730 };
    01731
    01732
    01733 //
    01734 // StatisticsDescriptor
    01735 //
    01736
    01737 class H248_StatisticsParameter;
    01738
    01739 class H248_StatisticsDescriptor : public PASN_Array
    01740 {
    01741 #ifndef PASN_LEANANDMEAN
    01742     PCLASSINFO(H248_StatisticsDescriptor, PASN_Array);
    01743 #endif
    01744   public:
    01745     H248_StatisticsDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01746
    01747     PASN_Object * CreateObject() const;
    01748     H248_StatisticsParameter & operator[](PINDEX i) const;
    01749     PObject * Clone() const;
    01750 };
    01751
    01752
    01753 //
    01754 // NonStandardIdentifier
    01755 //
    01756
    01757 class H248_H221NonStandard;
    01758
    01759 class H248_NonStandardIdentifier : public PASN_Choice
    01760 {
    01761 #ifndef PASN_LEANANDMEAN
    01762     PCLASSINFO(H248_NonStandardIdentifier, PASN_Choice);
    01763 #endif
    01764   public:
    01765     H248_NonStandardIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01766
    01767     enum Choices {
    01768       e_object,
    01769       e_h221NonStandard,
    01770       e_experimental
    01771     };
    01772
    01773 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01774     operator H248_H221NonStandard &() const;
    01775 #else
    01776     operator H248_H221NonStandard &();
    01777     operator const H248_H221NonStandard &() const;
    01778 #endif
    01779
    01780     PBoolean CreateObject();
    01781     PObject * Clone() const;
    01782 };
    01783
    01784
    01785 //
    01786 // H221NonStandard
    01787 //
    01788
    01789 class H248_H221NonStandard : public PASN_Sequence
    01790 {
    01791 #ifndef PASN_LEANANDMEAN
    01792     PCLASSINFO(H248_H221NonStandard, PASN_Sequence);
    01793 #endif
    01794   public:
    01795     H248_H221NonStandard(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01796
    01797     PASN_Integer m_t35CountryCode1;
    01798     PASN_Integer m_t35CountryCode2;
    01799     PASN_Integer m_t35Extension;
    01800     PASN_Integer m_manufacturerCode;
    01801
    01802     PINDEX GetDataLength() const;
    01803     PBoolean Decode(PASN_Stream & strm);
    01804     void Encode(PASN_Stream & strm) const;
    01805 #ifndef PASN_NOPRINTON
    01806     void PrintOn(ostream & strm) const;
    01807 #endif
    01808     Comparison Compare(const PObject & obj) const;
    01809     PObject * Clone() const;
    01810 };
    01811
    01812
    01813 //
    01814 // TimeNotation
    01815 //
    01816
    01817 class H248_TimeNotation : public PASN_Sequence
    01818 {
    01819 #ifndef PASN_LEANANDMEAN
    01820     PCLASSINFO(H248_TimeNotation, PASN_Sequence);
    01821 #endif
    01822   public:
    01823     H248_TimeNotation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01824
    01825     PASN_IA5String m_date;
    01826     PASN_IA5String m_time;
    01827
    01828     PINDEX GetDataLength() const;
    01829     PBoolean Decode(PASN_Stream & strm);
    01830     void Encode(PASN_Stream & strm) const;
    01831 #ifndef PASN_NOPRINTON
    01832     void PrintOn(ostream & strm) const;
    01833 #endif
    01834     Comparison Compare(const PObject & obj) const;
    01835     PObject * Clone() const;
    01836 };
    01837
    01838
    01839 //
    01840 // Value
    01841 //
    01842
    01843 class H248_Value : public PASN_Array
    01844 {
    01845 #ifndef PASN_LEANANDMEAN
    01846     PCLASSINFO(H248_Value, PASN_Array);
    01847 #endif
    01848   public:
    01849     H248_Value(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01850
    01851     PASN_Object * CreateObject() const;
    01852     PASN_OctetString & operator[](PINDEX i) const;
    01853     PObject * Clone() const;
    01854 };
    01855
    01856
    01857 //
    01858 // Message_messageBody
    01859 //
    01860
    01861 class H248_ErrorDescriptor;
    01862 class H248_ArrayOf_Transaction;
    01863
    01864 class H248_Message_messageBody : public PASN_Choice
    01865 {
    01866 #ifndef PASN_LEANANDMEAN
    01867     PCLASSINFO(H248_Message_messageBody, PASN_Choice);
    01868 #endif
    01869   public:
    01870     H248_Message_messageBody(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01871
    01872     enum Choices {
    01873       e_messageError,
    01874       e_transactions
    01875     };
    01876
    01877 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01878     operator H248_ErrorDescriptor &() const;
    01879 #else
    01880     operator H248_ErrorDescriptor &();
    01881     operator const H248_ErrorDescriptor &() const;
    01882 #endif
    01883 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01884     operator H248_ArrayOf_Transaction &() const;
    01885 #else
    01886     operator H248_ArrayOf_Transaction &();
    01887     operator const H248_ArrayOf_Transaction &() const;
    01888 #endif
    01889
    01890     PBoolean CreateObject();
    01891     PObject * Clone() const;
    01892 };
    01893
    01894
    01895 //
    01896 // ArrayOf_ActionRequest
    01897 //
    01898
    01899 class H248_ActionRequest;
    01900
    01901 class H248_ArrayOf_ActionRequest : public PASN_Array
    01902 {
    01903 #ifndef PASN_LEANANDMEAN
    01904     PCLASSINFO(H248_ArrayOf_ActionRequest, PASN_Array);
    01905 #endif
    01906   public:
    01907     H248_ArrayOf_ActionRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01908
    01909     PASN_Object * CreateObject() const;
    01910     H248_ActionRequest & operator[](PINDEX i) const;
    01911     PObject * Clone() const;
    01912 };
    01913
    01914
    01915 //
    01916 // TransactionReply_transactionResult
    01917 //
    01918
    01919 class H248_ErrorDescriptor;
    01920 class H248_ArrayOf_ActionReply;
    01921
    01922 class H248_TransactionReply_transactionResult : public PASN_Choice
    01923 {
    01924 #ifndef PASN_LEANANDMEAN
    01925     PCLASSINFO(H248_TransactionReply_transactionResult, PASN_Choice);
    01926 #endif
    01927   public:
    01928     H248_TransactionReply_transactionResult(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    01929
    01930     enum Choices {
    01931       e_transactionError,
    01932       e_actionReplies
    01933     };
    01934
    01935 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01936     operator H248_ErrorDescriptor &() const;
    01937 #else
    01938     operator H248_ErrorDescriptor &();
    01939     operator const H248_ErrorDescriptor &() const;
    01940 #endif
    01941 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    01942     operator H248_ArrayOf_ActionReply &() const;
    01943 #else
    01944     operator H248_ArrayOf_ActionReply &();
    01945     operator const H248_ArrayOf_ActionReply &() const;
    01946 #endif
    01947
    01948     PBoolean CreateObject();
    01949     PObject * Clone() const;
    01950 };
    01951
    01952
    01953 //
    01954 // ArrayOf_CommandRequest
    01955 //
    01956
    01957 class H248_CommandRequest;
    01958
    01959 class H248_ArrayOf_CommandRequest : public PASN_Array
    01960 {
    01961 #ifndef PASN_LEANANDMEAN
    01962     PCLASSINFO(H248_ArrayOf_CommandRequest, PASN_Array);
    01963 #endif
    01964   public:
    01965     H248_ArrayOf_CommandRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01966
    01967     PASN_Object * CreateObject() const;
    01968     H248_CommandRequest & operator[](PINDEX i) const;
    01969     PObject * Clone() const;
    01970 };
    01971
    01972
    01973 //
    01974 // ArrayOf_CommandReply
    01975 //
    01976
    01977 class H248_CommandReply;
    01978
    01979 class H248_ArrayOf_CommandReply : public PASN_Array
    01980 {
    01981 #ifndef PASN_LEANANDMEAN
    01982     PCLASSINFO(H248_ArrayOf_CommandReply, PASN_Array);
    01983 #endif
    01984   public:
    01985     H248_ArrayOf_CommandReply(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    01986
    01987     PASN_Object * CreateObject() const;
    01988     H248_CommandReply & operator[](PINDEX i) const;
    01989     PObject * Clone() const;
    01990 };
    01991
    01992
    01993 //
    01994 // ArrayOf_TopologyRequest
    01995 //
    01996
    01997 class H248_TopologyRequest;
    01998
    01999 class H248_ArrayOf_TopologyRequest : public PASN_Array
    02000 {
    02001 #ifndef PASN_LEANANDMEAN
    02002     PCLASSINFO(H248_ArrayOf_TopologyRequest, PASN_Array);
    02003 #endif
    02004   public:
    02005     H248_ArrayOf_TopologyRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02006
    02007     PASN_Object * CreateObject() const;
    02008     H248_TopologyRequest & operator[](PINDEX i) const;
    02009     PObject * Clone() const;
    02010 };
    02011
    02012
    02013 //
    02014 // TopologyRequest_topologyDirection
    02015 //
    02016
    02017 class H248_TopologyRequest_topologyDirection : public PASN_Enumeration
    02018 {
    02019 #ifndef PASN_LEANANDMEAN
    02020     PCLASSINFO(H248_TopologyRequest_topologyDirection, PASN_Enumeration);
    02021 #endif
    02022   public:
    02023     H248_TopologyRequest_topologyDirection(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
    02024
    02025     enum Enumerations {
    02026       e_bothway,
    02027       e_isolate,
    02028       e_oneway
    02029     };
    02030
    02031     H248_TopologyRequest_topologyDirection & operator=(unsigned v);
    02032     PObject * Clone() const;
    02033 };
    02034
    02035
    02036 //
    02037 // ArrayOf_AmmDescriptor
    02038 //
    02039
    02040 class H248_AmmDescriptor;
    02041
    02042 class H248_ArrayOf_AmmDescriptor : public PASN_Array
    02043 {
    02044 #ifndef PASN_LEANANDMEAN
    02045     PCLASSINFO(H248_ArrayOf_AmmDescriptor, PASN_Array);
    02046 #endif
    02047   public:
    02048     H248_ArrayOf_AmmDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02049
    02050     PASN_Object * CreateObject() const;
    02051     H248_AmmDescriptor & operator[](PINDEX i) const;
    02052     PObject * Clone() const;
    02053 };
    02054
    02055
    02056 //
    02057 // ArrayOf_IndAuditParameter
    02058 //
    02059
    02060 class H248_IndAuditParameter;
    02061
    02062 class H248_ArrayOf_IndAuditParameter : public PASN_Array
    02063 {
    02064 #ifndef PASN_LEANANDMEAN
    02065     PCLASSINFO(H248_ArrayOf_IndAuditParameter, PASN_Array);
    02066 #endif
    02067   public:
    02068     H248_ArrayOf_IndAuditParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02069
    02070     PASN_Object * CreateObject() const;
    02071     H248_IndAuditParameter & operator[](PINDEX i) const;
    02072     PObject * Clone() const;
    02073 };
    02074
    02075
    02076 //
    02077 // IndAudMediaDescriptor_streams
    02078 //
    02079
    02080 class H248_IndAudStreamParms;
    02081 class H248_ArrayOf_IndAudStreamDescriptor;
    02082
    02083 class H248_IndAudMediaDescriptor_streams : public PASN_Choice
    02084 {
    02085 #ifndef PASN_LEANANDMEAN
    02086     PCLASSINFO(H248_IndAudMediaDescriptor_streams, PASN_Choice);
    02087 #endif
    02088   public:
    02089     H248_IndAudMediaDescriptor_streams(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02090
    02091     enum Choices {
    02092       e_oneStream,
    02093       e_multiStream
    02094     };
    02095
    02096 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02097     operator H248_IndAudStreamParms &() const;
    02098 #else
    02099     operator H248_IndAudStreamParms &();
    02100     operator const H248_IndAudStreamParms &() const;
    02101 #endif
    02102 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02103     operator H248_ArrayOf_IndAudStreamDescriptor &() const;
    02104 #else
    02105     operator H248_ArrayOf_IndAudStreamDescriptor &();
    02106     operator const H248_ArrayOf_IndAudStreamDescriptor &() const;
    02107 #endif
    02108
    02109     PBoolean CreateObject();
    02110     PObject * Clone() const;
    02111 };
    02112
    02113
    02114 //
    02115 // ArrayOf_IndAudPropertyParm
    02116 //
    02117
    02118 class H248_IndAudPropertyParm;
    02119
    02120 class H248_ArrayOf_IndAudPropertyParm : public PASN_Array
    02121 {
    02122 #ifndef PASN_LEANANDMEAN
    02123     PCLASSINFO(H248_ArrayOf_IndAudPropertyParm, PASN_Array);
    02124 #endif
    02125   public:
    02126     H248_ArrayOf_IndAudPropertyParm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02127
    02128     PASN_Object * CreateObject() const;
    02129     H248_IndAudPropertyParm & operator[](PINDEX i) const;
    02130     PObject * Clone() const;
    02131 };
    02132
    02133
    02134 //
    02135 // ArrayOf_ObservedEvent
    02136 //
    02137
    02138 class H248_ObservedEvent;
    02139
    02140 class H248_ArrayOf_ObservedEvent : public PASN_Array
    02141 {
    02142 #ifndef PASN_LEANANDMEAN
    02143     PCLASSINFO(H248_ArrayOf_ObservedEvent, PASN_Array);
    02144 #endif
    02145   public:
    02146     H248_ArrayOf_ObservedEvent(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02147
    02148     PASN_Object * CreateObject() const;
    02149     H248_ObservedEvent & operator[](PINDEX i) const;
    02150     PObject * Clone() const;
    02151 };
    02152
    02153
    02154 //
    02155 // ArrayOf_EventParameter
    02156 //
    02157
    02158 class H248_EventParameter;
    02159
    02160 class H248_ArrayOf_EventParameter : public PASN_Array
    02161 {
    02162 #ifndef PASN_LEANANDMEAN
    02163     PCLASSINFO(H248_ArrayOf_EventParameter, PASN_Array);
    02164 #endif
    02165   public:
    02166     H248_ArrayOf_EventParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02167
    02168     PASN_Object * CreateObject() const;
    02169     H248_EventParameter & operator[](PINDEX i) const;
    02170     PObject * Clone() const;
    02171 };
    02172
    02173
    02174 //
    02175 // EventParameter_extraInfo
    02176 //
    02177
    02178 class H248_Relation;
    02179
    02180 class H248_EventParameter_extraInfo : public PASN_Choice
    02181 {
    02182 #ifndef PASN_LEANANDMEAN
    02183     PCLASSINFO(H248_EventParameter_extraInfo, PASN_Choice);
    02184 #endif
    02185   public:
    02186     H248_EventParameter_extraInfo(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02187
    02188     enum Choices {
    02189       e_relation,
    02190       e_range,
    02191       e_sublist
    02192     };
    02193
    02194 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02195     operator H248_Relation &() const;
    02196 #else
    02197     operator H248_Relation &();
    02198     operator const H248_Relation &() const;
    02199 #endif
    02200
    02201     PBoolean CreateObject();
    02202     PObject * Clone() const;
    02203 };
    02204
    02205
    02206 //
    02207 // ArrayOf_WildcardField
    02208 //
    02209
    02210 class H248_WildcardField;
    02211
    02212 class H248_ArrayOf_WildcardField : public PASN_Array
    02213 {
    02214 #ifndef PASN_LEANANDMEAN
    02215     PCLASSINFO(H248_ArrayOf_WildcardField, PASN_Array);
    02216 #endif
    02217   public:
    02218     H248_ArrayOf_WildcardField(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02219
    02220     PASN_Object * CreateObject() const;
    02221     H248_WildcardField & operator[](PINDEX i) const;
    02222     PObject * Clone() const;
    02223 };
    02224
    02225
    02226 //
    02227 // MediaDescriptor_streams
    02228 //
    02229
    02230 class H248_StreamParms;
    02231 class H248_ArrayOf_StreamDescriptor;
    02232
    02233 class H248_MediaDescriptor_streams : public PASN_Choice
    02234 {
    02235 #ifndef PASN_LEANANDMEAN
    02236     PCLASSINFO(H248_MediaDescriptor_streams, PASN_Choice);
    02237 #endif
    02238   public:
    02239     H248_MediaDescriptor_streams(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02240
    02241     enum Choices {
    02242       e_oneStream,
    02243       e_multiStream
    02244     };
    02245
    02246 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02247     operator H248_StreamParms &() const;
    02248 #else
    02249     operator H248_StreamParms &();
    02250     operator const H248_StreamParms &() const;
    02251 #endif
    02252 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02253     operator H248_ArrayOf_StreamDescriptor &() const;
    02254 #else
    02255     operator H248_ArrayOf_StreamDescriptor &();
    02256     operator const H248_ArrayOf_StreamDescriptor &() const;
    02257 #endif
    02258
    02259     PBoolean CreateObject();
    02260     PObject * Clone() const;
    02261 };
    02262
    02263
    02264 //
    02265 // ArrayOf_PropertyParm
    02266 //
    02267
    02268 class H248_PropertyParm;
    02269
    02270 class H248_ArrayOf_PropertyParm : public PASN_Array
    02271 {
    02272 #ifndef PASN_LEANANDMEAN
    02273     PCLASSINFO(H248_ArrayOf_PropertyParm, PASN_Array);
    02274 #endif
    02275   public:
    02276     H248_ArrayOf_PropertyParm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02277
    02278     PASN_Object * CreateObject() const;
    02279     H248_PropertyParm & operator[](PINDEX i) const;
    02280     PObject * Clone() const;
    02281 };
    02282
    02283
    02284 //
    02285 // ArrayOf_PASN_OctetString
    02286 //
    02287
    02288 class H248_ArrayOf_PASN_OctetString : public PASN_Array
    02289 {
    02290 #ifndef PASN_LEANANDMEAN
    02291     PCLASSINFO(H248_ArrayOf_PASN_OctetString, PASN_Array);
    02292 #endif
    02293   public:
    02294     H248_ArrayOf_PASN_OctetString(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02295
    02296     PASN_Object * CreateObject() const;
    02297     PASN_OctetString & operator[](PINDEX i) const;
    02298     PObject * Clone() const;
    02299 };
    02300
    02301
    02302 //
    02303 // PropertyParm_extraInfo
    02304 //
    02305
    02306 class H248_Relation;
    02307
    02308 class H248_PropertyParm_extraInfo : public PASN_Choice
    02309 {
    02310 #ifndef PASN_LEANANDMEAN
    02311     PCLASSINFO(H248_PropertyParm_extraInfo, PASN_Choice);
    02312 #endif
    02313   public:
    02314     H248_PropertyParm_extraInfo(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02315
    02316     enum Choices {
    02317       e_relation,
    02318       e_range,
    02319       e_sublist
    02320     };
    02321
    02322 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02323     operator H248_Relation &() const;
    02324 #else
    02325     operator H248_Relation &();
    02326     operator const H248_Relation &() const;
    02327 #endif
    02328
    02329     PBoolean CreateObject();
    02330     PObject * Clone() const;
    02331 };
    02332
    02333
    02334 //
    02335 // ArrayOf_PropertyGroup
    02336 //
    02337
    02338 class H248_PropertyGroup;
    02339
    02340 class H248_ArrayOf_PropertyGroup : public PASN_Array
    02341 {
    02342 #ifndef PASN_LEANANDMEAN
    02343     PCLASSINFO(H248_ArrayOf_PropertyGroup, PASN_Array);
    02344 #endif
    02345   public:
    02346     H248_ArrayOf_PropertyGroup(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02347
    02348     PASN_Object * CreateObject() const;
    02349     H248_PropertyGroup & operator[](PINDEX i) const;
    02350     PObject * Clone() const;
    02351 };
    02352
    02353
    02354 //
    02355 // ArrayOf_TerminationID
    02356 //
    02357
    02358 class H248_TerminationID;
    02359
    02360 class H248_ArrayOf_TerminationID : public PASN_Array
    02361 {
    02362 #ifndef PASN_LEANANDMEAN
    02363     PCLASSINFO(H248_ArrayOf_TerminationID, PASN_Array);
    02364 #endif
    02365   public:
    02366     H248_ArrayOf_TerminationID(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02367
    02368     PASN_Object * CreateObject() const;
    02369     H248_TerminationID & operator[](PINDEX i) const;
    02370     PObject * Clone() const;
    02371 };
    02372
    02373
    02374 //
    02375 // ArrayOf_RequestedEvent
    02376 //
    02377
    02378 class H248_RequestedEvent;
    02379
    02380 class H248_ArrayOf_RequestedEvent : public PASN_Array
    02381 {
    02382 #ifndef PASN_LEANANDMEAN
    02383     PCLASSINFO(H248_ArrayOf_RequestedEvent, PASN_Array);
    02384 #endif
    02385   public:
    02386     H248_ArrayOf_RequestedEvent(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02387
    02388     PASN_Object * CreateObject() const;
    02389     H248_RequestedEvent & operator[](PINDEX i) const;
    02390     PObject * Clone() const;
    02391 };
    02392
    02393
    02394 //
    02395 // ArrayOf_SecondRequestedEvent
    02396 //
    02397
    02398 class H248_SecondRequestedEvent;
    02399
    02400 class H248_ArrayOf_SecondRequestedEvent : public PASN_Array
    02401 {
    02402 #ifndef PASN_LEANANDMEAN
    02403     PCLASSINFO(H248_ArrayOf_SecondRequestedEvent, PASN_Array);
    02404 #endif
    02405   public:
    02406     H248_ArrayOf_SecondRequestedEvent(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02407
    02408     PASN_Object * CreateObject() const;
    02409     H248_SecondRequestedEvent & operator[](PINDEX i) const;
    02410     PObject * Clone() const;
    02411 };
    02412
    02413
    02414 //
    02415 // ArrayOf_Signal
    02416 //
    02417
    02418 class H248_Signal;
    02419
    02420 class H248_ArrayOf_Signal : public PASN_Array
    02421 {
    02422 #ifndef PASN_LEANANDMEAN
    02423     PCLASSINFO(H248_ArrayOf_Signal, PASN_Array);
    02424 #endif
    02425   public:
    02426     H248_ArrayOf_Signal(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02427
    02428     PASN_Object * CreateObject() const;
    02429     H248_Signal & operator[](PINDEX i) const;
    02430     PObject * Clone() const;
    02431 };
    02432
    02433
    02434 //
    02435 // ArrayOf_SigParameter
    02436 //
    02437
    02438 class H248_SigParameter;
    02439
    02440 class H248_ArrayOf_SigParameter : public PASN_Array
    02441 {
    02442 #ifndef PASN_LEANANDMEAN
    02443     PCLASSINFO(H248_ArrayOf_SigParameter, PASN_Array);
    02444 #endif
    02445   public:
    02446     H248_ArrayOf_SigParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02447
    02448     PASN_Object * CreateObject() const;
    02449     H248_SigParameter & operator[](PINDEX i) const;
    02450     PObject * Clone() const;
    02451 };
    02452
    02453
    02454 //
    02455 // SigParameter_extraInfo
    02456 //
    02457
    02458 class H248_Relation;
    02459
    02460 class H248_SigParameter_extraInfo : public PASN_Choice
    02461 {
    02462 #ifndef PASN_LEANANDMEAN
    02463     PCLASSINFO(H248_SigParameter_extraInfo, PASN_Choice);
    02464 #endif
    02465   public:
    02466     H248_SigParameter_extraInfo(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    02467
    02468     enum Choices {
    02469       e_relation,
    02470       e_range,
    02471       e_sublist
    02472     };
    02473
    02474 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    02475     operator H248_Relation &() const;
    02476 #else
    02477     operator H248_Relation &();
    02478     operator const H248_Relation &() const;
    02479 #endif
    02480
    02481     PBoolean CreateObject();
    02482     PObject * Clone() const;
    02483 };
    02484
    02485
    02486 //
    02487 // ArrayOf_ModemType
    02488 //
    02489
    02490 class H248_ModemType;
    02491
    02492 class H248_ArrayOf_ModemType : public PASN_Array
    02493 {
    02494 #ifndef PASN_LEANANDMEAN
    02495     PCLASSINFO(H248_ArrayOf_ModemType, PASN_Array);
    02496 #endif
    02497   public:
    02498     H248_ArrayOf_ModemType(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02499
    02500     PASN_Object * CreateObject() const;
    02501     H248_ModemType & operator[](PINDEX i) const;
    02502     PObject * Clone() const;
    02503 };
    02504
    02505
    02506 //
    02507 // ArrayOf_Transaction
    02508 //
    02509
    02510 class H248_Transaction;
    02511
    02512 class H248_ArrayOf_Transaction : public PASN_Array
    02513 {
    02514 #ifndef PASN_LEANANDMEAN
    02515     PCLASSINFO(H248_ArrayOf_Transaction, PASN_Array);
    02516 #endif
    02517   public:
    02518     H248_ArrayOf_Transaction(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02519
    02520     PASN_Object * CreateObject() const;
    02521     H248_Transaction & operator[](PINDEX i) const;
    02522     PObject * Clone() const;
    02523 };
    02524
    02525
    02526 //
    02527 // ArrayOf_ActionReply
    02528 //
    02529
    02530 class H248_ActionReply;
    02531
    02532 class H248_ArrayOf_ActionReply : public PASN_Array
    02533 {
    02534 #ifndef PASN_LEANANDMEAN
    02535     PCLASSINFO(H248_ArrayOf_ActionReply, PASN_Array);
    02536 #endif
    02537   public:
    02538     H248_ArrayOf_ActionReply(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02539
    02540     PASN_Object * CreateObject() const;
    02541     H248_ActionReply & operator[](PINDEX i) const;
    02542     PObject * Clone() const;
    02543 };
    02544
    02545
    02546 //
    02547 // ArrayOf_IndAudStreamDescriptor
    02548 //
    02549
    02550 class H248_IndAudStreamDescriptor;
    02551
    02552 class H248_ArrayOf_IndAudStreamDescriptor : public PASN_Array
    02553 {
    02554 #ifndef PASN_LEANANDMEAN
    02555     PCLASSINFO(H248_ArrayOf_IndAudStreamDescriptor, PASN_Array);
    02556 #endif
    02557   public:
    02558     H248_ArrayOf_IndAudStreamDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02559
    02560     PASN_Object * CreateObject() const;
    02561     H248_IndAudStreamDescriptor & operator[](PINDEX i) const;
    02562     PObject * Clone() const;
    02563 };
    02564
    02565
    02566 //
    02567 // ArrayOf_StreamDescriptor
    02568 //
    02569
    02570 class H248_StreamDescriptor;
    02571
    02572 class H248_ArrayOf_StreamDescriptor : public PASN_Array
    02573 {
    02574 #ifndef PASN_LEANANDMEAN
    02575     PCLASSINFO(H248_ArrayOf_StreamDescriptor, PASN_Array);
    02576 #endif
    02577   public:
    02578     H248_ArrayOf_StreamDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02579
    02580     PASN_Object * CreateObject() const;
    02581     H248_StreamDescriptor & operator[](PINDEX i) const;
    02582     PObject * Clone() const;
    02583 };
    02584
    02585
    02586 //
    02587 // AuthenticationHeader
    02588 //
    02589
    02590 class H248_AuthenticationHeader : public PASN_Sequence
    02591 {
    02592 #ifndef PASN_LEANANDMEAN
    02593     PCLASSINFO(H248_AuthenticationHeader, PASN_Sequence);
    02594 #endif
    02595   public:
    02596     H248_AuthenticationHeader(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02597
    02598     H248_SecurityParmIndex m_secParmIndex;
    02599     H248_SequenceNum m_seqNum;
    02600     H248_AuthData m_ad;
    02601
    02602     PINDEX GetDataLength() const;
    02603     PBoolean Decode(PASN_Stream & strm);
    02604     void Encode(PASN_Stream & strm) const;
    02605 #ifndef PASN_NOPRINTON
    02606     void PrintOn(ostream & strm) const;
    02607 #endif
    02608     Comparison Compare(const PObject & obj) const;
    02609     PObject * Clone() const;
    02610 };
    02611
    02612
    02613 //
    02614 // Message
    02615 //
    02616
    02617 class H248_Message : public PASN_Sequence
    02618 {
    02619 #ifndef PASN_LEANANDMEAN
    02620     PCLASSINFO(H248_Message, PASN_Sequence);
    02621 #endif
    02622   public:
    02623     H248_Message(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02624
    02625     PASN_Integer m_version;
    02626     H248_MId m_mId;
    02627     H248_Message_messageBody m_messageBody;
    02628
    02629     PINDEX GetDataLength() const;
    02630     PBoolean Decode(PASN_Stream & strm);
    02631     void Encode(PASN_Stream & strm) const;
    02632 #ifndef PASN_NOPRINTON
    02633     void PrintOn(ostream & strm) const;
    02634 #endif
    02635     Comparison Compare(const PObject & obj) const;
    02636     PObject * Clone() const;
    02637 };
    02638
    02639
    02640 //
    02641 // TransactionRequest
    02642 //
    02643
    02644 class H248_TransactionRequest : public PASN_Sequence
    02645 {
    02646 #ifndef PASN_LEANANDMEAN
    02647     PCLASSINFO(H248_TransactionRequest, PASN_Sequence);
    02648 #endif
    02649   public:
    02650     H248_TransactionRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02651
    02652     H248_TransactionId m_transactionId;
    02653     H248_ArrayOf_ActionRequest m_actions;
    02654
    02655     PINDEX GetDataLength() const;
    02656     PBoolean Decode(PASN_Stream & strm);
    02657     void Encode(PASN_Stream & strm) const;
    02658 #ifndef PASN_NOPRINTON
    02659     void PrintOn(ostream & strm) const;
    02660 #endif
    02661     Comparison Compare(const PObject & obj) const;
    02662     PObject * Clone() const;
    02663 };
    02664
    02665
    02666 //
    02667 // TransactionReply
    02668 //
    02669
    02670 class H248_TransactionReply : public PASN_Sequence
    02671 {
    02672 #ifndef PASN_LEANANDMEAN
    02673     PCLASSINFO(H248_TransactionReply, PASN_Sequence);
    02674 #endif
    02675   public:
    02676     H248_TransactionReply(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02677
    02678     enum OptionalFields {
    02679       e_immAckRequired
    02680     };
    02681
    02682     H248_TransactionId m_transactionId;
    02683     PASN_Null m_immAckRequired;
    02684     H248_TransactionReply_transactionResult m_transactionResult;
    02685
    02686     PINDEX GetDataLength() const;
    02687     PBoolean Decode(PASN_Stream & strm);
    02688     void Encode(PASN_Stream & strm) const;
    02689 #ifndef PASN_NOPRINTON
    02690     void PrintOn(ostream & strm) const;
    02691 #endif
    02692     Comparison Compare(const PObject & obj) const;
    02693     PObject * Clone() const;
    02694 };
    02695
    02696
    02697 //
    02698 // ErrorDescriptor
    02699 //
    02700
    02701 class H248_ErrorDescriptor : public PASN_Sequence
    02702 {
    02703 #ifndef PASN_LEANANDMEAN
    02704     PCLASSINFO(H248_ErrorDescriptor, PASN_Sequence);
    02705 #endif
    02706   public:
    02707     H248_ErrorDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02708
    02709     enum OptionalFields {
    02710       e_errorText
    02711     };
    02712
    02713     H248_ErrorCode m_errorCode;
    02714     H248_ErrorText m_errorText;
    02715
    02716     PINDEX GetDataLength() const;
    02717     PBoolean Decode(PASN_Stream & strm);
    02718     void Encode(PASN_Stream & strm) const;
    02719 #ifndef PASN_NOPRINTON
    02720     void PrintOn(ostream & strm) const;
    02721 #endif
    02722     Comparison Compare(const PObject & obj) const;
    02723     PObject * Clone() const;
    02724 };
    02725
    02726
    02727 //
    02728 // ContextRequest
    02729 //
    02730
    02731 class H248_ContextRequest : public PASN_Sequence
    02732 {
    02733 #ifndef PASN_LEANANDMEAN
    02734     PCLASSINFO(H248_ContextRequest, PASN_Sequence);
    02735 #endif
    02736   public:
    02737     H248_ContextRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02738
    02739     enum OptionalFields {
    02740       e_priority,
    02741       e_emergency,
    02742       e_topologyReq
    02743     };
    02744
    02745     PASN_Integer m_priority;
    02746     PASN_Boolean m_emergency;
    02747     H248_ArrayOf_TopologyRequest m_topologyReq;
    02748
    02749     PINDEX GetDataLength() const;
    02750     PBoolean Decode(PASN_Stream & strm);
    02751     void Encode(PASN_Stream & strm) const;
    02752 #ifndef PASN_NOPRINTON
    02753     void PrintOn(ostream & strm) const;
    02754 #endif
    02755     Comparison Compare(const PObject & obj) const;
    02756     PObject * Clone() const;
    02757 };
    02758
    02759
    02760 //
    02761 // CommandRequest
    02762 //
    02763
    02764 class H248_CommandRequest : public PASN_Sequence
    02765 {
    02766 #ifndef PASN_LEANANDMEAN
    02767     PCLASSINFO(H248_CommandRequest, PASN_Sequence);
    02768 #endif
    02769   public:
    02770     H248_CommandRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02771
    02772     enum OptionalFields {
    02773       e_optional,
    02774       e_wildcardReturn
    02775     };
    02776
    02777     H248_Command m_command;
    02778     PASN_Null m_optional;
    02779     PASN_Null m_wildcardReturn;
    02780
    02781     PINDEX GetDataLength() const;
    02782     PBoolean Decode(PASN_Stream & strm);
    02783     void Encode(PASN_Stream & strm) const;
    02784 #ifndef PASN_NOPRINTON
    02785     void PrintOn(ostream & strm) const;
    02786 #endif
    02787     Comparison Compare(const PObject & obj) const;
    02788     PObject * Clone() const;
    02789 };
    02790
    02791
    02792 //
    02793 // AmmRequest
    02794 //
    02795
    02796 class H248_AmmRequest : public PASN_Sequence
    02797 {
    02798 #ifndef PASN_LEANANDMEAN
    02799     PCLASSINFO(H248_AmmRequest, PASN_Sequence);
    02800 #endif
    02801   public:
    02802     H248_AmmRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02803
    02804     H248_TerminationIDList m_terminationID;
    02805     H248_ArrayOf_AmmDescriptor m_descriptors;
    02806
    02807     PINDEX GetDataLength() const;
    02808     PBoolean Decode(PASN_Stream & strm);
    02809     void Encode(PASN_Stream & strm) const;
    02810 #ifndef PASN_NOPRINTON
    02811     void PrintOn(ostream & strm) const;
    02812 #endif
    02813     Comparison Compare(const PObject & obj) const;
    02814     PObject * Clone() const;
    02815 };
    02816
    02817
    02818 //
    02819 // AmmsReply
    02820 //
    02821
    02822 class H248_AmmsReply : public PASN_Sequence
    02823 {
    02824 #ifndef PASN_LEANANDMEAN
    02825     PCLASSINFO(H248_AmmsReply, PASN_Sequence);
    02826 #endif
    02827   public:
    02828     H248_AmmsReply(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02829
    02830     enum OptionalFields {
    02831       e_terminationAudit
    02832     };
    02833
    02834     H248_TerminationIDList m_terminationID;
    02835     H248_TerminationAudit m_terminationAudit;
    02836
    02837     PINDEX GetDataLength() const;
    02838     PBoolean Decode(PASN_Stream & strm);
    02839     void Encode(PASN_Stream & strm) const;
    02840 #ifndef PASN_NOPRINTON
    02841     void PrintOn(ostream & strm) const;
    02842 #endif
    02843     Comparison Compare(const PObject & obj) const;
    02844     PObject * Clone() const;
    02845 };
    02846
    02847
    02848 //
    02849 // AuditDescriptor
    02850 //
    02851
    02852 class H248_AuditDescriptor : public PASN_Sequence
    02853 {
    02854 #ifndef PASN_LEANANDMEAN
    02855     PCLASSINFO(H248_AuditDescriptor, PASN_Sequence);
    02856 #endif
    02857   public:
    02858     H248_AuditDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02859
    02860     enum OptionalFields {
    02861       e_auditToken,
    02862       e_auditPropertyToken
    02863     };
    02864
    02865     PASN_BitString m_auditToken;
    02866     H248_ArrayOf_IndAuditParameter m_auditPropertyToken;
    02867
    02868     PINDEX GetDataLength() const;
    02869     PBoolean Decode(PASN_Stream & strm);
    02870     void Encode(PASN_Stream & strm) const;
    02871 #ifndef PASN_NOPRINTON
    02872     void PrintOn(ostream & strm) const;
    02873 #endif
    02874     Comparison Compare(const PObject & obj) const;
    02875     PObject * Clone() const;
    02876 };
    02877
    02878
    02879 //
    02880 // IndAudLocalControlDescriptor
    02881 //
    02882
    02883 class H248_IndAudLocalControlDescriptor : public PASN_Sequence
    02884 {
    02885 #ifndef PASN_LEANANDMEAN
    02886     PCLASSINFO(H248_IndAudLocalControlDescriptor, PASN_Sequence);
    02887 #endif
    02888   public:
    02889     H248_IndAudLocalControlDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02890
    02891     enum OptionalFields {
    02892       e_streamMode,
    02893       e_reserveValue,
    02894       e_reserveGroup,
    02895       e_propertyParms
    02896     };
    02897
    02898     PASN_Null m_streamMode;
    02899     PASN_Null m_reserveValue;
    02900     PASN_Null m_reserveGroup;
    02901     H248_ArrayOf_IndAudPropertyParm m_propertyParms;
    02902
    02903     PINDEX GetDataLength() const;
    02904     PBoolean Decode(PASN_Stream & strm);
    02905     void Encode(PASN_Stream & strm) const;
    02906 #ifndef PASN_NOPRINTON
    02907     void PrintOn(ostream & strm) const;
    02908 #endif
    02909     Comparison Compare(const PObject & obj) const;
    02910     PObject * Clone() const;
    02911 };
    02912
    02913
    02914 //
    02915 // IndAudPropertyParm
    02916 //
    02917
    02918 class H248_IndAudPropertyParm : public PASN_Sequence
    02919 {
    02920 #ifndef PASN_LEANANDMEAN
    02921     PCLASSINFO(H248_IndAudPropertyParm, PASN_Sequence);
    02922 #endif
    02923   public:
    02924     H248_IndAudPropertyParm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02925
    02926     H248_PkgdName m_name;
    02927
    02928     PINDEX GetDataLength() const;
    02929     PBoolean Decode(PASN_Stream & strm);
    02930     void Encode(PASN_Stream & strm) const;
    02931 #ifndef PASN_NOPRINTON
    02932     void PrintOn(ostream & strm) const;
    02933 #endif
    02934     Comparison Compare(const PObject & obj) const;
    02935     PObject * Clone() const;
    02936 };
    02937
    02938
    02939 //
    02940 // IndAudLocalRemoteDescriptor
    02941 //
    02942
    02943 class H248_IndAudLocalRemoteDescriptor : public PASN_Sequence
    02944 {
    02945 #ifndef PASN_LEANANDMEAN
    02946     PCLASSINFO(H248_IndAudLocalRemoteDescriptor, PASN_Sequence);
    02947 #endif
    02948   public:
    02949     H248_IndAudLocalRemoteDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02950
    02951     enum OptionalFields {
    02952       e_propGroupID
    02953     };
    02954
    02955     PASN_Integer m_propGroupID;
    02956     H248_IndAudPropertyGroup m_propGrps;
    02957
    02958     PINDEX GetDataLength() const;
    02959     PBoolean Decode(PASN_Stream & strm);
    02960     void Encode(PASN_Stream & strm) const;
    02961 #ifndef PASN_NOPRINTON
    02962     void PrintOn(ostream & strm) const;
    02963 #endif
    02964     Comparison Compare(const PObject & obj) const;
    02965     PObject * Clone() const;
    02966 };
    02967
    02968
    02969 //
    02970 // IndAudTerminationStateDescriptor
    02971 //
    02972
    02973 class H248_IndAudTerminationStateDescriptor : public PASN_Sequence
    02974 {
    02975 #ifndef PASN_LEANANDMEAN
    02976     PCLASSINFO(H248_IndAudTerminationStateDescriptor, PASN_Sequence);
    02977 #endif
    02978   public:
    02979     H248_IndAudTerminationStateDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    02980
    02981     enum OptionalFields {
    02982       e_eventBufferControl,
    02983       e_serviceState
    02984     };
    02985
    02986     H248_ArrayOf_IndAudPropertyParm m_propertyParms;
    02987     PASN_Null m_eventBufferControl;
    02988     PASN_Null m_serviceState;
    02989
    02990     PINDEX GetDataLength() const;
    02991     PBoolean Decode(PASN_Stream & strm);
    02992     void Encode(PASN_Stream & strm) const;
    02993 #ifndef PASN_NOPRINTON
    02994     void PrintOn(ostream & strm) const;
    02995 #endif
    02996     Comparison Compare(const PObject & obj) const;
    02997     PObject * Clone() const;
    02998 };
    02999
    03000
    03001 //
    03002 // IndAudEventsDescriptor
    03003 //
    03004
    03005 class H248_IndAudEventsDescriptor : public PASN_Sequence
    03006 {
    03007 #ifndef PASN_LEANANDMEAN
    03008     PCLASSINFO(H248_IndAudEventsDescriptor, PASN_Sequence);
    03009 #endif
    03010   public:
    03011     H248_IndAudEventsDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03012
    03013     enum OptionalFields {
    03014       e_requestID,
    03015       e_streamID
    03016     };
    03017
    03018     H248_RequestID m_requestID;
    03019     H248_PkgdName m_pkgdName;
    03020     H248_StreamID m_streamID;
    03021
    03022     PINDEX GetDataLength() const;
    03023     PBoolean Decode(PASN_Stream & strm);
    03024     void Encode(PASN_Stream & strm) const;
    03025 #ifndef PASN_NOPRINTON
    03026     void PrintOn(ostream & strm) const;
    03027 #endif
    03028     Comparison Compare(const PObject & obj) const;
    03029     PObject * Clone() const;
    03030 };
    03031
    03032
    03033 //
    03034 // IndAudEventBufferDescriptor
    03035 //
    03036
    03037 class H248_IndAudEventBufferDescriptor : public PASN_Sequence
    03038 {
    03039 #ifndef PASN_LEANANDMEAN
    03040     PCLASSINFO(H248_IndAudEventBufferDescriptor, PASN_Sequence);
    03041 #endif
    03042   public:
    03043     H248_IndAudEventBufferDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03044
    03045     enum OptionalFields {
    03046       e_streamID
    03047     };
    03048
    03049     H248_PkgdName m_eventName;
    03050     H248_StreamID m_streamID;
    03051
    03052     PINDEX GetDataLength() const;
    03053     PBoolean Decode(PASN_Stream & strm);
    03054     void Encode(PASN_Stream & strm) const;
    03055 #ifndef PASN_NOPRINTON
    03056     void PrintOn(ostream & strm) const;
    03057 #endif
    03058     Comparison Compare(const PObject & obj) const;
    03059     PObject * Clone() const;
    03060 };
    03061
    03062
    03063 //
    03064 // IndAudSignal
    03065 //
    03066
    03067 class H248_IndAudSignal : public PASN_Sequence
    03068 {
    03069 #ifndef PASN_LEANANDMEAN
    03070     PCLASSINFO(H248_IndAudSignal, PASN_Sequence);
    03071 #endif
    03072   public:
    03073     H248_IndAudSignal(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03074
    03075     enum OptionalFields {
    03076       e_streamID
    03077     };
    03078
    03079     H248_PkgdName m_signalName;
    03080     H248_StreamID m_streamID;
    03081
    03082     PINDEX GetDataLength() const;
    03083     PBoolean Decode(PASN_Stream & strm);
    03084     void Encode(PASN_Stream & strm) const;
    03085 #ifndef PASN_NOPRINTON
    03086     void PrintOn(ostream & strm) const;
    03087 #endif
    03088     Comparison Compare(const PObject & obj) const;
    03089     PObject * Clone() const;
    03090 };
    03091
    03092
    03093 //
    03094 // IndAudDigitMapDescriptor
    03095 //
    03096
    03097 class H248_IndAudDigitMapDescriptor : public PASN_Sequence
    03098 {
    03099 #ifndef PASN_LEANANDMEAN
    03100     PCLASSINFO(H248_IndAudDigitMapDescriptor, PASN_Sequence);
    03101 #endif
    03102   public:
    03103     H248_IndAudDigitMapDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03104
    03105     enum OptionalFields {
    03106       e_digitMapName
    03107     };
    03108
    03109     H248_DigitMapName m_digitMapName;
    03110
    03111     PINDEX GetDataLength() const;
    03112     PBoolean Decode(PASN_Stream & strm);
    03113     void Encode(PASN_Stream & strm) const;
    03114 #ifndef PASN_NOPRINTON
    03115     void PrintOn(ostream & strm) const;
    03116 #endif
    03117     Comparison Compare(const PObject & obj) const;
    03118     PObject * Clone() const;
    03119 };
    03120
    03121
    03122 //
    03123 // IndAudStatisticsDescriptor
    03124 //
    03125
    03126 class H248_IndAudStatisticsDescriptor : public PASN_Sequence
    03127 {
    03128 #ifndef PASN_LEANANDMEAN
    03129     PCLASSINFO(H248_IndAudStatisticsDescriptor, PASN_Sequence);
    03130 #endif
    03131   public:
    03132     H248_IndAudStatisticsDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03133
    03134     H248_PkgdName m_statName;
    03135
    03136     PINDEX GetDataLength() const;
    03137     PBoolean Decode(PASN_Stream & strm);
    03138     void Encode(PASN_Stream & strm) const;
    03139 #ifndef PASN_NOPRINTON
    03140     void PrintOn(ostream & strm) const;
    03141 #endif
    03142     Comparison Compare(const PObject & obj) const;
    03143     PObject * Clone() const;
    03144 };
    03145
    03146
    03147 //
    03148 // IndAudPackagesDescriptor
    03149 //
    03150
    03151 class H248_IndAudPackagesDescriptor : public PASN_Sequence
    03152 {
    03153 #ifndef PASN_LEANANDMEAN
    03154     PCLASSINFO(H248_IndAudPackagesDescriptor, PASN_Sequence);
    03155 #endif
    03156   public:
    03157     H248_IndAudPackagesDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03158
    03159     H248_Name m_packageName;
    03160     PASN_Integer m_packageVersion;
    03161
    03162     PINDEX GetDataLength() const;
    03163     PBoolean Decode(PASN_Stream & strm);
    03164     void Encode(PASN_Stream & strm) const;
    03165 #ifndef PASN_NOPRINTON
    03166     void PrintOn(ostream & strm) const;
    03167 #endif
    03168     Comparison Compare(const PObject & obj) const;
    03169     PObject * Clone() const;
    03170 };
    03171
    03172
    03173 //
    03174 // NotifyReply
    03175 //
    03176
    03177 class H248_NotifyReply : public PASN_Sequence
    03178 {
    03179 #ifndef PASN_LEANANDMEAN
    03180     PCLASSINFO(H248_NotifyReply, PASN_Sequence);
    03181 #endif
    03182   public:
    03183     H248_NotifyReply(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03184
    03185     enum OptionalFields {
    03186       e_errorDescriptor
    03187     };
    03188
    03189     H248_TerminationIDList m_terminationID;
    03190     H248_ErrorDescriptor m_errorDescriptor;
    03191
    03192     PINDEX GetDataLength() const;
    03193     PBoolean Decode(PASN_Stream & strm);
    03194     void Encode(PASN_Stream & strm) const;
    03195 #ifndef PASN_NOPRINTON
    03196     void PrintOn(ostream & strm) const;
    03197 #endif
    03198     Comparison Compare(const PObject & obj) const;
    03199     PObject * Clone() const;
    03200 };
    03201
    03202
    03203 //
    03204 // ObservedEventsDescriptor
    03205 //
    03206
    03207 class H248_ObservedEventsDescriptor : public PASN_Sequence
    03208 {
    03209 #ifndef PASN_LEANANDMEAN
    03210     PCLASSINFO(H248_ObservedEventsDescriptor, PASN_Sequence);
    03211 #endif
    03212   public:
    03213     H248_ObservedEventsDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03214
    03215     H248_RequestID m_requestId;
    03216     H248_ArrayOf_ObservedEvent m_observedEventLst;
    03217
    03218     PINDEX GetDataLength() const;
    03219     PBoolean Decode(PASN_Stream & strm);
    03220     void Encode(PASN_Stream & strm) const;
    03221 #ifndef PASN_NOPRINTON
    03222     void PrintOn(ostream & strm) const;
    03223 #endif
    03224     Comparison Compare(const PObject & obj) const;
    03225     PObject * Clone() const;
    03226 };
    03227
    03228
    03229 //
    03230 // EventName
    03231 //
    03232
    03233 class H248_EventName : public H248_PkgdName
    03234 {
    03235 #ifndef PASN_LEANANDMEAN
    03236     PCLASSINFO(H248_EventName, H248_PkgdName);
    03237 #endif
    03238   public:
    03239     H248_EventName(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
    03240
    03241     H248_EventName(const char * v);
    03242     H248_EventName(const PString & v);
    03243     H248_EventName(const PBYTEArray & v);
    03244
    03245     H248_EventName & operator=(const char * v);
    03246     H248_EventName & operator=(const PString & v);
    03247     H248_EventName & operator=(const PBYTEArray & v);
    03248     PObject * Clone() const;
    03249 };
    03250
    03251
    03252 //
    03253 // EventParameter
    03254 //
    03255
    03256 class H248_EventParameter : public PASN_Sequence
    03257 {
    03258 #ifndef PASN_LEANANDMEAN
    03259     PCLASSINFO(H248_EventParameter, PASN_Sequence);
    03260 #endif
    03261   public:
    03262     H248_EventParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03263
    03264     enum OptionalFields {
    03265       e_extraInfo
    03266     };
    03267
    03268     H248_Name m_eventParameterName;
    03269     H248_Value m_value;
    03270     H248_EventParameter_extraInfo m_extraInfo;
    03271
    03272     PINDEX GetDataLength() const;
    03273     PBoolean Decode(PASN_Stream & strm);
    03274     void Encode(PASN_Stream & strm) const;
    03275 #ifndef PASN_NOPRINTON
    03276     void PrintOn(ostream & strm) const;
    03277 #endif
    03278     Comparison Compare(const PObject & obj) const;
    03279     PObject * Clone() const;
    03280 };
    03281
    03282
    03283 //
    03284 // ServiceChangeReply
    03285 //
    03286
    03287 class H248_ServiceChangeReply : public PASN_Sequence
    03288 {
    03289 #ifndef PASN_LEANANDMEAN
    03290     PCLASSINFO(H248_ServiceChangeReply, PASN_Sequence);
    03291 #endif
    03292   public:
    03293     H248_ServiceChangeReply(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03294
    03295     H248_TerminationIDList m_terminationID;
    03296     H248_ServiceChangeResult m_serviceChangeResult;
    03297
    03298     PINDEX GetDataLength() const;
    03299     PBoolean Decode(PASN_Stream & strm);
    03300     void Encode(PASN_Stream & strm) const;
    03301 #ifndef PASN_NOPRINTON
    03302     void PrintOn(ostream & strm) const;
    03303 #endif
    03304     Comparison Compare(const PObject & obj) const;
    03305     PObject * Clone() const;
    03306 };
    03307
    03308
    03309 //
    03310 // TerminationID
    03311 //
    03312
    03313 class H248_TerminationID : public PASN_Sequence
    03314 {
    03315 #ifndef PASN_LEANANDMEAN
    03316     PCLASSINFO(H248_TerminationID, PASN_Sequence);
    03317 #endif
    03318   public:
    03319     H248_TerminationID(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03320
    03321     H248_ArrayOf_WildcardField m_wildcard;
    03322     PASN_OctetString m_id;
    03323
    03324     PINDEX GetDataLength() const;
    03325     PBoolean Decode(PASN_Stream & strm);
    03326     void Encode(PASN_Stream & strm) const;
    03327 #ifndef PASN_NOPRINTON
    03328     void PrintOn(ostream & strm) const;
    03329 #endif
    03330     Comparison Compare(const PObject & obj) const;
    03331     PObject * Clone() const;
    03332 };
    03333
    03334
    03335 //
    03336 // LocalControlDescriptor
    03337 //
    03338
    03339 class H248_LocalControlDescriptor : public PASN_Sequence
    03340 {
    03341 #ifndef PASN_LEANANDMEAN
    03342     PCLASSINFO(H248_LocalControlDescriptor, PASN_Sequence);
    03343 #endif
    03344   public:
    03345     H248_LocalControlDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03346
    03347     enum OptionalFields {
    03348       e_streamMode,
    03349       e_reserveValue,
    03350       e_reserveGroup
    03351     };
    03352
    03353     H248_StreamMode m_streamMode;
    03354     PASN_Boolean m_reserveValue;
    03355     PASN_Boolean m_reserveGroup;
    03356     H248_ArrayOf_PropertyParm m_propertyParms;
    03357
    03358     PINDEX GetDataLength() const;
    03359     PBoolean Decode(PASN_Stream & strm);
    03360     void Encode(PASN_Stream & strm) const;
    03361 #ifndef PASN_NOPRINTON
    03362     void PrintOn(ostream & strm) const;
    03363 #endif
    03364     Comparison Compare(const PObject & obj) const;
    03365     PObject * Clone() const;
    03366 };
    03367
    03368
    03369 //
    03370 // PropertyParm
    03371 //
    03372
    03373 class H248_PropertyParm : public PASN_Sequence
    03374 {
    03375 #ifndef PASN_LEANANDMEAN
    03376     PCLASSINFO(H248_PropertyParm, PASN_Sequence);
    03377 #endif
    03378   public:
    03379     H248_PropertyParm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03380
    03381     enum OptionalFields {
    03382       e_extraInfo
    03383     };
    03384
    03385     H248_PkgdName m_name;
    03386     H248_ArrayOf_PASN_OctetString m_value;
    03387     H248_PropertyParm_extraInfo m_extraInfo;
    03388
    03389     PINDEX GetDataLength() const;
    03390     PBoolean Decode(PASN_Stream & strm);
    03391     void Encode(PASN_Stream & strm) const;
    03392 #ifndef PASN_NOPRINTON
    03393     void PrintOn(ostream & strm) const;
    03394 #endif
    03395     Comparison Compare(const PObject & obj) const;
    03396     PObject * Clone() const;
    03397 };
    03398
    03399
    03400 //
    03401 // LocalRemoteDescriptor
    03402 //
    03403
    03404 class H248_LocalRemoteDescriptor : public PASN_Sequence
    03405 {
    03406 #ifndef PASN_LEANANDMEAN
    03407     PCLASSINFO(H248_LocalRemoteDescriptor, PASN_Sequence);
    03408 #endif
    03409   public:
    03410     H248_LocalRemoteDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03411
    03412     H248_ArrayOf_PropertyGroup m_propGrps;
    03413
    03414     PINDEX GetDataLength() const;
    03415     PBoolean Decode(PASN_Stream & strm);
    03416     void Encode(PASN_Stream & strm) const;
    03417 #ifndef PASN_NOPRINTON
    03418     void PrintOn(ostream & strm) const;
    03419 #endif
    03420     Comparison Compare(const PObject & obj) const;
    03421     PObject * Clone() const;
    03422 };
    03423
    03424
    03425 //
    03426 // TerminationStateDescriptor
    03427 //
    03428
    03429 class H248_TerminationStateDescriptor : public PASN_Sequence
    03430 {
    03431 #ifndef PASN_LEANANDMEAN
    03432     PCLASSINFO(H248_TerminationStateDescriptor, PASN_Sequence);
    03433 #endif
    03434   public:
    03435     H248_TerminationStateDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03436
    03437     enum OptionalFields {
    03438       e_eventBufferControl,
    03439       e_serviceState
    03440     };
    03441
    03442     H248_ArrayOf_PropertyParm m_propertyParms;
    03443     H248_EventBufferControl m_eventBufferControl;
    03444     H248_ServiceState m_serviceState;
    03445
    03446     PINDEX GetDataLength() const;
    03447     PBoolean Decode(PASN_Stream & strm);
    03448     void Encode(PASN_Stream & strm) const;
    03449 #ifndef PASN_NOPRINTON
    03450     void PrintOn(ostream & strm) const;
    03451 #endif
    03452     Comparison Compare(const PObject & obj) const;
    03453     PObject * Clone() const;
    03454 };
    03455
    03456
    03457 //
    03458 // EventsDescriptor
    03459 //
    03460
    03461 class H248_EventsDescriptor : public PASN_Sequence
    03462 {
    03463 #ifndef PASN_LEANANDMEAN
    03464     PCLASSINFO(H248_EventsDescriptor, PASN_Sequence);
    03465 #endif
    03466   public:
    03467     H248_EventsDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03468
    03469     enum OptionalFields {
    03470       e_requestID
    03471     };
    03472
    03473     H248_RequestID m_requestID;
    03474     H248_ArrayOf_RequestedEvent m_eventList;
    03475
    03476     PINDEX GetDataLength() const;
    03477     PBoolean Decode(PASN_Stream & strm);
    03478     void Encode(PASN_Stream & strm) const;
    03479 #ifndef PASN_NOPRINTON
    03480     void PrintOn(ostream & strm) const;
    03481 #endif
    03482     Comparison Compare(const PObject & obj) const;
    03483     PObject * Clone() const;
    03484 };
    03485
    03486
    03487 //
    03488 // SecondEventsDescriptor
    03489 //
    03490
    03491 class H248_SecondEventsDescriptor : public PASN_Sequence
    03492 {
    03493 #ifndef PASN_LEANANDMEAN
    03494     PCLASSINFO(H248_SecondEventsDescriptor, PASN_Sequence);
    03495 #endif
    03496   public:
    03497     H248_SecondEventsDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03498
    03499     enum OptionalFields {
    03500       e_requestID
    03501     };
    03502
    03503     H248_RequestID m_requestID;
    03504     H248_ArrayOf_SecondRequestedEvent m_eventList;
    03505
    03506     PINDEX GetDataLength() const;
    03507     PBoolean Decode(PASN_Stream & strm);
    03508     void Encode(PASN_Stream & strm) const;
    03509 #ifndef PASN_NOPRINTON
    03510     void PrintOn(ostream & strm) const;
    03511 #endif
    03512     Comparison Compare(const PObject & obj) const;
    03513     PObject * Clone() const;
    03514 };
    03515
    03516
    03517 //
    03518 // SecondRequestedActions
    03519 //
    03520
    03521 class H248_SecondRequestedActions : public PASN_Sequence
    03522 {
    03523 #ifndef PASN_LEANANDMEAN
    03524     PCLASSINFO(H248_SecondRequestedActions, PASN_Sequence);
    03525 #endif
    03526   public:
    03527     H248_SecondRequestedActions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03528
    03529     enum OptionalFields {
    03530       e_keepActive,
    03531       e_eventDM,
    03532       e_signalsDescriptor
    03533     };
    03534
    03535     PASN_Boolean m_keepActive;
    03536     H248_EventDM m_eventDM;
    03537     H248_SignalsDescriptor m_signalsDescriptor;
    03538
    03539     PINDEX GetDataLength() const;
    03540     PBoolean Decode(PASN_Stream & strm);
    03541     void Encode(PASN_Stream & strm) const;
    03542 #ifndef PASN_NOPRINTON
    03543     void PrintOn(ostream & strm) const;
    03544 #endif
    03545     Comparison Compare(const PObject & obj) const;
    03546     PObject * Clone() const;
    03547 };
    03548
    03549
    03550 //
    03551 // EventSpec
    03552 //
    03553
    03554 class H248_EventSpec : public PASN_Sequence
    03555 {
    03556 #ifndef PASN_LEANANDMEAN
    03557     PCLASSINFO(H248_EventSpec, PASN_Sequence);
    03558 #endif
    03559   public:
    03560     H248_EventSpec(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03561
    03562     enum OptionalFields {
    03563       e_streamID
    03564     };
    03565
    03566     H248_EventName m_eventName;
    03567     H248_StreamID m_streamID;
    03568     H248_ArrayOf_EventParameter m_eventParList;
    03569
    03570     PINDEX GetDataLength() const;
    03571     PBoolean Decode(PASN_Stream & strm);
    03572     void Encode(PASN_Stream & strm) const;
    03573 #ifndef PASN_NOPRINTON
    03574     void PrintOn(ostream & strm) const;
    03575 #endif
    03576     Comparison Compare(const PObject & obj) const;
    03577     PObject * Clone() const;
    03578 };
    03579
    03580
    03581 //
    03582 // SeqSigList
    03583 //
    03584
    03585 class H248_SeqSigList : public PASN_Sequence
    03586 {
    03587 #ifndef PASN_LEANANDMEAN
    03588     PCLASSINFO(H248_SeqSigList, PASN_Sequence);
    03589 #endif
    03590   public:
    03591     H248_SeqSigList(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03592
    03593     PASN_Integer m_id;
    03594     H248_ArrayOf_Signal m_signalList;
    03595
    03596     PINDEX GetDataLength() const;
    03597     PBoolean Decode(PASN_Stream & strm);
    03598     void Encode(PASN_Stream & strm) const;
    03599 #ifndef PASN_NOPRINTON
    03600     void PrintOn(ostream & strm) const;
    03601 #endif
    03602     Comparison Compare(const PObject & obj) const;
    03603     PObject * Clone() const;
    03604 };
    03605
    03606
    03607 //
    03608 // Signal
    03609 //
    03610
    03611 class H248_Signal : public PASN_Sequence
    03612 {
    03613 #ifndef PASN_LEANANDMEAN
    03614     PCLASSINFO(H248_Signal, PASN_Sequence);
    03615 #endif
    03616   public:
    03617     H248_Signal(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03618
    03619     enum OptionalFields {
    03620       e_streamID,
    03621       e_sigType,
    03622       e_duration,
    03623       e_notifyCompletion,
    03624       e_keepActive
    03625     };
    03626
    03627     H248_SignalName m_signalName;
    03628     H248_StreamID m_streamID;
    03629     H248_SignalType m_sigType;
    03630     PASN_Integer m_duration;
    03631     H248_NotifyCompletion m_notifyCompletion;
    03632     PASN_Boolean m_keepActive;
    03633     H248_ArrayOf_SigParameter m_sigParList;
    03634
    03635     PINDEX GetDataLength() const;
    03636     PBoolean Decode(PASN_Stream & strm);
    03637     void Encode(PASN_Stream & strm) const;
    03638 #ifndef PASN_NOPRINTON
    03639     void PrintOn(ostream & strm) const;
    03640 #endif
    03641     Comparison Compare(const PObject & obj) const;
    03642     PObject * Clone() const;
    03643 };
    03644
    03645
    03646 //
    03647 // SigParameter
    03648 //
    03649
    03650 class H248_SigParameter : public PASN_Sequence
    03651 {
    03652 #ifndef PASN_LEANANDMEAN
    03653     PCLASSINFO(H248_SigParameter, PASN_Sequence);
    03654 #endif
    03655   public:
    03656     H248_SigParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03657
    03658     enum OptionalFields {
    03659       e_extraInfo
    03660     };
    03661
    03662     H248_Name m_sigParameterName;
    03663     H248_Value m_value;
    03664     H248_SigParameter_extraInfo m_extraInfo;
    03665
    03666     PINDEX GetDataLength() const;
    03667     PBoolean Decode(PASN_Stream & strm);
    03668     void Encode(PASN_Stream & strm) const;
    03669 #ifndef PASN_NOPRINTON
    03670     void PrintOn(ostream & strm) const;
    03671 #endif
    03672     Comparison Compare(const PObject & obj) const;
    03673     PObject * Clone() const;
    03674 };
    03675
    03676
    03677 //
    03678 // DigitMapDescriptor
    03679 //
    03680
    03681 class H248_DigitMapDescriptor : public PASN_Sequence
    03682 {
    03683 #ifndef PASN_LEANANDMEAN
    03684     PCLASSINFO(H248_DigitMapDescriptor, PASN_Sequence);
    03685 #endif
    03686   public:
    03687     H248_DigitMapDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03688
    03689     enum OptionalFields {
    03690       e_digitMapName,
    03691       e_digitMapValue
    03692     };
    03693
    03694     H248_DigitMapName m_digitMapName;
    03695     H248_DigitMapValue m_digitMapValue;
    03696
    03697     PINDEX GetDataLength() const;
    03698     PBoolean Decode(PASN_Stream & strm);
    03699     void Encode(PASN_Stream & strm) const;
    03700 #ifndef PASN_NOPRINTON
    03701     void PrintOn(ostream & strm) const;
    03702 #endif
    03703     Comparison Compare(const PObject & obj) const;
    03704     PObject * Clone() const;
    03705 };
    03706
    03707
    03708 //
    03709 // ServiceChangeResParm
    03710 //
    03711
    03712 class H248_ServiceChangeResParm : public PASN_Sequence
    03713 {
    03714 #ifndef PASN_LEANANDMEAN
    03715     PCLASSINFO(H248_ServiceChangeResParm, PASN_Sequence);
    03716 #endif
    03717   public:
    03718     H248_ServiceChangeResParm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03719
    03720     enum OptionalFields {
    03721       e_serviceChangeMgcId,
    03722       e_serviceChangeAddress,
    03723       e_serviceChangeVersion,
    03724       e_serviceChangeProfile,
    03725       e_timestamp
    03726     };
    03727
    03728     H248_MId m_serviceChangeMgcId;
    03729     H248_ServiceChangeAddress m_serviceChangeAddress;
    03730     PASN_Integer m_serviceChangeVersion;
    03731     H248_ServiceChangeProfile m_serviceChangeProfile;
    03732     H248_TimeNotation m_timestamp;
    03733
    03734     PINDEX GetDataLength() const;
    03735     PBoolean Decode(PASN_Stream & strm);
    03736     void Encode(PASN_Stream & strm) const;
    03737 #ifndef PASN_NOPRINTON
    03738     void PrintOn(ostream & strm) const;
    03739 #endif
    03740     Comparison Compare(const PObject & obj) const;
    03741     PObject * Clone() const;
    03742 };
    03743
    03744
    03745 //
    03746 // StatisticsParameter
    03747 //
    03748
    03749 class H248_StatisticsParameter : public PASN_Sequence
    03750 {
    03751 #ifndef PASN_LEANANDMEAN
    03752     PCLASSINFO(H248_StatisticsParameter, PASN_Sequence);
    03753 #endif
    03754   public:
    03755     H248_StatisticsParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03756
    03757     enum OptionalFields {
    03758       e_statValue
    03759     };
    03760
    03761     H248_PkgdName m_statName;
    03762     H248_Value m_statValue;
    03763
    03764     PINDEX GetDataLength() const;
    03765     PBoolean Decode(PASN_Stream & strm);
    03766     void Encode(PASN_Stream & strm) const;
    03767 #ifndef PASN_NOPRINTON
    03768     void PrintOn(ostream & strm) const;
    03769 #endif
    03770     Comparison Compare(const PObject & obj) const;
    03771     PObject * Clone() const;
    03772 };
    03773
    03774
    03775 //
    03776 // NonStandardData
    03777 //
    03778
    03779 class H248_NonStandardData : public PASN_Sequence
    03780 {
    03781 #ifndef PASN_LEANANDMEAN
    03782     PCLASSINFO(H248_NonStandardData, PASN_Sequence);
    03783 #endif
    03784   public:
    03785     H248_NonStandardData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03786
    03787     H248_NonStandardIdentifier m_nonStandardIdentifier;
    03788     PASN_OctetString m_data;
    03789
    03790     PINDEX GetDataLength() const;
    03791     PBoolean Decode(PASN_Stream & strm);
    03792     void Encode(PASN_Stream & strm) const;
    03793 #ifndef PASN_NOPRINTON
    03794     void PrintOn(ostream & strm) const;
    03795 #endif
    03796     Comparison Compare(const PObject & obj) const;
    03797     PObject * Clone() const;
    03798 };
    03799
    03800
    03801 //
    03802 // MegacoMessage
    03803 //
    03804
    03805 class H248_MegacoMessage : public PASN_Sequence
    03806 {
    03807 #ifndef PASN_LEANANDMEAN
    03808     PCLASSINFO(H248_MegacoMessage, PASN_Sequence);
    03809 #endif
    03810   public:
    03811     H248_MegacoMessage(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03812
    03813     enum OptionalFields {
    03814       e_authHeader
    03815     };
    03816
    03817     H248_AuthenticationHeader m_authHeader;
    03818     H248_Message m_mess;
    03819
    03820     PINDEX GetDataLength() const;
    03821     PBoolean Decode(PASN_Stream & strm);
    03822     void Encode(PASN_Stream & strm) const;
    03823 #ifndef PASN_NOPRINTON
    03824     void PrintOn(ostream & strm) const;
    03825 #endif
    03826     Comparison Compare(const PObject & obj) const;
    03827     PObject * Clone() const;
    03828 };
    03829
    03830
    03831 //
    03832 // ActionRequest
    03833 //
    03834
    03835 class H248_ActionRequest : public PASN_Sequence
    03836 {
    03837 #ifndef PASN_LEANANDMEAN
    03838     PCLASSINFO(H248_ActionRequest, PASN_Sequence);
    03839 #endif
    03840   public:
    03841     H248_ActionRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03842
    03843     enum OptionalFields {
    03844       e_contextRequest,
    03845       e_contextAttrAuditReq
    03846     };
    03847
    03848     H248_ContextID m_contextId;
    03849     H248_ContextRequest m_contextRequest;
    03850     H248_ContextAttrAuditRequest m_contextAttrAuditReq;
    03851     H248_ArrayOf_CommandRequest m_commandRequests;
    03852
    03853     PINDEX GetDataLength() const;
    03854     PBoolean Decode(PASN_Stream & strm);
    03855     void Encode(PASN_Stream & strm) const;
    03856 #ifndef PASN_NOPRINTON
    03857     void PrintOn(ostream & strm) const;
    03858 #endif
    03859     Comparison Compare(const PObject & obj) const;
    03860     PObject * Clone() const;
    03861 };
    03862
    03863
    03864 //
    03865 // ActionReply
    03866 //
    03867
    03868 class H248_ActionReply : public PASN_Sequence
    03869 {
    03870 #ifndef PASN_LEANANDMEAN
    03871     PCLASSINFO(H248_ActionReply, PASN_Sequence);
    03872 #endif
    03873   public:
    03874     H248_ActionReply(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03875
    03876     enum OptionalFields {
    03877       e_errorDescriptor,
    03878       e_contextReply
    03879     };
    03880
    03881     H248_ContextID m_contextId;
    03882     H248_ErrorDescriptor m_errorDescriptor;
    03883     H248_ContextRequest m_contextReply;
    03884     H248_ArrayOf_CommandReply m_commandReply;
    03885
    03886     PINDEX GetDataLength() const;
    03887     PBoolean Decode(PASN_Stream & strm);
    03888     void Encode(PASN_Stream & strm) const;
    03889 #ifndef PASN_NOPRINTON
    03890     void PrintOn(ostream & strm) const;
    03891 #endif
    03892     Comparison Compare(const PObject & obj) const;
    03893     PObject * Clone() const;
    03894 };
    03895
    03896
    03897 //
    03898 // TopologyRequest
    03899 //
    03900
    03901 class H248_TopologyRequest : public PASN_Sequence
    03902 {
    03903 #ifndef PASN_LEANANDMEAN
    03904     PCLASSINFO(H248_TopologyRequest, PASN_Sequence);
    03905 #endif
    03906   public:
    03907     H248_TopologyRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03908
    03909     enum OptionalFields {
    03910       e_streamID
    03911     };
    03912
    03913     H248_TerminationID m_terminationFrom;
    03914     H248_TerminationID m_terminationTo;
    03915     H248_TopologyRequest_topologyDirection m_topologyDirection;
    03916     H248_StreamID m_streamID;
    03917
    03918     PINDEX GetDataLength() const;
    03919     PBoolean Decode(PASN_Stream & strm);
    03920     void Encode(PASN_Stream & strm) const;
    03921 #ifndef PASN_NOPRINTON
    03922     void PrintOn(ostream & strm) const;
    03923 #endif
    03924     Comparison Compare(const PObject & obj) const;
    03925     PObject * Clone() const;
    03926 };
    03927
    03928
    03929 //
    03930 // SubtractRequest
    03931 //
    03932
    03933 class H248_SubtractRequest : public PASN_Sequence
    03934 {
    03935 #ifndef PASN_LEANANDMEAN
    03936     PCLASSINFO(H248_SubtractRequest, PASN_Sequence);
    03937 #endif
    03938   public:
    03939     H248_SubtractRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03940
    03941     enum OptionalFields {
    03942       e_auditDescriptor
    03943     };
    03944
    03945     H248_TerminationIDList m_terminationID;
    03946     H248_AuditDescriptor m_auditDescriptor;
    03947
    03948     PINDEX GetDataLength() const;
    03949     PBoolean Decode(PASN_Stream & strm);
    03950     void Encode(PASN_Stream & strm) const;
    03951 #ifndef PASN_NOPRINTON
    03952     void PrintOn(ostream & strm) const;
    03953 #endif
    03954     Comparison Compare(const PObject & obj) const;
    03955     PObject * Clone() const;
    03956 };
    03957
    03958
    03959 //
    03960 // AuditRequest
    03961 //
    03962
    03963 class H248_AuditRequest : public PASN_Sequence
    03964 {
    03965 #ifndef PASN_LEANANDMEAN
    03966     PCLASSINFO(H248_AuditRequest, PASN_Sequence);
    03967 #endif
    03968   public:
    03969     H248_AuditRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03970
    03971     H248_TerminationID m_terminationID;
    03972     H248_AuditDescriptor m_auditDescriptor;
    03973
    03974     PINDEX GetDataLength() const;
    03975     PBoolean Decode(PASN_Stream & strm);
    03976     void Encode(PASN_Stream & strm) const;
    03977 #ifndef PASN_NOPRINTON
    03978     void PrintOn(ostream & strm) const;
    03979 #endif
    03980     Comparison Compare(const PObject & obj) const;
    03981     PObject * Clone() const;
    03982 };
    03983
    03984
    03985 //
    03986 // AuditResult
    03987 //
    03988
    03989 class H248_AuditResult : public PASN_Sequence
    03990 {
    03991 #ifndef PASN_LEANANDMEAN
    03992     PCLASSINFO(H248_AuditResult, PASN_Sequence);
    03993 #endif
    03994   public:
    03995     H248_AuditResult(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    03996
    03997     H248_TerminationID m_terminationID;
    03998     H248_TerminationAudit m_terminationAuditResult;
    03999
    04000     PINDEX GetDataLength() const;
    04001     PBoolean Decode(PASN_Stream & strm);
    04002     void Encode(PASN_Stream & strm) const;
    04003 #ifndef PASN_NOPRINTON
    04004     void PrintOn(ostream & strm) const;
    04005 #endif
    04006     Comparison Compare(const PObject & obj) const;
    04007     PObject * Clone() const;
    04008 };
    04009
    04010
    04011 //
    04012 // IndAudMediaDescriptor
    04013 //
    04014
    04015 class H248_IndAudMediaDescriptor : public PASN_Sequence
    04016 {
    04017 #ifndef PASN_LEANANDMEAN
    04018     PCLASSINFO(H248_IndAudMediaDescriptor, PASN_Sequence);
    04019 #endif
    04020   public:
    04021     H248_IndAudMediaDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04022
    04023     enum OptionalFields {
    04024       e_termStateDescr,
    04025       e_streams
    04026     };
    04027
    04028     H248_IndAudTerminationStateDescriptor m_termStateDescr;
    04029     H248_IndAudMediaDescriptor_streams m_streams;
    04030
    04031     PINDEX GetDataLength() const;
    04032     PBoolean Decode(PASN_Stream & strm);
    04033     void Encode(PASN_Stream & strm) const;
    04034 #ifndef PASN_NOPRINTON
    04035     void PrintOn(ostream & strm) const;
    04036 #endif
    04037     Comparison Compare(const PObject & obj) const;
    04038     PObject * Clone() const;
    04039 };
    04040
    04041
    04042 //
    04043 // IndAudStreamParms
    04044 //
    04045
    04046 class H248_IndAudStreamParms : public PASN_Sequence
    04047 {
    04048 #ifndef PASN_LEANANDMEAN
    04049     PCLASSINFO(H248_IndAudStreamParms, PASN_Sequence);
    04050 #endif
    04051   public:
    04052     H248_IndAudStreamParms(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04053
    04054     enum OptionalFields {
    04055       e_localControlDescriptor,
    04056       e_localDescriptor,
    04057       e_remoteDescriptor
    04058     };
    04059
    04060     H248_IndAudLocalControlDescriptor m_localControlDescriptor;
    04061     H248_IndAudLocalRemoteDescriptor m_localDescriptor;
    04062     H248_IndAudLocalRemoteDescriptor m_remoteDescriptor;
    04063
    04064     PINDEX GetDataLength() const;
    04065     PBoolean Decode(PASN_Stream & strm);
    04066     void Encode(PASN_Stream & strm) const;
    04067 #ifndef PASN_NOPRINTON
    04068     void PrintOn(ostream & strm) const;
    04069 #endif
    04070     Comparison Compare(const PObject & obj) const;
    04071     PObject * Clone() const;
    04072 };
    04073
    04074
    04075 //
    04076 // IndAudSeqSigList
    04077 //
    04078
    04079 class H248_IndAudSeqSigList : public PASN_Sequence
    04080 {
    04081 #ifndef PASN_LEANANDMEAN
    04082     PCLASSINFO(H248_IndAudSeqSigList, PASN_Sequence);
    04083 #endif
    04084   public:
    04085     H248_IndAudSeqSigList(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04086
    04087     enum OptionalFields {
    04088       e_signalList
    04089     };
    04090
    04091     PASN_Integer m_id;
    04092     H248_IndAudSignal m_signalList;
    04093
    04094     PINDEX GetDataLength() const;
    04095     PBoolean Decode(PASN_Stream & strm);
    04096     void Encode(PASN_Stream & strm) const;
    04097 #ifndef PASN_NOPRINTON
    04098     void PrintOn(ostream & strm) const;
    04099 #endif
    04100     Comparison Compare(const PObject & obj) const;
    04101     PObject * Clone() const;
    04102 };
    04103
    04104
    04105 //
    04106 // NotifyRequest
    04107 //
    04108
    04109 class H248_NotifyRequest : public PASN_Sequence
    04110 {
    04111 #ifndef PASN_LEANANDMEAN
    04112     PCLASSINFO(H248_NotifyRequest, PASN_Sequence);
    04113 #endif
    04114   public:
    04115     H248_NotifyRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04116
    04117     enum OptionalFields {
    04118       e_errorDescriptor
    04119     };
    04120
    04121     H248_TerminationIDList m_terminationID;
    04122     H248_ObservedEventsDescriptor m_observedEventsDescriptor;
    04123     H248_ErrorDescriptor m_errorDescriptor;
    04124
    04125     PINDEX GetDataLength() const;
    04126     PBoolean Decode(PASN_Stream & strm);
    04127     void Encode(PASN_Stream & strm) const;
    04128 #ifndef PASN_NOPRINTON
    04129     void PrintOn(ostream & strm) const;
    04130 #endif
    04131     Comparison Compare(const PObject & obj) const;
    04132     PObject * Clone() const;
    04133 };
    04134
    04135
    04136 //
    04137 // ObservedEvent
    04138 //
    04139
    04140 class H248_ObservedEvent : public PASN_Sequence
    04141 {
    04142 #ifndef PASN_LEANANDMEAN
    04143     PCLASSINFO(H248_ObservedEvent, PASN_Sequence);
    04144 #endif
    04145   public:
    04146     H248_ObservedEvent(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04147
    04148     enum OptionalFields {
    04149       e_streamID,
    04150       e_timeNotation
    04151     };
    04152
    04153     H248_EventName m_eventName;
    04154     H248_StreamID m_streamID;
    04155     H248_ArrayOf_EventParameter m_eventParList;
    04156     H248_TimeNotation m_timeNotation;
    04157
    04158     PINDEX GetDataLength() const;
    04159     PBoolean Decode(PASN_Stream & strm);
    04160     void Encode(PASN_Stream & strm) const;
    04161 #ifndef PASN_NOPRINTON
    04162     void PrintOn(ostream & strm) const;
    04163 #endif
    04164     Comparison Compare(const PObject & obj) const;
    04165     PObject * Clone() const;
    04166 };
    04167
    04168
    04169 //
    04170 // MediaDescriptor
    04171 //
    04172
    04173 class H248_MediaDescriptor : public PASN_Sequence
    04174 {
    04175 #ifndef PASN_LEANANDMEAN
    04176     PCLASSINFO(H248_MediaDescriptor, PASN_Sequence);
    04177 #endif
    04178   public:
    04179     H248_MediaDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04180
    04181     enum OptionalFields {
    04182       e_termStateDescr,
    04183       e_streams
    04184     };
    04185
    04186     H248_TerminationStateDescriptor m_termStateDescr;
    04187     H248_MediaDescriptor_streams m_streams;
    04188
    04189     PINDEX GetDataLength() const;
    04190     PBoolean Decode(PASN_Stream & strm);
    04191     void Encode(PASN_Stream & strm) const;
    04192 #ifndef PASN_NOPRINTON
    04193     void PrintOn(ostream & strm) const;
    04194 #endif
    04195     Comparison Compare(const PObject & obj) const;
    04196     PObject * Clone() const;
    04197 };
    04198
    04199
    04200 //
    04201 // StreamParms
    04202 //
    04203
    04204 class H248_StreamParms : public PASN_Sequence
    04205 {
    04206 #ifndef PASN_LEANANDMEAN
    04207     PCLASSINFO(H248_StreamParms, PASN_Sequence);
    04208 #endif
    04209   public:
    04210     H248_StreamParms(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04211
    04212     enum OptionalFields {
    04213       e_localControlDescriptor,
    04214       e_localDescriptor,
    04215       e_remoteDescriptor
    04216     };
    04217
    04218     H248_LocalControlDescriptor m_localControlDescriptor;
    04219     H248_LocalRemoteDescriptor m_localDescriptor;
    04220     H248_LocalRemoteDescriptor m_remoteDescriptor;
    04221
    04222     PINDEX GetDataLength() const;
    04223     PBoolean Decode(PASN_Stream & strm);
    04224     void Encode(PASN_Stream & strm) const;
    04225 #ifndef PASN_NOPRINTON
    04226     void PrintOn(ostream & strm) const;
    04227 #endif
    04228     Comparison Compare(const PObject & obj) const;
    04229     PObject * Clone() const;
    04230 };
    04231
    04232
    04233 //
    04234 // MuxDescriptor
    04235 //
    04236
    04237 class H248_MuxDescriptor : public PASN_Sequence
    04238 {
    04239 #ifndef PASN_LEANANDMEAN
    04240     PCLASSINFO(H248_MuxDescriptor, PASN_Sequence);
    04241 #endif
    04242   public:
    04243     H248_MuxDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04244
    04245     enum OptionalFields {
    04246       e_nonStandardData
    04247     };
    04248
    04249     H248_MuxType m_muxType;
    04250     H248_ArrayOf_TerminationID m_termList;
    04251     H248_NonStandardData m_nonStandardData;
    04252
    04253     PINDEX GetDataLength() const;
    04254     PBoolean Decode(PASN_Stream & strm);
    04255     void Encode(PASN_Stream & strm) const;
    04256 #ifndef PASN_NOPRINTON
    04257     void PrintOn(ostream & strm) const;
    04258 #endif
    04259     Comparison Compare(const PObject & obj) const;
    04260     PObject * Clone() const;
    04261 };
    04262
    04263
    04264 //
    04265 // RequestedActions
    04266 //
    04267
    04268 class H248_RequestedActions : public PASN_Sequence
    04269 {
    04270 #ifndef PASN_LEANANDMEAN
    04271     PCLASSINFO(H248_RequestedActions, PASN_Sequence);
    04272 #endif
    04273   public:
    04274     H248_RequestedActions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04275
    04276     enum OptionalFields {
    04277       e_keepActive,
    04278       e_eventDM,
    04279       e_secondEvent,
    04280       e_signalsDescriptor
    04281     };
    04282
    04283     PASN_Boolean m_keepActive;
    04284     H248_EventDM m_eventDM;
    04285     H248_SecondEventsDescriptor m_secondEvent;
    04286     H248_SignalsDescriptor m_signalsDescriptor;
    04287
    04288     PINDEX GetDataLength() const;
    04289     PBoolean Decode(PASN_Stream & strm);
    04290     void Encode(PASN_Stream & strm) const;
    04291 #ifndef PASN_NOPRINTON
    04292     void PrintOn(ostream & strm) const;
    04293 #endif
    04294     Comparison Compare(const PObject & obj) const;
    04295     PObject * Clone() const;
    04296 };
    04297
    04298
    04299 //
    04300 // SecondRequestedEvent
    04301 //
    04302
    04303 class H248_SecondRequestedEvent : public PASN_Sequence
    04304 {
    04305 #ifndef PASN_LEANANDMEAN
    04306     PCLASSINFO(H248_SecondRequestedEvent, PASN_Sequence);
    04307 #endif
    04308   public:
    04309     H248_SecondRequestedEvent(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04310
    04311     enum OptionalFields {
    04312       e_streamID,
    04313       e_eventAction
    04314     };
    04315
    04316     H248_PkgdName m_pkgdName;
    04317     H248_StreamID m_streamID;
    04318     H248_SecondRequestedActions m_eventAction;
    04319     H248_ArrayOf_EventParameter m_evParList;
    04320
    04321     PINDEX GetDataLength() const;
    04322     PBoolean Decode(PASN_Stream & strm);
    04323     void Encode(PASN_Stream & strm) const;
    04324 #ifndef PASN_NOPRINTON
    04325     void PrintOn(ostream & strm) const;
    04326 #endif
    04327     Comparison Compare(const PObject & obj) const;
    04328     PObject * Clone() const;
    04329 };
    04330
    04331
    04332 //
    04333 // ModemDescriptor
    04334 //
    04335
    04336 class H248_ModemDescriptor : public PASN_Sequence
    04337 {
    04338 #ifndef PASN_LEANANDMEAN
    04339     PCLASSINFO(H248_ModemDescriptor, PASN_Sequence);
    04340 #endif
    04341   public:
    04342     H248_ModemDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04343
    04344     enum OptionalFields {
    04345       e_nonStandardData
    04346     };
    04347
    04348     H248_ArrayOf_ModemType m_mtl;
    04349     H248_ArrayOf_PropertyParm m_mpl;
    04350     H248_NonStandardData m_nonStandardData;
    04351
    04352     PINDEX GetDataLength() const;
    04353     PBoolean Decode(PASN_Stream & strm);
    04354     void Encode(PASN_Stream & strm) const;
    04355 #ifndef PASN_NOPRINTON
    04356     void PrintOn(ostream & strm) const;
    04357 #endif
    04358     Comparison Compare(const PObject & obj) const;
    04359     PObject * Clone() const;
    04360 };
    04361
    04362
    04363 //
    04364 // ServiceChangeParm
    04365 //
    04366
    04367 class H248_ServiceChangeParm : public PASN_Sequence
    04368 {
    04369 #ifndef PASN_LEANANDMEAN
    04370     PCLASSINFO(H248_ServiceChangeParm, PASN_Sequence);
    04371 #endif
    04372   public:
    04373     H248_ServiceChangeParm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04374
    04375     enum OptionalFields {
    04376       e_serviceChangeAddress,
    04377       e_serviceChangeVersion,
    04378       e_serviceChangeProfile,
    04379       e_serviceChangeDelay,
    04380       e_serviceChangeMgcId,
    04381       e_timeStamp,
    04382       e_nonStandardData,
    04383       e_serviceChangeInfo
    04384     };
    04385
    04386     H248_ServiceChangeMethod m_serviceChangeMethod;
    04387     H248_ServiceChangeAddress m_serviceChangeAddress;
    04388     PASN_Integer m_serviceChangeVersion;
    04389     H248_ServiceChangeProfile m_serviceChangeProfile;
    04390     H248_Value m_serviceChangeReason;
    04391     PASN_Integer m_serviceChangeDelay;
    04392     H248_MId m_serviceChangeMgcId;
    04393     H248_TimeNotation m_timeStamp;
    04394     H248_NonStandardData m_nonStandardData;
    04395     H248_AuditDescriptor m_serviceChangeInfo;
    04396
    04397     PINDEX GetDataLength() const;
    04398     PBoolean Decode(PASN_Stream & strm);
    04399     void Encode(PASN_Stream & strm) const;
    04400 #ifndef PASN_NOPRINTON
    04401     void PrintOn(ostream & strm) const;
    04402 #endif
    04403     Comparison Compare(const PObject & obj) const;
    04404     PObject * Clone() const;
    04405 };
    04406
    04407
    04408 //
    04409 // IndAudStreamDescriptor
    04410 //
    04411
    04412 class H248_IndAudStreamDescriptor : public PASN_Sequence
    04413 {
    04414 #ifndef PASN_LEANANDMEAN
    04415     PCLASSINFO(H248_IndAudStreamDescriptor, PASN_Sequence);
    04416 #endif
    04417   public:
    04418     H248_IndAudStreamDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04419
    04420     H248_StreamID m_streamID;
    04421     H248_IndAudStreamParms m_streamParms;
    04422
    04423     PINDEX GetDataLength() const;
    04424     PBoolean Decode(PASN_Stream & strm);
    04425     void Encode(PASN_Stream & strm) const;
    04426 #ifndef PASN_NOPRINTON
    04427     void PrintOn(ostream & strm) const;
    04428 #endif
    04429     Comparison Compare(const PObject & obj) const;
    04430     PObject * Clone() const;
    04431 };
    04432
    04433
    04434 //
    04435 // ServiceChangeRequest
    04436 //
    04437
    04438 class H248_ServiceChangeRequest : public PASN_Sequence
    04439 {
    04440 #ifndef PASN_LEANANDMEAN
    04441     PCLASSINFO(H248_ServiceChangeRequest, PASN_Sequence);
    04442 #endif
    04443   public:
    04444     H248_ServiceChangeRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04445
    04446     H248_TerminationIDList m_terminationID;
    04447     H248_ServiceChangeParm m_serviceChangeParms;
    04448
    04449     PINDEX GetDataLength() const;
    04450     PBoolean Decode(PASN_Stream & strm);
    04451     void Encode(PASN_Stream & strm) const;
    04452 #ifndef PASN_NOPRINTON
    04453     void PrintOn(ostream & strm) const;
    04454 #endif
    04455     Comparison Compare(const PObject & obj) const;
    04456     PObject * Clone() const;
    04457 };
    04458
    04459
    04460 //
    04461 // StreamDescriptor
    04462 //
    04463
    04464 class H248_StreamDescriptor : public PASN_Sequence
    04465 {
    04466 #ifndef PASN_LEANANDMEAN
    04467     PCLASSINFO(H248_StreamDescriptor, PASN_Sequence);
    04468 #endif
    04469   public:
    04470     H248_StreamDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04471
    04472     H248_StreamID m_streamID;
    04473     H248_StreamParms m_streamParms;
    04474
    04475     PINDEX GetDataLength() const;
    04476     PBoolean Decode(PASN_Stream & strm);
    04477     void Encode(PASN_Stream & strm) const;
    04478 #ifndef PASN_NOPRINTON
    04479     void PrintOn(ostream & strm) const;
    04480 #endif
    04481     Comparison Compare(const PObject & obj) const;
    04482     PObject * Clone() const;
    04483 };
    04484
    04485
    04486 //
    04487 // RequestedEvent
    04488 //
    04489
    04490 class H248_RequestedEvent : public PASN_Sequence
    04491 {
    04492 #ifndef PASN_LEANANDMEAN
    04493     PCLASSINFO(H248_RequestedEvent, PASN_Sequence);
    04494 #endif
    04495   public:
    04496     H248_RequestedEvent(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    04497
    04498     enum OptionalFields {
    04499       e_streamID,
    04500       e_eventAction
    04501     };
    04502
    04503     H248_PkgdName m_pkgdName;
    04504     H248_StreamID m_streamID;
    04505     H248_RequestedActions m_eventAction;
    04506     H248_ArrayOf_EventParameter m_evParList;
    04507
    04508     PINDEX GetDataLength() const;
    04509     PBoolean Decode(PASN_Stream & strm);
    04510     void Encode(PASN_Stream & strm) const;
    04511 #ifndef PASN_NOPRINTON
    04512     void PrintOn(ostream & strm) const;
    04513 #endif
    04514     Comparison Compare(const PObject & obj) const;
    04515     PObject * Clone() const;
    04516 };
    04517
    04518
    04519 #endif // __H248_H
    04520
    04521 #endif // if ! H323_DISABLE_H248
    04522
    04523
    04524 // End of h248.h