# h460pres.h

Go to the documentation of this file.

    00001 //
    00002 // H460pres.h
    00003 //
    00004 // Code automatically generated by asnparse.
    00005 //
    00006
    00007 #ifndef OPAL_H460_H460PRES_H
    00008 #define OPAL_H460_H460PRES_H
    00009
    00010 #ifdef P_USE_PRAGMA
    00011 #pragma interface
    00012 #endif
    00013
    00014 #include <opal/buildopts.h>
    00015
    00016 #if OPAL_H460
    00017
    00018 #include <ptclib/asner.h>
    00019
    00020 #include <asn/h225.h>
    00021 #include <asn/h235.h>
    00022
    00023
    00024 //
    00025 // PresenceMessage
    00026 //
    00027
    00028 class H460P_PresenceStatus;
    00029 class H460P_PresenceInstruct;
    00030 class H460P_PresenceAuthorize;
    00031 class H460P_PresenceNotify;
    00032 class H460P_PresenceRequest;
    00033 class H460P_PresenceResponse;
    00034 class H460P_PresenceAlive;
    00035 class H460P_PresenceRemove;
    00036 class H460P_PresenceAlert;
    00037
    00038 class H460P_PresenceMessage : public PASN_Choice
    00039 {
    00040 #ifndef PASN_LEANANDMEAN
    00041     PCLASSINFO(H460P_PresenceMessage, PASN_Choice);
    00042 #endif
    00043   public:
    00044     H460P_PresenceMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00045
    00046     enum Choices {
    00047       e_presenceStatus,
    00048       e_presenceInstruct,
    00049       e_presenceAuthorize,
    00050       e_presenceNotify,
    00051       e_presenceRequest,
    00052       e_presenceResponse,
    00053       e_presenceAlive,
    00054       e_presenceRemove,
    00055       e_presenceAlert
    00056     };
    00057
    00058 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00059     operator H460P_PresenceStatus &() const;
    00060 #else
    00061     operator H460P_PresenceStatus &();
    00062     operator const H460P_PresenceStatus &() const;
    00063 #endif
    00064 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00065     operator H460P_PresenceInstruct &() const;
    00066 #else
    00067     operator H460P_PresenceInstruct &();
    00068     operator const H460P_PresenceInstruct &() const;
    00069 #endif
    00070 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00071     operator H460P_PresenceAuthorize &() const;
    00072 #else
    00073     operator H460P_PresenceAuthorize &();
    00074     operator const H460P_PresenceAuthorize &() const;
    00075 #endif
    00076 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00077     operator H460P_PresenceNotify &() const;
    00078 #else
    00079     operator H460P_PresenceNotify &();
    00080     operator const H460P_PresenceNotify &() const;
    00081 #endif
    00082 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00083     operator H460P_PresenceRequest &() const;
    00084 #else
    00085     operator H460P_PresenceRequest &();
    00086     operator const H460P_PresenceRequest &() const;
    00087 #endif
    00088 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00089     operator H460P_PresenceResponse &() const;
    00090 #else
    00091     operator H460P_PresenceResponse &();
    00092     operator const H460P_PresenceResponse &() const;
    00093 #endif
    00094 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00095     operator H460P_PresenceAlive &() const;
    00096 #else
    00097     operator H460P_PresenceAlive &();
    00098     operator const H460P_PresenceAlive &() const;
    00099 #endif
    00100 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00101     operator H460P_PresenceRemove &() const;
    00102 #else
    00103     operator H460P_PresenceRemove &();
    00104     operator const H460P_PresenceRemove &() const;
    00105 #endif
    00106 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00107     operator H460P_PresenceAlert &() const;
    00108 #else
    00109     operator H460P_PresenceAlert &();
    00110     operator const H460P_PresenceAlert &() const;
    00111 #endif
    00112
    00113     PBoolean CreateObject();
    00114     PObject * Clone() const;
    00115 };
    00116
    00117
    00118 //
    00119 // PresenceInstruction
    00120 //
    00121
    00122 class H225_AliasAddress;
    00123
    00124 class H460P_PresenceInstruction : public PASN_Choice
    00125 {
    00126 #ifndef PASN_LEANANDMEAN
    00127     PCLASSINFO(H460P_PresenceInstruction, PASN_Choice);
    00128 #endif
    00129   public:
    00130     H460P_PresenceInstruction(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00131
    00132     enum Choices {
    00133       e_subscribe,
    00134       e_unsubscribe,
    00135       e_block,
    00136       e_unblock
    00137     };
    00138
    00139 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
    00140     operator H225_AliasAddress &() const;
    00141 #else
    00142     operator H225_AliasAddress &();
    00143     operator const H225_AliasAddress &() const;
    00144 #endif
    00145
    00146     PBoolean CreateObject();
    00147     PObject * Clone() const;
    00148 };
    00149
    00150
    00151 //
    00152 // PresenceIdentifier
    00153 //
    00154
    00155 class H460P_PresenceIdentifier : public PASN_Sequence
    00156 {
    00157 #ifndef PASN_LEANANDMEAN
    00158     PCLASSINFO(H460P_PresenceIdentifier, PASN_Sequence);
    00159 #endif
    00160   public:
    00161     H460P_PresenceIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00162
    00163     PASN_OctetString m_guid;
    00164
    00165     PINDEX GetDataLength() const;
    00166     PBoolean Decode(PASN_Stream & strm);
    00167     void Encode(PASN_Stream & strm) const;
    00168 #ifndef PASN_NOPRINTON
    00169     void PrintOn(ostream & strm) const;
    00170 #endif
    00171     Comparison Compare(const PObject & obj) const;
    00172     PObject * Clone() const;
    00173 };
    00174
    00175
    00176 //
    00177 // PresenceState
    00178 //
    00179
    00180 class H460P_PresenceState : public PASN_Choice
    00181 {
    00182 #ifndef PASN_LEANANDMEAN
    00183     PCLASSINFO(H460P_PresenceState, PASN_Choice);
    00184 #endif
    00185   public:
    00186     H460P_PresenceState(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
    00187
    00188     enum Choices {
    00189       e_hidden,
    00190       e_available,
    00191       e_online,
    00192       e_offline,
    00193       e_onCall,
    00194       e_voiceMail,
    00195       e_notAvailable,
    00196       e_generic
    00197     };
    00198
    00199     PBoolean CreateObject();
    00200     PObject * Clone() const;
    00201 };
    00202
    00203
    00204 //
    00205 // ArrayOf_PresenceNotification
    00206 //
    00207
    00208 class H460P_PresenceNotification;
    00209
    00210 class H460P_ArrayOf_PresenceNotification : public PASN_Array
    00211 {
    00212 #ifndef PASN_LEANANDMEAN
    00213     PCLASSINFO(H460P_ArrayOf_PresenceNotification, PASN_Array);
    00214 #endif
    00215   public:
    00216     H460P_ArrayOf_PresenceNotification(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00217
    00218     PASN_Object * CreateObject() const;
    00219     H460P_PresenceNotification & operator[](PINDEX i) const;
    00220     PObject * Clone() const;
    00221 };
    00222
    00223
    00224 //
    00225 // ArrayOf_PresenceInstruction
    00226 //
    00227
    00228 class H460P_PresenceInstruction;
    00229
    00230 class H460P_ArrayOf_PresenceInstruction : public PASN_Array
    00231 {
    00232 #ifndef PASN_LEANANDMEAN
    00233     PCLASSINFO(H460P_ArrayOf_PresenceInstruction, PASN_Array);
    00234 #endif
    00235   public:
    00236     H460P_ArrayOf_PresenceInstruction(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00237
    00238     PASN_Object * CreateObject() const;
    00239     H460P_PresenceInstruction & operator[](PINDEX i) const;
    00240     PObject * Clone() const;
    00241 };
    00242
    00243
    00244 //
    00245 // ArrayOf_PresenceSubscription
    00246 //
    00247
    00248 class H460P_PresenceSubscription;
    00249
    00250 class H460P_ArrayOf_PresenceSubscription : public PASN_Array
    00251 {
    00252 #ifndef PASN_LEANANDMEAN
    00253     PCLASSINFO(H460P_ArrayOf_PresenceSubscription, PASN_Array);
    00254 #endif
    00255   public:
    00256     H460P_ArrayOf_PresenceSubscription(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00257
    00258     PASN_Object * CreateObject() const;
    00259     H460P_PresenceSubscription & operator[](PINDEX i) const;
    00260     PObject * Clone() const;
    00261 };
    00262
    00263
    00264 //
    00265 // ArrayOf_ClearToken
    00266 //
    00267
    00268 class H235_ClearToken;
    00269
    00270 class H460P_ArrayOf_ClearToken : public PASN_Array
    00271 {
    00272 #ifndef PASN_LEANANDMEAN
    00273     PCLASSINFO(H460P_ArrayOf_ClearToken, PASN_Array);
    00274 #endif
    00275   public:
    00276     H460P_ArrayOf_ClearToken(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00277
    00278     PASN_Object * CreateObject() const;
    00279     H235_ClearToken & operator[](PINDEX i) const;
    00280     PObject * Clone() const;
    00281 };
    00282
    00283
    00284 //
    00285 // ArrayOf_CryptoH323Token
    00286 //
    00287
    00288 class H225_CryptoH323Token;
    00289
    00290 class H460P_ArrayOf_CryptoH323Token : public PASN_Array
    00291 {
    00292 #ifndef PASN_LEANANDMEAN
    00293     PCLASSINFO(H460P_ArrayOf_CryptoH323Token, PASN_Array);
    00294 #endif
    00295   public:
    00296     H460P_ArrayOf_CryptoH323Token(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00297
    00298     PASN_Object * CreateObject() const;
    00299     H225_CryptoH323Token & operator[](PINDEX i) const;
    00300     PObject * Clone() const;
    00301 };
    00302
    00303
    00304 //
    00305 // ArrayOf_PresenceIdentifier
    00306 //
    00307
    00308 class H460P_PresenceIdentifier;
    00309
    00310 class H460P_ArrayOf_PresenceIdentifier : public PASN_Array
    00311 {
    00312 #ifndef PASN_LEANANDMEAN
    00313     PCLASSINFO(H460P_ArrayOf_PresenceIdentifier, PASN_Array);
    00314 #endif
    00315   public:
    00316     H460P_ArrayOf_PresenceIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00317
    00318     PASN_Object * CreateObject() const;
    00319     H460P_PresenceIdentifier & operator[](PINDEX i) const;
    00320     PObject * Clone() const;
    00321 };
    00322
    00323
    00324 //
    00325 // ArrayOf_AliasAddress
    00326 //
    00327
    00328 class H225_AliasAddress;
    00329
    00330 class H460P_ArrayOf_AliasAddress : public PASN_Array
    00331 {
    00332 #ifndef PASN_LEANANDMEAN
    00333     PCLASSINFO(H460P_ArrayOf_AliasAddress, PASN_Array);
    00334 #endif
    00335   public:
    00336     H460P_ArrayOf_AliasAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00337
    00338     PASN_Object * CreateObject() const;
    00339     H225_AliasAddress & operator[](PINDEX i) const;
    00340     PObject * Clone() const;
    00341 };
    00342
    00343
    00344 //
    00345 // ArrayOf_GenericData
    00346 //
    00347
    00348 class H225_GenericData;
    00349
    00350 class H460P_ArrayOf_GenericData : public PASN_Array
    00351 {
    00352 #ifndef PASN_LEANANDMEAN
    00353     PCLASSINFO(H460P_ArrayOf_GenericData, PASN_Array);
    00354 #endif
    00355   public:
    00356     H460P_ArrayOf_GenericData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00357
    00358     PASN_Object * CreateObject() const;
    00359     H225_GenericData & operator[](PINDEX i) const;
    00360     PObject * Clone() const;
    00361 };
    00362
    00363
    00364 //
    00365 // PresenceStatus
    00366 //
    00367
    00368 class H460P_PresenceStatus : public PASN_Sequence
    00369 {
    00370 #ifndef PASN_LEANANDMEAN
    00371     PCLASSINFO(H460P_PresenceStatus, PASN_Sequence);
    00372 #endif
    00373   public:
    00374     H460P_PresenceStatus(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00375
    00376     enum OptionalFields {
    00377       e_instruction
    00378     };
    00379
    00380     H460P_ArrayOf_PresenceNotification m_notification;
    00381     H460P_ArrayOf_PresenceInstruction m_instruction;
    00382
    00383     PINDEX GetDataLength() const;
    00384     PBoolean Decode(PASN_Stream & strm);
    00385     void Encode(PASN_Stream & strm) const;
    00386 #ifndef PASN_NOPRINTON
    00387     void PrintOn(ostream & strm) const;
    00388 #endif
    00389     Comparison Compare(const PObject & obj) const;
    00390     PObject * Clone() const;
    00391 };
    00392
    00393
    00394 //
    00395 // PresenceInstruct
    00396 //
    00397
    00398 class H460P_PresenceInstruct : public PASN_Sequence
    00399 {
    00400 #ifndef PASN_LEANANDMEAN
    00401     PCLASSINFO(H460P_PresenceInstruct, PASN_Sequence);
    00402 #endif
    00403   public:
    00404     H460P_PresenceInstruct(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00405
    00406     H460P_ArrayOf_PresenceInstruction m_instruction;
    00407
    00408     PINDEX GetDataLength() const;
    00409     PBoolean Decode(PASN_Stream & strm);
    00410     void Encode(PASN_Stream & strm) const;
    00411 #ifndef PASN_NOPRINTON
    00412     void PrintOn(ostream & strm) const;
    00413 #endif
    00414     Comparison Compare(const PObject & obj) const;
    00415     PObject * Clone() const;
    00416 };
    00417
    00418
    00419 //
    00420 // PresenceAuthorize
    00421 //
    00422
    00423 class H460P_PresenceAuthorize : public PASN_Sequence
    00424 {
    00425 #ifndef PASN_LEANANDMEAN
    00426     PCLASSINFO(H460P_PresenceAuthorize, PASN_Sequence);
    00427 #endif
    00428   public:
    00429     H460P_PresenceAuthorize(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00430
    00431     H460P_ArrayOf_PresenceSubscription m_subscription;
    00432
    00433     PINDEX GetDataLength() const;
    00434     PBoolean Decode(PASN_Stream & strm);
    00435     void Encode(PASN_Stream & strm) const;
    00436 #ifndef PASN_NOPRINTON
    00437     void PrintOn(ostream & strm) const;
    00438 #endif
    00439     Comparison Compare(const PObject & obj) const;
    00440     PObject * Clone() const;
    00441 };
    00442
    00443
    00444 //
    00445 // PresenceNotify
    00446 //
    00447
    00448 class H460P_PresenceNotify : public PASN_Sequence
    00449 {
    00450 #ifndef PASN_LEANANDMEAN
    00451     PCLASSINFO(H460P_PresenceNotify, PASN_Sequence);
    00452 #endif
    00453   public:
    00454     H460P_PresenceNotify(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00455
    00456     H460P_ArrayOf_PresenceNotification m_notification;
    00457
    00458     PINDEX GetDataLength() const;
    00459     PBoolean Decode(PASN_Stream & strm);
    00460     void Encode(PASN_Stream & strm) const;
    00461 #ifndef PASN_NOPRINTON
    00462     void PrintOn(ostream & strm) const;
    00463 #endif
    00464     Comparison Compare(const PObject & obj) const;
    00465     PObject * Clone() const;
    00466 };
    00467
    00468
    00469 //
    00470 // PresenceRequest
    00471 //
    00472
    00473 class H460P_PresenceRequest : public PASN_Sequence
    00474 {
    00475 #ifndef PASN_LEANANDMEAN
    00476     PCLASSINFO(H460P_PresenceRequest, PASN_Sequence);
    00477 #endif
    00478   public:
    00479     H460P_PresenceRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00480
    00481     enum OptionalFields {
    00482       e_tokens,
    00483       e_cryptoTokens
    00484     };
    00485
    00486     H460P_ArrayOf_PresenceSubscription m_subscription;
    00487     H460P_ArrayOf_ClearToken m_tokens;
    00488     H460P_ArrayOf_CryptoH323Token m_cryptoTokens;
    00489
    00490     PINDEX GetDataLength() const;
    00491     PBoolean Decode(PASN_Stream & strm);
    00492     void Encode(PASN_Stream & strm) const;
    00493 #ifndef PASN_NOPRINTON
    00494     void PrintOn(ostream & strm) const;
    00495 #endif
    00496     Comparison Compare(const PObject & obj) const;
    00497     PObject * Clone() const;
    00498 };
    00499
    00500
    00501 //
    00502 // PresenceResponse
    00503 //
    00504
    00505 class H460P_PresenceResponse : public PASN_Sequence
    00506 {
    00507 #ifndef PASN_LEANANDMEAN
    00508     PCLASSINFO(H460P_PresenceResponse, PASN_Sequence);
    00509 #endif
    00510   public:
    00511     H460P_PresenceResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00512
    00513     enum OptionalFields {
    00514       e_tokens,
    00515       e_cryptoTokens
    00516     };
    00517
    00518     H460P_ArrayOf_PresenceSubscription m_subscription;
    00519     H460P_ArrayOf_ClearToken m_tokens;
    00520     H460P_ArrayOf_CryptoH323Token m_cryptoTokens;
    00521
    00522     PINDEX GetDataLength() const;
    00523     PBoolean Decode(PASN_Stream & strm);
    00524     void Encode(PASN_Stream & strm) const;
    00525 #ifndef PASN_NOPRINTON
    00526     void PrintOn(ostream & strm) const;
    00527 #endif
    00528     Comparison Compare(const PObject & obj) const;
    00529     PObject * Clone() const;
    00530 };
    00531
    00532
    00533 //
    00534 // PresenceAlive
    00535 //
    00536
    00537 class H460P_PresenceAlive : public PASN_Sequence
    00538 {
    00539 #ifndef PASN_LEANANDMEAN
    00540     PCLASSINFO(H460P_PresenceAlive, PASN_Sequence);
    00541 #endif
    00542   public:
    00543     H460P_PresenceAlive(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00544
    00545     H460P_ArrayOf_PresenceIdentifier m_identifier;
    00546
    00547     PINDEX GetDataLength() const;
    00548     PBoolean Decode(PASN_Stream & strm);
    00549     void Encode(PASN_Stream & strm) const;
    00550 #ifndef PASN_NOPRINTON
    00551     void PrintOn(ostream & strm) const;
    00552 #endif
    00553     Comparison Compare(const PObject & obj) const;
    00554     PObject * Clone() const;
    00555 };
    00556
    00557
    00558 //
    00559 // PresenceRemove
    00560 //
    00561
    00562 class H460P_PresenceRemove : public PASN_Sequence
    00563 {
    00564 #ifndef PASN_LEANANDMEAN
    00565     PCLASSINFO(H460P_PresenceRemove, PASN_Sequence);
    00566 #endif
    00567   public:
    00568     H460P_PresenceRemove(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00569
    00570     H460P_ArrayOf_PresenceIdentifier m_identifier;
    00571
    00572     PINDEX GetDataLength() const;
    00573     PBoolean Decode(PASN_Stream & strm);
    00574     void Encode(PASN_Stream & strm) const;
    00575 #ifndef PASN_NOPRINTON
    00576     void PrintOn(ostream & strm) const;
    00577 #endif
    00578     Comparison Compare(const PObject & obj) const;
    00579     PObject * Clone() const;
    00580 };
    00581
    00582
    00583 //
    00584 // PresenceAlert
    00585 //
    00586
    00587 class H460P_PresenceAlert : public PASN_Sequence
    00588 {
    00589 #ifndef PASN_LEANANDMEAN
    00590     PCLASSINFO(H460P_PresenceAlert, PASN_Sequence);
    00591 #endif
    00592   public:
    00593     H460P_PresenceAlert(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00594
    00595     H460P_ArrayOf_PresenceNotification m_notification;
    00596
    00597     PINDEX GetDataLength() const;
    00598     PBoolean Decode(PASN_Stream & strm);
    00599     void Encode(PASN_Stream & strm) const;
    00600 #ifndef PASN_NOPRINTON
    00601     void PrintOn(ostream & strm) const;
    00602 #endif
    00603     Comparison Compare(const PObject & obj) const;
    00604     PObject * Clone() const;
    00605 };
    00606
    00607
    00608 //
    00609 // PresenceSubscription
    00610 //
    00611
    00612 class H460P_PresenceSubscription : public PASN_Sequence
    00613 {
    00614 #ifndef PASN_LEANANDMEAN
    00615     PCLASSINFO(H460P_PresenceSubscription, PASN_Sequence);
    00616 #endif
    00617   public:
    00618     H460P_PresenceSubscription(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00619
    00620     enum OptionalFields {
    00621       e_approved,
    00622       e_rasAddress,
    00623       e_timeToLive,
    00624       e_identifier,
    00625       e_genericData
    00626     };
    00627
    00628     H225_AliasAddress m_subscribe;
    00629     H460P_ArrayOf_AliasAddress m_aliases;
    00630     PASN_Boolean m_approved;
    00631     H225_TransportAddress m_rasAddress;
    00632     H225_TimeToLive m_timeToLive;
    00633     H460P_PresenceIdentifier m_identifier;
    00634     H460P_ArrayOf_GenericData m_genericData;
    00635
    00636     PINDEX GetDataLength() const;
    00637     PBoolean Decode(PASN_Stream & strm);
    00638     void Encode(PASN_Stream & strm) const;
    00639 #ifndef PASN_NOPRINTON
    00640     void PrintOn(ostream & strm) const;
    00641 #endif
    00642     Comparison Compare(const PObject & obj) const;
    00643     PObject * Clone() const;
    00644 };
    00645
    00646
    00647 //
    00648 // Presentity
    00649 //
    00650
    00651 class H460P_Presentity : public PASN_Sequence
    00652 {
    00653 #ifndef PASN_LEANANDMEAN
    00654     PCLASSINFO(H460P_Presentity, PASN_Sequence);
    00655 #endif
    00656   public:
    00657     H460P_Presentity(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00658
    00659     enum OptionalFields {
    00660       e_display,
    00661       e_geolocation,
    00662       e_genericData
    00663     };
    00664
    00665     H460P_PresenceState m_state;
    00666     PASN_BMPString m_display;
    00667     PASN_OctetString m_geolocation;
    00668     H460P_ArrayOf_GenericData m_genericData;
    00669
    00670     PINDEX GetDataLength() const;
    00671     PBoolean Decode(PASN_Stream & strm);
    00672     void Encode(PASN_Stream & strm) const;
    00673 #ifndef PASN_NOPRINTON
    00674     void PrintOn(ostream & strm) const;
    00675 #endif
    00676     Comparison Compare(const PObject & obj) const;
    00677     PObject * Clone() const;
    00678 };
    00679
    00680
    00681 //
    00682 // PresenceNotification
    00683 //
    00684
    00685 class H460P_PresenceNotification : public PASN_Sequence
    00686 {
    00687 #ifndef PASN_LEANANDMEAN
    00688     PCLASSINFO(H460P_PresenceNotification, PASN_Sequence);
    00689 #endif
    00690   public:
    00691     H460P_PresenceNotification(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
    00692
    00693     enum OptionalFields {
    00694       e_aliasAddress,
    00695       e_subscribers
    00696     };
    00697
    00698     H460P_Presentity m_presentity;
    00699     H225_AliasAddress m_aliasAddress;
    00700     H460P_ArrayOf_PresenceIdentifier m_subscribers;
    00701
    00702     PINDEX GetDataLength() const;
    00703     PBoolean Decode(PASN_Stream & strm);
    00704     void Encode(PASN_Stream & strm) const;
    00705 #ifndef PASN_NOPRINTON
    00706     void PrintOn(ostream & strm) const;
    00707 #endif
    00708     Comparison Compare(const PObject & obj) const;
    00709     PObject * Clone() const;
    00710 };
    00711
    00712
    00713 #endif // OPAL_H460
    00714
    00715 #endif // OPAL_H460_H460PRES_H
    00716
    00717
    00718 // End of H460pres.h