1 //
2 // H460pres.cxx
3 //
4 // Code automatically generated by asnparse.
5 //
6 
7 #ifdef P_USE_PRAGMA
8 #pragma implementation "h460pres.h"
9 #endif
10 
11 #include <ptlib.h>
12 
13 #include <opal/buildopts.h>
14 
15 #include "h460/h460pres.h"
16 
17 #if OPAL_H460
18 
19 #define new PNEW
20 
21 
22 #ifndef PASN_NOPRINTON
23 const static PASN_Names Names_H460P_PresenceMessage[]={
24       {"presenceStatus",0}
25      ,{"presenceInstruct",1}
26      ,{"presenceAuthorize",2}
27      ,{"presenceNotify",3}
28      ,{"presenceRequest",4}
29      ,{"presenceResponse",5}
30      ,{"presenceAlive",6}
31      ,{"presenceRemove",7}
32      ,{"presenceAlert",8}
33 };
34 #endif
35 //
36 // PresenceMessage
37 //
38 
H460P_PresenceMessage(unsigned tag,PASN_Object::TagClass tagClass)39 H460P_PresenceMessage::H460P_PresenceMessage(unsigned tag, PASN_Object::TagClass tagClass)
40   : PASN_Choice(tag, tagClass, 9, TRUE
41 #ifndef PASN_NOPRINTON
42     ,(const PASN_Names *)Names_H460P_PresenceMessage,9
43 #endif
44 )
45 {
46 }
47 
48 
49 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
operator H460P_PresenceStatus&() const50 H460P_PresenceMessage::operator H460P_PresenceStatus &() const
51 #else
52 H460P_PresenceMessage::operator H460P_PresenceStatus &()
53 {
54 #ifndef PASN_LEANANDMEAN
55   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceStatus), PInvalidCast);
56 #endif
57   return *(H460P_PresenceStatus *)choice;
58 }
59 
60 
61 H460P_PresenceMessage::operator const H460P_PresenceStatus &() const
62 #endif
63 {
64 #ifndef PASN_LEANANDMEAN
65   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceStatus), PInvalidCast);
66 #endif
67   return *(H460P_PresenceStatus *)choice;
68 }
69 
70 
71 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
operator H460P_PresenceInstruct&() const72 H460P_PresenceMessage::operator H460P_PresenceInstruct &() const
73 #else
74 H460P_PresenceMessage::operator H460P_PresenceInstruct &()
75 {
76 #ifndef PASN_LEANANDMEAN
77   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceInstruct), PInvalidCast);
78 #endif
79   return *(H460P_PresenceInstruct *)choice;
80 }
81 
82 
83 H460P_PresenceMessage::operator const H460P_PresenceInstruct &() const
84 #endif
85 {
86 #ifndef PASN_LEANANDMEAN
87   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceInstruct), PInvalidCast);
88 #endif
89   return *(H460P_PresenceInstruct *)choice;
90 }
91 
92 
93 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
operator H460P_PresenceAuthorize&() const94 H460P_PresenceMessage::operator H460P_PresenceAuthorize &() const
95 #else
96 H460P_PresenceMessage::operator H460P_PresenceAuthorize &()
97 {
98 #ifndef PASN_LEANANDMEAN
99   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceAuthorize), PInvalidCast);
100 #endif
101   return *(H460P_PresenceAuthorize *)choice;
102 }
103 
104 
105 H460P_PresenceMessage::operator const H460P_PresenceAuthorize &() const
106 #endif
107 {
108 #ifndef PASN_LEANANDMEAN
109   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceAuthorize), PInvalidCast);
110 #endif
111   return *(H460P_PresenceAuthorize *)choice;
112 }
113 
114 
115 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
operator H460P_PresenceNotify&() const116 H460P_PresenceMessage::operator H460P_PresenceNotify &() const
117 #else
118 H460P_PresenceMessage::operator H460P_PresenceNotify &()
119 {
120 #ifndef PASN_LEANANDMEAN
121   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceNotify), PInvalidCast);
122 #endif
123   return *(H460P_PresenceNotify *)choice;
124 }
125 
126 
127 H460P_PresenceMessage::operator const H460P_PresenceNotify &() const
128 #endif
129 {
130 #ifndef PASN_LEANANDMEAN
131   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceNotify), PInvalidCast);
132 #endif
133   return *(H460P_PresenceNotify *)choice;
134 }
135 
136 
137 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
operator H460P_PresenceRequest&() const138 H460P_PresenceMessage::operator H460P_PresenceRequest &() const
139 #else
140 H460P_PresenceMessage::operator H460P_PresenceRequest &()
141 {
142 #ifndef PASN_LEANANDMEAN
143   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceRequest), PInvalidCast);
144 #endif
145   return *(H460P_PresenceRequest *)choice;
146 }
147 
148 
149 H460P_PresenceMessage::operator const H460P_PresenceRequest &() const
150 #endif
151 {
152 #ifndef PASN_LEANANDMEAN
153   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceRequest), PInvalidCast);
154 #endif
155   return *(H460P_PresenceRequest *)choice;
156 }
157 
158 
159 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
operator H460P_PresenceResponse&() const160 H460P_PresenceMessage::operator H460P_PresenceResponse &() const
161 #else
162 H460P_PresenceMessage::operator H460P_PresenceResponse &()
163 {
164 #ifndef PASN_LEANANDMEAN
165   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceResponse), PInvalidCast);
166 #endif
167   return *(H460P_PresenceResponse *)choice;
168 }
169 
170 
171 H460P_PresenceMessage::operator const H460P_PresenceResponse &() const
172 #endif
173 {
174 #ifndef PASN_LEANANDMEAN
175   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceResponse), PInvalidCast);
176 #endif
177   return *(H460P_PresenceResponse *)choice;
178 }
179 
180 
181 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
operator H460P_PresenceAlive&() const182 H460P_PresenceMessage::operator H460P_PresenceAlive &() const
183 #else
184 H460P_PresenceMessage::operator H460P_PresenceAlive &()
185 {
186 #ifndef PASN_LEANANDMEAN
187   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceAlive), PInvalidCast);
188 #endif
189   return *(H460P_PresenceAlive *)choice;
190 }
191 
192 
193 H460P_PresenceMessage::operator const H460P_PresenceAlive &() const
194 #endif
195 {
196 #ifndef PASN_LEANANDMEAN
197   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceAlive), PInvalidCast);
198 #endif
199   return *(H460P_PresenceAlive *)choice;
200 }
201 
202 
203 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
operator H460P_PresenceRemove&() const204 H460P_PresenceMessage::operator H460P_PresenceRemove &() const
205 #else
206 H460P_PresenceMessage::operator H460P_PresenceRemove &()
207 {
208 #ifndef PASN_LEANANDMEAN
209   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceRemove), PInvalidCast);
210 #endif
211   return *(H460P_PresenceRemove *)choice;
212 }
213 
214 
215 H460P_PresenceMessage::operator const H460P_PresenceRemove &() const
216 #endif
217 {
218 #ifndef PASN_LEANANDMEAN
219   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceRemove), PInvalidCast);
220 #endif
221   return *(H460P_PresenceRemove *)choice;
222 }
223 
224 
225 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
operator H460P_PresenceAlert&() const226 H460P_PresenceMessage::operator H460P_PresenceAlert &() const
227 #else
228 H460P_PresenceMessage::operator H460P_PresenceAlert &()
229 {
230 #ifndef PASN_LEANANDMEAN
231   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceAlert), PInvalidCast);
232 #endif
233   return *(H460P_PresenceAlert *)choice;
234 }
235 
236 
237 H460P_PresenceMessage::operator const H460P_PresenceAlert &() const
238 #endif
239 {
240 #ifndef PASN_LEANANDMEAN
241   PAssert(PIsDescendant(PAssertNULL(choice), H460P_PresenceAlert), PInvalidCast);
242 #endif
243   return *(H460P_PresenceAlert *)choice;
244 }
245 
246 
CreateObject()247 PBoolean H460P_PresenceMessage::CreateObject()
248 {
249   switch (tag) {
250     case e_presenceStatus :
251       choice = new H460P_PresenceStatus();
252       return TRUE;
253     case e_presenceInstruct :
254       choice = new H460P_PresenceInstruct();
255       return TRUE;
256     case e_presenceAuthorize :
257       choice = new H460P_PresenceAuthorize();
258       return TRUE;
259     case e_presenceNotify :
260       choice = new H460P_PresenceNotify();
261       return TRUE;
262     case e_presenceRequest :
263       choice = new H460P_PresenceRequest();
264       return TRUE;
265     case e_presenceResponse :
266       choice = new H460P_PresenceResponse();
267       return TRUE;
268     case e_presenceAlive :
269       choice = new H460P_PresenceAlive();
270       return TRUE;
271     case e_presenceRemove :
272       choice = new H460P_PresenceRemove();
273       return TRUE;
274     case e_presenceAlert :
275       choice = new H460P_PresenceAlert();
276       return TRUE;
277   }
278 
279   choice = NULL;
280   return FALSE;
281 }
282 
283 
Clone() const284 PObject * H460P_PresenceMessage::Clone() const
285 {
286 #ifndef PASN_LEANANDMEAN
287   PAssert(IsClass(H460P_PresenceMessage::Class()), PInvalidCast);
288 #endif
289   return new H460P_PresenceMessage(*this);
290 }
291 
292 
293 
294 #ifndef PASN_NOPRINTON
295 const static PASN_Names Names_H460P_PresenceInstruction[]={
296       {"subscribe",0}
297      ,{"unsubscribe",1}
298      ,{"block",2}
299      ,{"unblock",3}
300 };
301 #endif
302 //
303 // PresenceInstruction
304 //
305 
H460P_PresenceInstruction(unsigned tag,PASN_Object::TagClass tagClass)306 H460P_PresenceInstruction::H460P_PresenceInstruction(unsigned tag, PASN_Object::TagClass tagClass)
307   : PASN_Choice(tag, tagClass, 4, TRUE
308 #ifndef PASN_NOPRINTON
309     ,(const PASN_Names *)Names_H460P_PresenceInstruction,4
310 #endif
311 )
312 {
313 }
314 
315 
316 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
operator H225_AliasAddress&() const317 H460P_PresenceInstruction::operator H225_AliasAddress &() const
318 #else
319 H460P_PresenceInstruction::operator H225_AliasAddress &()
320 {
321 #ifndef PASN_LEANANDMEAN
322   PAssert(PIsDescendant(PAssertNULL(choice), H225_AliasAddress), PInvalidCast);
323 #endif
324   return *(H225_AliasAddress *)choice;
325 }
326 
327 
328 H460P_PresenceInstruction::operator const H225_AliasAddress &() const
329 #endif
330 {
331 #ifndef PASN_LEANANDMEAN
332   PAssert(PIsDescendant(PAssertNULL(choice), H225_AliasAddress), PInvalidCast);
333 #endif
334   return *(H225_AliasAddress *)choice;
335 }
336 
337 
CreateObject()338 PBoolean H460P_PresenceInstruction::CreateObject()
339 {
340   switch (tag) {
341     case e_subscribe :
342     case e_unsubscribe :
343     case e_block :
344     case e_unblock :
345       choice = new H225_AliasAddress();
346       return TRUE;
347   }
348 
349   choice = NULL;
350   return FALSE;
351 }
352 
353 
Clone() const354 PObject * H460P_PresenceInstruction::Clone() const
355 {
356 #ifndef PASN_LEANANDMEAN
357   PAssert(IsClass(H460P_PresenceInstruction::Class()), PInvalidCast);
358 #endif
359   return new H460P_PresenceInstruction(*this);
360 }
361 
362 
363 //
364 // PresenceIdentifier
365 //
366 
H460P_PresenceIdentifier(unsigned tag,PASN_Object::TagClass tagClass)367 H460P_PresenceIdentifier::H460P_PresenceIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
368   : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
369 {
370   m_guid.SetConstraints(PASN_Object::FixedConstraint, 16);
371 }
372 
373 
374 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const375 void H460P_PresenceIdentifier::PrintOn(ostream & strm) const
376 {
377   std::streamsize indent = strm.precision() + 2;
378   strm << "{\n";
379   strm << setw(indent+7) << "guid = " << setprecision(indent) << m_guid << '\n';
380   strm << setw(indent-1) << setprecision(indent-2) << "}";
381 }
382 #endif
383 
384 
Compare(const PObject & obj) const385 PObject::Comparison H460P_PresenceIdentifier::Compare(const PObject & obj) const
386 {
387 #ifndef PASN_LEANANDMEAN
388   PAssert(PIsDescendant(&obj, H460P_PresenceIdentifier), PInvalidCast);
389 #endif
390   const H460P_PresenceIdentifier & other = (const H460P_PresenceIdentifier &)obj;
391 
392   Comparison result;
393 
394   if ((result = m_guid.Compare(other.m_guid)) != EqualTo)
395     return result;
396 
397   return PASN_Sequence::Compare(other);
398 }
399 
400 
GetDataLength() const401 PINDEX H460P_PresenceIdentifier::GetDataLength() const
402 {
403   PINDEX length = 0;
404   length += m_guid.GetObjectLength();
405   return length;
406 }
407 
408 
Decode(PASN_Stream & strm)409 PBoolean H460P_PresenceIdentifier::Decode(PASN_Stream & strm)
410 {
411   if (!PreambleDecode(strm))
412     return FALSE;
413 
414   if (!m_guid.Decode(strm))
415     return FALSE;
416 
417   return UnknownExtensionsDecode(strm);
418 }
419 
420 
Encode(PASN_Stream & strm) const421 void H460P_PresenceIdentifier::Encode(PASN_Stream & strm) const
422 {
423   PreambleEncode(strm);
424 
425   m_guid.Encode(strm);
426 
427   UnknownExtensionsEncode(strm);
428 }
429 
430 
Clone() const431 PObject * H460P_PresenceIdentifier::Clone() const
432 {
433 #ifndef PASN_LEANANDMEAN
434   PAssert(IsClass(H460P_PresenceIdentifier::Class()), PInvalidCast);
435 #endif
436   return new H460P_PresenceIdentifier(*this);
437 }
438 
439 
440 
441 #ifndef PASN_NOPRINTON
442 const static PASN_Names Names_H460P_PresenceState[]={
443       {"hidden",0}
444      ,{"available",1}
445      ,{"online",2}
446      ,{"offline",3}
447      ,{"onCall",4}
448      ,{"voiceMail",5}
449      ,{"notAvailable",6}
450      ,{"generic",7}
451 };
452 #endif
453 //
454 // PresenceState
455 //
456 
H460P_PresenceState(unsigned tag,PASN_Object::TagClass tagClass)457 H460P_PresenceState::H460P_PresenceState(unsigned tag, PASN_Object::TagClass tagClass)
458   : PASN_Choice(tag, tagClass, 8, TRUE
459 #ifndef PASN_NOPRINTON
460     ,(const PASN_Names *)Names_H460P_PresenceState,8
461 #endif
462 )
463 {
464 }
465 
466 
CreateObject()467 PBoolean H460P_PresenceState::CreateObject()
468 {
469   switch (tag) {
470     case e_hidden :
471     case e_available :
472     case e_online :
473     case e_offline :
474     case e_onCall :
475     case e_voiceMail :
476     case e_notAvailable :
477       choice = new PASN_Null();
478       return TRUE;
479     case e_generic :
480       choice = new PASN_BMPString();
481       choice->SetConstraints(PASN_Object::FixedConstraint, 1, 256);
482       return TRUE;
483   }
484 
485   choice = NULL;
486   return FALSE;
487 }
488 
489 
Clone() const490 PObject * H460P_PresenceState::Clone() const
491 {
492 #ifndef PASN_LEANANDMEAN
493   PAssert(IsClass(H460P_PresenceState::Class()), PInvalidCast);
494 #endif
495   return new H460P_PresenceState(*this);
496 }
497 
498 
499 //
500 // ArrayOf_PresenceNotification
501 //
502 
H460P_ArrayOf_PresenceNotification(unsigned tag,PASN_Object::TagClass tagClass)503 H460P_ArrayOf_PresenceNotification::H460P_ArrayOf_PresenceNotification(unsigned tag, PASN_Object::TagClass tagClass)
504   : PASN_Array(tag, tagClass)
505 {
506 }
507 
508 
CreateObject() const509 PASN_Object * H460P_ArrayOf_PresenceNotification::CreateObject() const
510 {
511   return new H460P_PresenceNotification;
512 }
513 
514 
operator [](PINDEX i) const515 H460P_PresenceNotification & H460P_ArrayOf_PresenceNotification::operator[](PINDEX i) const
516 {
517   return (H460P_PresenceNotification &)array[i];
518 }
519 
520 
Clone() const521 PObject * H460P_ArrayOf_PresenceNotification::Clone() const
522 {
523 #ifndef PASN_LEANANDMEAN
524   PAssert(IsClass(H460P_ArrayOf_PresenceNotification::Class()), PInvalidCast);
525 #endif
526   return new H460P_ArrayOf_PresenceNotification(*this);
527 }
528 
529 
530 //
531 // ArrayOf_PresenceInstruction
532 //
533 
H460P_ArrayOf_PresenceInstruction(unsigned tag,PASN_Object::TagClass tagClass)534 H460P_ArrayOf_PresenceInstruction::H460P_ArrayOf_PresenceInstruction(unsigned tag, PASN_Object::TagClass tagClass)
535   : PASN_Array(tag, tagClass)
536 {
537 }
538 
539 
CreateObject() const540 PASN_Object * H460P_ArrayOf_PresenceInstruction::CreateObject() const
541 {
542   return new H460P_PresenceInstruction;
543 }
544 
545 
operator [](PINDEX i) const546 H460P_PresenceInstruction & H460P_ArrayOf_PresenceInstruction::operator[](PINDEX i) const
547 {
548   return (H460P_PresenceInstruction &)array[i];
549 }
550 
551 
Clone() const552 PObject * H460P_ArrayOf_PresenceInstruction::Clone() const
553 {
554 #ifndef PASN_LEANANDMEAN
555   PAssert(IsClass(H460P_ArrayOf_PresenceInstruction::Class()), PInvalidCast);
556 #endif
557   return new H460P_ArrayOf_PresenceInstruction(*this);
558 }
559 
560 
561 //
562 // ArrayOf_PresenceSubscription
563 //
564 
H460P_ArrayOf_PresenceSubscription(unsigned tag,PASN_Object::TagClass tagClass)565 H460P_ArrayOf_PresenceSubscription::H460P_ArrayOf_PresenceSubscription(unsigned tag, PASN_Object::TagClass tagClass)
566   : PASN_Array(tag, tagClass)
567 {
568 }
569 
570 
CreateObject() const571 PASN_Object * H460P_ArrayOf_PresenceSubscription::CreateObject() const
572 {
573   return new H460P_PresenceSubscription;
574 }
575 
576 
operator [](PINDEX i) const577 H460P_PresenceSubscription & H460P_ArrayOf_PresenceSubscription::operator[](PINDEX i) const
578 {
579   return (H460P_PresenceSubscription &)array[i];
580 }
581 
582 
Clone() const583 PObject * H460P_ArrayOf_PresenceSubscription::Clone() const
584 {
585 #ifndef PASN_LEANANDMEAN
586   PAssert(IsClass(H460P_ArrayOf_PresenceSubscription::Class()), PInvalidCast);
587 #endif
588   return new H460P_ArrayOf_PresenceSubscription(*this);
589 }
590 
591 
592 //
593 // ArrayOf_ClearToken
594 //
595 
H460P_ArrayOf_ClearToken(unsigned tag,PASN_Object::TagClass tagClass)596 H460P_ArrayOf_ClearToken::H460P_ArrayOf_ClearToken(unsigned tag, PASN_Object::TagClass tagClass)
597   : PASN_Array(tag, tagClass)
598 {
599 }
600 
601 
CreateObject() const602 PASN_Object * H460P_ArrayOf_ClearToken::CreateObject() const
603 {
604   return new H235_ClearToken;
605 }
606 
607 
operator [](PINDEX i) const608 H235_ClearToken & H460P_ArrayOf_ClearToken::operator[](PINDEX i) const
609 {
610   return (H235_ClearToken &)array[i];
611 }
612 
613 
Clone() const614 PObject * H460P_ArrayOf_ClearToken::Clone() const
615 {
616 #ifndef PASN_LEANANDMEAN
617   PAssert(IsClass(H460P_ArrayOf_ClearToken::Class()), PInvalidCast);
618 #endif
619   return new H460P_ArrayOf_ClearToken(*this);
620 }
621 
622 
623 //
624 // ArrayOf_CryptoH323Token
625 //
626 
H460P_ArrayOf_CryptoH323Token(unsigned tag,PASN_Object::TagClass tagClass)627 H460P_ArrayOf_CryptoH323Token::H460P_ArrayOf_CryptoH323Token(unsigned tag, PASN_Object::TagClass tagClass)
628   : PASN_Array(tag, tagClass)
629 {
630 }
631 
632 
CreateObject() const633 PASN_Object * H460P_ArrayOf_CryptoH323Token::CreateObject() const
634 {
635   return new H225_CryptoH323Token;
636 }
637 
638 
operator [](PINDEX i) const639 H225_CryptoH323Token & H460P_ArrayOf_CryptoH323Token::operator[](PINDEX i) const
640 {
641   return (H225_CryptoH323Token &)array[i];
642 }
643 
644 
Clone() const645 PObject * H460P_ArrayOf_CryptoH323Token::Clone() const
646 {
647 #ifndef PASN_LEANANDMEAN
648   PAssert(IsClass(H460P_ArrayOf_CryptoH323Token::Class()), PInvalidCast);
649 #endif
650   return new H460P_ArrayOf_CryptoH323Token(*this);
651 }
652 
653 
654 //
655 // ArrayOf_PresenceIdentifier
656 //
657 
H460P_ArrayOf_PresenceIdentifier(unsigned tag,PASN_Object::TagClass tagClass)658 H460P_ArrayOf_PresenceIdentifier::H460P_ArrayOf_PresenceIdentifier(unsigned tag, PASN_Object::TagClass tagClass)
659   : PASN_Array(tag, tagClass)
660 {
661 }
662 
663 
CreateObject() const664 PASN_Object * H460P_ArrayOf_PresenceIdentifier::CreateObject() const
665 {
666   return new H460P_PresenceIdentifier;
667 }
668 
669 
operator [](PINDEX i) const670 H460P_PresenceIdentifier & H460P_ArrayOf_PresenceIdentifier::operator[](PINDEX i) const
671 {
672   return (H460P_PresenceIdentifier &)array[i];
673 }
674 
675 
Clone() const676 PObject * H460P_ArrayOf_PresenceIdentifier::Clone() const
677 {
678 #ifndef PASN_LEANANDMEAN
679   PAssert(IsClass(H460P_ArrayOf_PresenceIdentifier::Class()), PInvalidCast);
680 #endif
681   return new H460P_ArrayOf_PresenceIdentifier(*this);
682 }
683 
684 
685 //
686 // ArrayOf_AliasAddress
687 //
688 
H460P_ArrayOf_AliasAddress(unsigned tag,PASN_Object::TagClass tagClass)689 H460P_ArrayOf_AliasAddress::H460P_ArrayOf_AliasAddress(unsigned tag, PASN_Object::TagClass tagClass)
690   : PASN_Array(tag, tagClass)
691 {
692 }
693 
694 
CreateObject() const695 PASN_Object * H460P_ArrayOf_AliasAddress::CreateObject() const
696 {
697   return new H225_AliasAddress;
698 }
699 
700 
operator [](PINDEX i) const701 H225_AliasAddress & H460P_ArrayOf_AliasAddress::operator[](PINDEX i) const
702 {
703   return (H225_AliasAddress &)array[i];
704 }
705 
706 
Clone() const707 PObject * H460P_ArrayOf_AliasAddress::Clone() const
708 {
709 #ifndef PASN_LEANANDMEAN
710   PAssert(IsClass(H460P_ArrayOf_AliasAddress::Class()), PInvalidCast);
711 #endif
712   return new H460P_ArrayOf_AliasAddress(*this);
713 }
714 
715 
716 //
717 // ArrayOf_GenericData
718 //
719 
H460P_ArrayOf_GenericData(unsigned tag,PASN_Object::TagClass tagClass)720 H460P_ArrayOf_GenericData::H460P_ArrayOf_GenericData(unsigned tag, PASN_Object::TagClass tagClass)
721   : PASN_Array(tag, tagClass)
722 {
723 }
724 
725 
CreateObject() const726 PASN_Object * H460P_ArrayOf_GenericData::CreateObject() const
727 {
728   return new H225_GenericData;
729 }
730 
731 
operator [](PINDEX i) const732 H225_GenericData & H460P_ArrayOf_GenericData::operator[](PINDEX i) const
733 {
734   return (H225_GenericData &)array[i];
735 }
736 
737 
Clone() const738 PObject * H460P_ArrayOf_GenericData::Clone() const
739 {
740 #ifndef PASN_LEANANDMEAN
741   PAssert(IsClass(H460P_ArrayOf_GenericData::Class()), PInvalidCast);
742 #endif
743   return new H460P_ArrayOf_GenericData(*this);
744 }
745 
746 
747 //
748 // PresenceStatus
749 //
750 
H460P_PresenceStatus(unsigned tag,PASN_Object::TagClass tagClass)751 H460P_PresenceStatus::H460P_PresenceStatus(unsigned tag, PASN_Object::TagClass tagClass)
752   : PASN_Sequence(tag, tagClass, 1, TRUE, 0)
753 {
754 }
755 
756 
757 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const758 void H460P_PresenceStatus::PrintOn(ostream & strm) const
759 {
760   std::streamsize indent = strm.precision() + 2;
761   strm << "{\n";
762   strm << setw(indent+15) << "notification = " << setprecision(indent) << m_notification << '\n';
763   if (HasOptionalField(e_instruction))
764     strm << setw(indent+14) << "instruction = " << setprecision(indent) << m_instruction << '\n';
765   strm << setw(indent-1) << setprecision(indent-2) << "}";
766 }
767 #endif
768 
769 
Compare(const PObject & obj) const770 PObject::Comparison H460P_PresenceStatus::Compare(const PObject & obj) const
771 {
772 #ifndef PASN_LEANANDMEAN
773   PAssert(PIsDescendant(&obj, H460P_PresenceStatus), PInvalidCast);
774 #endif
775   const H460P_PresenceStatus & other = (const H460P_PresenceStatus &)obj;
776 
777   Comparison result;
778 
779   if ((result = m_notification.Compare(other.m_notification)) != EqualTo)
780     return result;
781   if ((result = m_instruction.Compare(other.m_instruction)) != EqualTo)
782     return result;
783 
784   return PASN_Sequence::Compare(other);
785 }
786 
787 
GetDataLength() const788 PINDEX H460P_PresenceStatus::GetDataLength() const
789 {
790   PINDEX length = 0;
791   length += m_notification.GetObjectLength();
792   if (HasOptionalField(e_instruction))
793     length += m_instruction.GetObjectLength();
794   return length;
795 }
796 
797 
Decode(PASN_Stream & strm)798 PBoolean H460P_PresenceStatus::Decode(PASN_Stream & strm)
799 {
800   if (!PreambleDecode(strm))
801     return FALSE;
802 
803   if (!m_notification.Decode(strm))
804     return FALSE;
805   if (HasOptionalField(e_instruction) && !m_instruction.Decode(strm))
806     return FALSE;
807 
808   return UnknownExtensionsDecode(strm);
809 }
810 
811 
Encode(PASN_Stream & strm) const812 void H460P_PresenceStatus::Encode(PASN_Stream & strm) const
813 {
814   PreambleEncode(strm);
815 
816   m_notification.Encode(strm);
817   if (HasOptionalField(e_instruction))
818     m_instruction.Encode(strm);
819 
820   UnknownExtensionsEncode(strm);
821 }
822 
823 
Clone() const824 PObject * H460P_PresenceStatus::Clone() const
825 {
826 #ifndef PASN_LEANANDMEAN
827   PAssert(IsClass(H460P_PresenceStatus::Class()), PInvalidCast);
828 #endif
829   return new H460P_PresenceStatus(*this);
830 }
831 
832 
833 //
834 // PresenceInstruct
835 //
836 
H460P_PresenceInstruct(unsigned tag,PASN_Object::TagClass tagClass)837 H460P_PresenceInstruct::H460P_PresenceInstruct(unsigned tag, PASN_Object::TagClass tagClass)
838   : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
839 {
840 }
841 
842 
843 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const844 void H460P_PresenceInstruct::PrintOn(ostream & strm) const
845 {
846   std::streamsize indent = strm.precision() + 2;
847   strm << "{\n";
848   strm << setw(indent+14) << "instruction = " << setprecision(indent) << m_instruction << '\n';
849   strm << setw(indent-1) << setprecision(indent-2) << "}";
850 }
851 #endif
852 
853 
Compare(const PObject & obj) const854 PObject::Comparison H460P_PresenceInstruct::Compare(const PObject & obj) const
855 {
856 #ifndef PASN_LEANANDMEAN
857   PAssert(PIsDescendant(&obj, H460P_PresenceInstruct), PInvalidCast);
858 #endif
859   const H460P_PresenceInstruct & other = (const H460P_PresenceInstruct &)obj;
860 
861   Comparison result;
862 
863   if ((result = m_instruction.Compare(other.m_instruction)) != EqualTo)
864     return result;
865 
866   return PASN_Sequence::Compare(other);
867 }
868 
869 
GetDataLength() const870 PINDEX H460P_PresenceInstruct::GetDataLength() const
871 {
872   PINDEX length = 0;
873   length += m_instruction.GetObjectLength();
874   return length;
875 }
876 
877 
Decode(PASN_Stream & strm)878 PBoolean H460P_PresenceInstruct::Decode(PASN_Stream & strm)
879 {
880   if (!PreambleDecode(strm))
881     return FALSE;
882 
883   if (!m_instruction.Decode(strm))
884     return FALSE;
885 
886   return UnknownExtensionsDecode(strm);
887 }
888 
889 
Encode(PASN_Stream & strm) const890 void H460P_PresenceInstruct::Encode(PASN_Stream & strm) const
891 {
892   PreambleEncode(strm);
893 
894   m_instruction.Encode(strm);
895 
896   UnknownExtensionsEncode(strm);
897 }
898 
899 
Clone() const900 PObject * H460P_PresenceInstruct::Clone() const
901 {
902 #ifndef PASN_LEANANDMEAN
903   PAssert(IsClass(H460P_PresenceInstruct::Class()), PInvalidCast);
904 #endif
905   return new H460P_PresenceInstruct(*this);
906 }
907 
908 
909 //
910 // PresenceAuthorize
911 //
912 
H460P_PresenceAuthorize(unsigned tag,PASN_Object::TagClass tagClass)913 H460P_PresenceAuthorize::H460P_PresenceAuthorize(unsigned tag, PASN_Object::TagClass tagClass)
914   : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
915 {
916 }
917 
918 
919 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const920 void H460P_PresenceAuthorize::PrintOn(ostream & strm) const
921 {
922   std::streamsize indent = strm.precision() + 2;
923   strm << "{\n";
924   strm << setw(indent+15) << "subscription = " << setprecision(indent) << m_subscription << '\n';
925   strm << setw(indent-1) << setprecision(indent-2) << "}";
926 }
927 #endif
928 
929 
Compare(const PObject & obj) const930 PObject::Comparison H460P_PresenceAuthorize::Compare(const PObject & obj) const
931 {
932 #ifndef PASN_LEANANDMEAN
933   PAssert(PIsDescendant(&obj, H460P_PresenceAuthorize), PInvalidCast);
934 #endif
935   const H460P_PresenceAuthorize & other = (const H460P_PresenceAuthorize &)obj;
936 
937   Comparison result;
938 
939   if ((result = m_subscription.Compare(other.m_subscription)) != EqualTo)
940     return result;
941 
942   return PASN_Sequence::Compare(other);
943 }
944 
945 
GetDataLength() const946 PINDEX H460P_PresenceAuthorize::GetDataLength() const
947 {
948   PINDEX length = 0;
949   length += m_subscription.GetObjectLength();
950   return length;
951 }
952 
953 
Decode(PASN_Stream & strm)954 PBoolean H460P_PresenceAuthorize::Decode(PASN_Stream & strm)
955 {
956   if (!PreambleDecode(strm))
957     return FALSE;
958 
959   if (!m_subscription.Decode(strm))
960     return FALSE;
961 
962   return UnknownExtensionsDecode(strm);
963 }
964 
965 
Encode(PASN_Stream & strm) const966 void H460P_PresenceAuthorize::Encode(PASN_Stream & strm) const
967 {
968   PreambleEncode(strm);
969 
970   m_subscription.Encode(strm);
971 
972   UnknownExtensionsEncode(strm);
973 }
974 
975 
Clone() const976 PObject * H460P_PresenceAuthorize::Clone() const
977 {
978 #ifndef PASN_LEANANDMEAN
979   PAssert(IsClass(H460P_PresenceAuthorize::Class()), PInvalidCast);
980 #endif
981   return new H460P_PresenceAuthorize(*this);
982 }
983 
984 
985 //
986 // PresenceNotify
987 //
988 
H460P_PresenceNotify(unsigned tag,PASN_Object::TagClass tagClass)989 H460P_PresenceNotify::H460P_PresenceNotify(unsigned tag, PASN_Object::TagClass tagClass)
990   : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
991 {
992 }
993 
994 
995 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const996 void H460P_PresenceNotify::PrintOn(ostream & strm) const
997 {
998   std::streamsize indent = strm.precision() + 2;
999   strm << "{\n";
1000   strm << setw(indent+15) << "notification = " << setprecision(indent) << m_notification << '\n';
1001   strm << setw(indent-1) << setprecision(indent-2) << "}";
1002 }
1003 #endif
1004 
1005 
Compare(const PObject & obj) const1006 PObject::Comparison H460P_PresenceNotify::Compare(const PObject & obj) const
1007 {
1008 #ifndef PASN_LEANANDMEAN
1009   PAssert(PIsDescendant(&obj, H460P_PresenceNotify), PInvalidCast);
1010 #endif
1011   const H460P_PresenceNotify & other = (const H460P_PresenceNotify &)obj;
1012 
1013   Comparison result;
1014 
1015   if ((result = m_notification.Compare(other.m_notification)) != EqualTo)
1016     return result;
1017 
1018   return PASN_Sequence::Compare(other);
1019 }
1020 
1021 
GetDataLength() const1022 PINDEX H460P_PresenceNotify::GetDataLength() const
1023 {
1024   PINDEX length = 0;
1025   length += m_notification.GetObjectLength();
1026   return length;
1027 }
1028 
1029 
Decode(PASN_Stream & strm)1030 PBoolean H460P_PresenceNotify::Decode(PASN_Stream & strm)
1031 {
1032   if (!PreambleDecode(strm))
1033     return FALSE;
1034 
1035   if (!m_notification.Decode(strm))
1036     return FALSE;
1037 
1038   return UnknownExtensionsDecode(strm);
1039 }
1040 
1041 
Encode(PASN_Stream & strm) const1042 void H460P_PresenceNotify::Encode(PASN_Stream & strm) const
1043 {
1044   PreambleEncode(strm);
1045 
1046   m_notification.Encode(strm);
1047 
1048   UnknownExtensionsEncode(strm);
1049 }
1050 
1051 
Clone() const1052 PObject * H460P_PresenceNotify::Clone() const
1053 {
1054 #ifndef PASN_LEANANDMEAN
1055   PAssert(IsClass(H460P_PresenceNotify::Class()), PInvalidCast);
1056 #endif
1057   return new H460P_PresenceNotify(*this);
1058 }
1059 
1060 
1061 //
1062 // PresenceRequest
1063 //
1064 
H460P_PresenceRequest(unsigned tag,PASN_Object::TagClass tagClass)1065 H460P_PresenceRequest::H460P_PresenceRequest(unsigned tag, PASN_Object::TagClass tagClass)
1066   : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
1067 {
1068 }
1069 
1070 
1071 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const1072 void H460P_PresenceRequest::PrintOn(ostream & strm) const
1073 {
1074   std::streamsize indent = strm.precision() + 2;
1075   strm << "{\n";
1076   strm << setw(indent+15) << "subscription = " << setprecision(indent) << m_subscription << '\n';
1077   if (HasOptionalField(e_tokens))
1078     strm << setw(indent+9) << "tokens = " << setprecision(indent) << m_tokens << '\n';
1079   if (HasOptionalField(e_cryptoTokens))
1080     strm << setw(indent+15) << "cryptoTokens = " << setprecision(indent) << m_cryptoTokens << '\n';
1081   strm << setw(indent-1) << setprecision(indent-2) << "}";
1082 }
1083 #endif
1084 
1085 
Compare(const PObject & obj) const1086 PObject::Comparison H460P_PresenceRequest::Compare(const PObject & obj) const
1087 {
1088 #ifndef PASN_LEANANDMEAN
1089   PAssert(PIsDescendant(&obj, H460P_PresenceRequest), PInvalidCast);
1090 #endif
1091   const H460P_PresenceRequest & other = (const H460P_PresenceRequest &)obj;
1092 
1093   Comparison result;
1094 
1095   if ((result = m_subscription.Compare(other.m_subscription)) != EqualTo)
1096     return result;
1097   if ((result = m_tokens.Compare(other.m_tokens)) != EqualTo)
1098     return result;
1099   if ((result = m_cryptoTokens.Compare(other.m_cryptoTokens)) != EqualTo)
1100     return result;
1101 
1102   return PASN_Sequence::Compare(other);
1103 }
1104 
1105 
GetDataLength() const1106 PINDEX H460P_PresenceRequest::GetDataLength() const
1107 {
1108   PINDEX length = 0;
1109   length += m_subscription.GetObjectLength();
1110   if (HasOptionalField(e_tokens))
1111     length += m_tokens.GetObjectLength();
1112   if (HasOptionalField(e_cryptoTokens))
1113     length += m_cryptoTokens.GetObjectLength();
1114   return length;
1115 }
1116 
1117 
Decode(PASN_Stream & strm)1118 PBoolean H460P_PresenceRequest::Decode(PASN_Stream & strm)
1119 {
1120   if (!PreambleDecode(strm))
1121     return FALSE;
1122 
1123   if (!m_subscription.Decode(strm))
1124     return FALSE;
1125   if (HasOptionalField(e_tokens) && !m_tokens.Decode(strm))
1126     return FALSE;
1127   if (HasOptionalField(e_cryptoTokens) && !m_cryptoTokens.Decode(strm))
1128     return FALSE;
1129 
1130   return UnknownExtensionsDecode(strm);
1131 }
1132 
1133 
Encode(PASN_Stream & strm) const1134 void H460P_PresenceRequest::Encode(PASN_Stream & strm) const
1135 {
1136   PreambleEncode(strm);
1137 
1138   m_subscription.Encode(strm);
1139   if (HasOptionalField(e_tokens))
1140     m_tokens.Encode(strm);
1141   if (HasOptionalField(e_cryptoTokens))
1142     m_cryptoTokens.Encode(strm);
1143 
1144   UnknownExtensionsEncode(strm);
1145 }
1146 
1147 
Clone() const1148 PObject * H460P_PresenceRequest::Clone() const
1149 {
1150 #ifndef PASN_LEANANDMEAN
1151   PAssert(IsClass(H460P_PresenceRequest::Class()), PInvalidCast);
1152 #endif
1153   return new H460P_PresenceRequest(*this);
1154 }
1155 
1156 
1157 //
1158 // PresenceResponse
1159 //
1160 
H460P_PresenceResponse(unsigned tag,PASN_Object::TagClass tagClass)1161 H460P_PresenceResponse::H460P_PresenceResponse(unsigned tag, PASN_Object::TagClass tagClass)
1162   : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
1163 {
1164 }
1165 
1166 
1167 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const1168 void H460P_PresenceResponse::PrintOn(ostream & strm) const
1169 {
1170   std::streamsize indent = strm.precision() + 2;
1171   strm << "{\n";
1172   strm << setw(indent+15) << "subscription = " << setprecision(indent) << m_subscription << '\n';
1173   if (HasOptionalField(e_tokens))
1174     strm << setw(indent+9) << "tokens = " << setprecision(indent) << m_tokens << '\n';
1175   if (HasOptionalField(e_cryptoTokens))
1176     strm << setw(indent+15) << "cryptoTokens = " << setprecision(indent) << m_cryptoTokens << '\n';
1177   strm << setw(indent-1) << setprecision(indent-2) << "}";
1178 }
1179 #endif
1180 
1181 
Compare(const PObject & obj) const1182 PObject::Comparison H460P_PresenceResponse::Compare(const PObject & obj) const
1183 {
1184 #ifndef PASN_LEANANDMEAN
1185   PAssert(PIsDescendant(&obj, H460P_PresenceResponse), PInvalidCast);
1186 #endif
1187   const H460P_PresenceResponse & other = (const H460P_PresenceResponse &)obj;
1188 
1189   Comparison result;
1190 
1191   if ((result = m_subscription.Compare(other.m_subscription)) != EqualTo)
1192     return result;
1193   if ((result = m_tokens.Compare(other.m_tokens)) != EqualTo)
1194     return result;
1195   if ((result = m_cryptoTokens.Compare(other.m_cryptoTokens)) != EqualTo)
1196     return result;
1197 
1198   return PASN_Sequence::Compare(other);
1199 }
1200 
1201 
GetDataLength() const1202 PINDEX H460P_PresenceResponse::GetDataLength() const
1203 {
1204   PINDEX length = 0;
1205   length += m_subscription.GetObjectLength();
1206   if (HasOptionalField(e_tokens))
1207     length += m_tokens.GetObjectLength();
1208   if (HasOptionalField(e_cryptoTokens))
1209     length += m_cryptoTokens.GetObjectLength();
1210   return length;
1211 }
1212 
1213 
Decode(PASN_Stream & strm)1214 PBoolean H460P_PresenceResponse::Decode(PASN_Stream & strm)
1215 {
1216   if (!PreambleDecode(strm))
1217     return FALSE;
1218 
1219   if (!m_subscription.Decode(strm))
1220     return FALSE;
1221   if (HasOptionalField(e_tokens) && !m_tokens.Decode(strm))
1222     return FALSE;
1223   if (HasOptionalField(e_cryptoTokens) && !m_cryptoTokens.Decode(strm))
1224     return FALSE;
1225 
1226   return UnknownExtensionsDecode(strm);
1227 }
1228 
1229 
Encode(PASN_Stream & strm) const1230 void H460P_PresenceResponse::Encode(PASN_Stream & strm) const
1231 {
1232   PreambleEncode(strm);
1233 
1234   m_subscription.Encode(strm);
1235   if (HasOptionalField(e_tokens))
1236     m_tokens.Encode(strm);
1237   if (HasOptionalField(e_cryptoTokens))
1238     m_cryptoTokens.Encode(strm);
1239 
1240   UnknownExtensionsEncode(strm);
1241 }
1242 
1243 
Clone() const1244 PObject * H460P_PresenceResponse::Clone() const
1245 {
1246 #ifndef PASN_LEANANDMEAN
1247   PAssert(IsClass(H460P_PresenceResponse::Class()), PInvalidCast);
1248 #endif
1249   return new H460P_PresenceResponse(*this);
1250 }
1251 
1252 
1253 //
1254 // PresenceAlive
1255 //
1256 
H460P_PresenceAlive(unsigned tag,PASN_Object::TagClass tagClass)1257 H460P_PresenceAlive::H460P_PresenceAlive(unsigned tag, PASN_Object::TagClass tagClass)
1258   : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
1259 {
1260 }
1261 
1262 
1263 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const1264 void H460P_PresenceAlive::PrintOn(ostream & strm) const
1265 {
1266   std::streamsize indent = strm.precision() + 2;
1267   strm << "{\n";
1268   strm << setw(indent+13) << "identifier = " << setprecision(indent) << m_identifier << '\n';
1269   strm << setw(indent-1) << setprecision(indent-2) << "}";
1270 }
1271 #endif
1272 
1273 
Compare(const PObject & obj) const1274 PObject::Comparison H460P_PresenceAlive::Compare(const PObject & obj) const
1275 {
1276 #ifndef PASN_LEANANDMEAN
1277   PAssert(PIsDescendant(&obj, H460P_PresenceAlive), PInvalidCast);
1278 #endif
1279   const H460P_PresenceAlive & other = (const H460P_PresenceAlive &)obj;
1280 
1281   Comparison result;
1282 
1283   if ((result = m_identifier.Compare(other.m_identifier)) != EqualTo)
1284     return result;
1285 
1286   return PASN_Sequence::Compare(other);
1287 }
1288 
1289 
GetDataLength() const1290 PINDEX H460P_PresenceAlive::GetDataLength() const
1291 {
1292   PINDEX length = 0;
1293   length += m_identifier.GetObjectLength();
1294   return length;
1295 }
1296 
1297 
Decode(PASN_Stream & strm)1298 PBoolean H460P_PresenceAlive::Decode(PASN_Stream & strm)
1299 {
1300   if (!PreambleDecode(strm))
1301     return FALSE;
1302 
1303   if (!m_identifier.Decode(strm))
1304     return FALSE;
1305 
1306   return UnknownExtensionsDecode(strm);
1307 }
1308 
1309 
Encode(PASN_Stream & strm) const1310 void H460P_PresenceAlive::Encode(PASN_Stream & strm) const
1311 {
1312   PreambleEncode(strm);
1313 
1314   m_identifier.Encode(strm);
1315 
1316   UnknownExtensionsEncode(strm);
1317 }
1318 
1319 
Clone() const1320 PObject * H460P_PresenceAlive::Clone() const
1321 {
1322 #ifndef PASN_LEANANDMEAN
1323   PAssert(IsClass(H460P_PresenceAlive::Class()), PInvalidCast);
1324 #endif
1325   return new H460P_PresenceAlive(*this);
1326 }
1327 
1328 
1329 //
1330 // PresenceRemove
1331 //
1332 
H460P_PresenceRemove(unsigned tag,PASN_Object::TagClass tagClass)1333 H460P_PresenceRemove::H460P_PresenceRemove(unsigned tag, PASN_Object::TagClass tagClass)
1334   : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
1335 {
1336 }
1337 
1338 
1339 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const1340 void H460P_PresenceRemove::PrintOn(ostream & strm) const
1341 {
1342   std::streamsize indent = strm.precision() + 2;
1343   strm << "{\n";
1344   strm << setw(indent+13) << "identifier = " << setprecision(indent) << m_identifier << '\n';
1345   strm << setw(indent-1) << setprecision(indent-2) << "}";
1346 }
1347 #endif
1348 
1349 
Compare(const PObject & obj) const1350 PObject::Comparison H460P_PresenceRemove::Compare(const PObject & obj) const
1351 {
1352 #ifndef PASN_LEANANDMEAN
1353   PAssert(PIsDescendant(&obj, H460P_PresenceRemove), PInvalidCast);
1354 #endif
1355   const H460P_PresenceRemove & other = (const H460P_PresenceRemove &)obj;
1356 
1357   Comparison result;
1358 
1359   if ((result = m_identifier.Compare(other.m_identifier)) != EqualTo)
1360     return result;
1361 
1362   return PASN_Sequence::Compare(other);
1363 }
1364 
1365 
GetDataLength() const1366 PINDEX H460P_PresenceRemove::GetDataLength() const
1367 {
1368   PINDEX length = 0;
1369   length += m_identifier.GetObjectLength();
1370   return length;
1371 }
1372 
1373 
Decode(PASN_Stream & strm)1374 PBoolean H460P_PresenceRemove::Decode(PASN_Stream & strm)
1375 {
1376   if (!PreambleDecode(strm))
1377     return FALSE;
1378 
1379   if (!m_identifier.Decode(strm))
1380     return FALSE;
1381 
1382   return UnknownExtensionsDecode(strm);
1383 }
1384 
1385 
Encode(PASN_Stream & strm) const1386 void H460P_PresenceRemove::Encode(PASN_Stream & strm) const
1387 {
1388   PreambleEncode(strm);
1389 
1390   m_identifier.Encode(strm);
1391 
1392   UnknownExtensionsEncode(strm);
1393 }
1394 
1395 
Clone() const1396 PObject * H460P_PresenceRemove::Clone() const
1397 {
1398 #ifndef PASN_LEANANDMEAN
1399   PAssert(IsClass(H460P_PresenceRemove::Class()), PInvalidCast);
1400 #endif
1401   return new H460P_PresenceRemove(*this);
1402 }
1403 
1404 
1405 //
1406 // PresenceAlert
1407 //
1408 
H460P_PresenceAlert(unsigned tag,PASN_Object::TagClass tagClass)1409 H460P_PresenceAlert::H460P_PresenceAlert(unsigned tag, PASN_Object::TagClass tagClass)
1410   : PASN_Sequence(tag, tagClass, 0, TRUE, 0)
1411 {
1412 }
1413 
1414 
1415 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const1416 void H460P_PresenceAlert::PrintOn(ostream & strm) const
1417 {
1418   std::streamsize indent = strm.precision() + 2;
1419   strm << "{\n";
1420   strm << setw(indent+15) << "notification = " << setprecision(indent) << m_notification << '\n';
1421   strm << setw(indent-1) << setprecision(indent-2) << "}";
1422 }
1423 #endif
1424 
1425 
Compare(const PObject & obj) const1426 PObject::Comparison H460P_PresenceAlert::Compare(const PObject & obj) const
1427 {
1428 #ifndef PASN_LEANANDMEAN
1429   PAssert(PIsDescendant(&obj, H460P_PresenceAlert), PInvalidCast);
1430 #endif
1431   const H460P_PresenceAlert & other = (const H460P_PresenceAlert &)obj;
1432 
1433   Comparison result;
1434 
1435   if ((result = m_notification.Compare(other.m_notification)) != EqualTo)
1436     return result;
1437 
1438   return PASN_Sequence::Compare(other);
1439 }
1440 
1441 
GetDataLength() const1442 PINDEX H460P_PresenceAlert::GetDataLength() const
1443 {
1444   PINDEX length = 0;
1445   length += m_notification.GetObjectLength();
1446   return length;
1447 }
1448 
1449 
Decode(PASN_Stream & strm)1450 PBoolean H460P_PresenceAlert::Decode(PASN_Stream & strm)
1451 {
1452   if (!PreambleDecode(strm))
1453     return FALSE;
1454 
1455   if (!m_notification.Decode(strm))
1456     return FALSE;
1457 
1458   return UnknownExtensionsDecode(strm);
1459 }
1460 
1461 
Encode(PASN_Stream & strm) const1462 void H460P_PresenceAlert::Encode(PASN_Stream & strm) const
1463 {
1464   PreambleEncode(strm);
1465 
1466   m_notification.Encode(strm);
1467 
1468   UnknownExtensionsEncode(strm);
1469 }
1470 
1471 
Clone() const1472 PObject * H460P_PresenceAlert::Clone() const
1473 {
1474 #ifndef PASN_LEANANDMEAN
1475   PAssert(IsClass(H460P_PresenceAlert::Class()), PInvalidCast);
1476 #endif
1477   return new H460P_PresenceAlert(*this);
1478 }
1479 
1480 
1481 //
1482 // PresenceSubscription
1483 //
1484 
H460P_PresenceSubscription(unsigned tag,PASN_Object::TagClass tagClass)1485 H460P_PresenceSubscription::H460P_PresenceSubscription(unsigned tag, PASN_Object::TagClass tagClass)
1486   : PASN_Sequence(tag, tagClass, 5, TRUE, 0)
1487 {
1488 }
1489 
1490 
1491 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const1492 void H460P_PresenceSubscription::PrintOn(ostream & strm) const
1493 {
1494   std::streamsize indent = strm.precision() + 2;
1495   strm << "{\n";
1496   strm << setw(indent+12) << "subscribe = " << setprecision(indent) << m_subscribe << '\n';
1497   strm << setw(indent+10) << "aliases = " << setprecision(indent) << m_aliases << '\n';
1498   if (HasOptionalField(e_approved))
1499     strm << setw(indent+11) << "approved = " << setprecision(indent) << m_approved << '\n';
1500   if (HasOptionalField(e_rasAddress))
1501     strm << setw(indent+13) << "rasAddress = " << setprecision(indent) << m_rasAddress << '\n';
1502   if (HasOptionalField(e_timeToLive))
1503     strm << setw(indent+13) << "timeToLive = " << setprecision(indent) << m_timeToLive << '\n';
1504   if (HasOptionalField(e_identifier))
1505     strm << setw(indent+13) << "identifier = " << setprecision(indent) << m_identifier << '\n';
1506   if (HasOptionalField(e_genericData))
1507     strm << setw(indent+14) << "genericData = " << setprecision(indent) << m_genericData << '\n';
1508   strm << setw(indent-1) << setprecision(indent-2) << "}";
1509 }
1510 #endif
1511 
1512 
Compare(const PObject & obj) const1513 PObject::Comparison H460P_PresenceSubscription::Compare(const PObject & obj) const
1514 {
1515 #ifndef PASN_LEANANDMEAN
1516   PAssert(PIsDescendant(&obj, H460P_PresenceSubscription), PInvalidCast);
1517 #endif
1518   const H460P_PresenceSubscription & other = (const H460P_PresenceSubscription &)obj;
1519 
1520   Comparison result;
1521 
1522   if ((result = m_subscribe.Compare(other.m_subscribe)) != EqualTo)
1523     return result;
1524   if ((result = m_aliases.Compare(other.m_aliases)) != EqualTo)
1525     return result;
1526   if ((result = m_approved.Compare(other.m_approved)) != EqualTo)
1527     return result;
1528   if ((result = m_rasAddress.Compare(other.m_rasAddress)) != EqualTo)
1529     return result;
1530   if ((result = m_timeToLive.Compare(other.m_timeToLive)) != EqualTo)
1531     return result;
1532   if ((result = m_identifier.Compare(other.m_identifier)) != EqualTo)
1533     return result;
1534   if ((result = m_genericData.Compare(other.m_genericData)) != EqualTo)
1535     return result;
1536 
1537   return PASN_Sequence::Compare(other);
1538 }
1539 
1540 
GetDataLength() const1541 PINDEX H460P_PresenceSubscription::GetDataLength() const
1542 {
1543   PINDEX length = 0;
1544   length += m_subscribe.GetObjectLength();
1545   length += m_aliases.GetObjectLength();
1546   if (HasOptionalField(e_approved))
1547     length += m_approved.GetObjectLength();
1548   if (HasOptionalField(e_rasAddress))
1549     length += m_rasAddress.GetObjectLength();
1550   if (HasOptionalField(e_timeToLive))
1551     length += m_timeToLive.GetObjectLength();
1552   if (HasOptionalField(e_identifier))
1553     length += m_identifier.GetObjectLength();
1554   if (HasOptionalField(e_genericData))
1555     length += m_genericData.GetObjectLength();
1556   return length;
1557 }
1558 
1559 
Decode(PASN_Stream & strm)1560 PBoolean H460P_PresenceSubscription::Decode(PASN_Stream & strm)
1561 {
1562   if (!PreambleDecode(strm))
1563     return FALSE;
1564 
1565   if (!m_subscribe.Decode(strm))
1566     return FALSE;
1567   if (!m_aliases.Decode(strm))
1568     return FALSE;
1569   if (HasOptionalField(e_approved) && !m_approved.Decode(strm))
1570     return FALSE;
1571   if (HasOptionalField(e_rasAddress) && !m_rasAddress.Decode(strm))
1572     return FALSE;
1573   if (HasOptionalField(e_timeToLive) && !m_timeToLive.Decode(strm))
1574     return FALSE;
1575   if (HasOptionalField(e_identifier) && !m_identifier.Decode(strm))
1576     return FALSE;
1577   if (HasOptionalField(e_genericData) && !m_genericData.Decode(strm))
1578     return FALSE;
1579 
1580   return UnknownExtensionsDecode(strm);
1581 }
1582 
1583 
Encode(PASN_Stream & strm) const1584 void H460P_PresenceSubscription::Encode(PASN_Stream & strm) const
1585 {
1586   PreambleEncode(strm);
1587 
1588   m_subscribe.Encode(strm);
1589   m_aliases.Encode(strm);
1590   if (HasOptionalField(e_approved))
1591     m_approved.Encode(strm);
1592   if (HasOptionalField(e_rasAddress))
1593     m_rasAddress.Encode(strm);
1594   if (HasOptionalField(e_timeToLive))
1595     m_timeToLive.Encode(strm);
1596   if (HasOptionalField(e_identifier))
1597     m_identifier.Encode(strm);
1598   if (HasOptionalField(e_genericData))
1599     m_genericData.Encode(strm);
1600 
1601   UnknownExtensionsEncode(strm);
1602 }
1603 
1604 
Clone() const1605 PObject * H460P_PresenceSubscription::Clone() const
1606 {
1607 #ifndef PASN_LEANANDMEAN
1608   PAssert(IsClass(H460P_PresenceSubscription::Class()), PInvalidCast);
1609 #endif
1610   return new H460P_PresenceSubscription(*this);
1611 }
1612 
1613 
1614 //
1615 // Presentity
1616 //
1617 
H460P_Presentity(unsigned tag,PASN_Object::TagClass tagClass)1618 H460P_Presentity::H460P_Presentity(unsigned tag, PASN_Object::TagClass tagClass)
1619   : PASN_Sequence(tag, tagClass, 3, TRUE, 0)
1620 {
1621   m_display.SetConstraints(PASN_Object::FixedConstraint, 1, 256);
1622 }
1623 
1624 
1625 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const1626 void H460P_Presentity::PrintOn(ostream & strm) const
1627 {
1628   std::streamsize indent = strm.precision() + 2;
1629   strm << "{\n";
1630   strm << setw(indent+8) << "state = " << setprecision(indent) << m_state << '\n';
1631   if (HasOptionalField(e_display))
1632     strm << setw(indent+10) << "display = " << setprecision(indent) << m_display << '\n';
1633   if (HasOptionalField(e_geolocation))
1634     strm << setw(indent+14) << "geolocation = " << setprecision(indent) << m_geolocation << '\n';
1635   if (HasOptionalField(e_genericData))
1636     strm << setw(indent+14) << "genericData = " << setprecision(indent) << m_genericData << '\n';
1637   strm << setw(indent-1) << setprecision(indent-2) << "}";
1638 }
1639 #endif
1640 
1641 
Compare(const PObject & obj) const1642 PObject::Comparison H460P_Presentity::Compare(const PObject & obj) const
1643 {
1644 #ifndef PASN_LEANANDMEAN
1645   PAssert(PIsDescendant(&obj, H460P_Presentity), PInvalidCast);
1646 #endif
1647   const H460P_Presentity & other = (const H460P_Presentity &)obj;
1648 
1649   Comparison result;
1650 
1651   if ((result = m_state.Compare(other.m_state)) != EqualTo)
1652     return result;
1653   if ((result = m_display.Compare(other.m_display)) != EqualTo)
1654     return result;
1655   if ((result = m_geolocation.Compare(other.m_geolocation)) != EqualTo)
1656     return result;
1657   if ((result = m_genericData.Compare(other.m_genericData)) != EqualTo)
1658     return result;
1659 
1660   return PASN_Sequence::Compare(other);
1661 }
1662 
1663 
GetDataLength() const1664 PINDEX H460P_Presentity::GetDataLength() const
1665 {
1666   PINDEX length = 0;
1667   length += m_state.GetObjectLength();
1668   if (HasOptionalField(e_display))
1669     length += m_display.GetObjectLength();
1670   if (HasOptionalField(e_geolocation))
1671     length += m_geolocation.GetObjectLength();
1672   if (HasOptionalField(e_genericData))
1673     length += m_genericData.GetObjectLength();
1674   return length;
1675 }
1676 
1677 
Decode(PASN_Stream & strm)1678 PBoolean H460P_Presentity::Decode(PASN_Stream & strm)
1679 {
1680   if (!PreambleDecode(strm))
1681     return FALSE;
1682 
1683   if (!m_state.Decode(strm))
1684     return FALSE;
1685   if (HasOptionalField(e_display) && !m_display.Decode(strm))
1686     return FALSE;
1687   if (HasOptionalField(e_geolocation) && !m_geolocation.Decode(strm))
1688     return FALSE;
1689   if (HasOptionalField(e_genericData) && !m_genericData.Decode(strm))
1690     return FALSE;
1691 
1692   return UnknownExtensionsDecode(strm);
1693 }
1694 
1695 
Encode(PASN_Stream & strm) const1696 void H460P_Presentity::Encode(PASN_Stream & strm) const
1697 {
1698   PreambleEncode(strm);
1699 
1700   m_state.Encode(strm);
1701   if (HasOptionalField(e_display))
1702     m_display.Encode(strm);
1703   if (HasOptionalField(e_geolocation))
1704     m_geolocation.Encode(strm);
1705   if (HasOptionalField(e_genericData))
1706     m_genericData.Encode(strm);
1707 
1708   UnknownExtensionsEncode(strm);
1709 }
1710 
1711 
Clone() const1712 PObject * H460P_Presentity::Clone() const
1713 {
1714 #ifndef PASN_LEANANDMEAN
1715   PAssert(IsClass(H460P_Presentity::Class()), PInvalidCast);
1716 #endif
1717   return new H460P_Presentity(*this);
1718 }
1719 
1720 
1721 //
1722 // PresenceNotification
1723 //
1724 
H460P_PresenceNotification(unsigned tag,PASN_Object::TagClass tagClass)1725 H460P_PresenceNotification::H460P_PresenceNotification(unsigned tag, PASN_Object::TagClass tagClass)
1726   : PASN_Sequence(tag, tagClass, 2, TRUE, 0)
1727 {
1728 }
1729 
1730 
1731 #ifndef PASN_NOPRINTON
PrintOn(ostream & strm) const1732 void H460P_PresenceNotification::PrintOn(ostream & strm) const
1733 {
1734   std::streamsize indent = strm.precision() + 2;
1735   strm << "{\n";
1736   strm << setw(indent+13) << "presentity = " << setprecision(indent) << m_presentity << '\n';
1737   if (HasOptionalField(e_aliasAddress))
1738     strm << setw(indent+15) << "aliasAddress = " << setprecision(indent) << m_aliasAddress << '\n';
1739   if (HasOptionalField(e_subscribers))
1740     strm << setw(indent+14) << "subscribers = " << setprecision(indent) << m_subscribers << '\n';
1741   strm << setw(indent-1) << setprecision(indent-2) << "}";
1742 }
1743 #endif
1744 
1745 
Compare(const PObject & obj) const1746 PObject::Comparison H460P_PresenceNotification::Compare(const PObject & obj) const
1747 {
1748 #ifndef PASN_LEANANDMEAN
1749   PAssert(PIsDescendant(&obj, H460P_PresenceNotification), PInvalidCast);
1750 #endif
1751   const H460P_PresenceNotification & other = (const H460P_PresenceNotification &)obj;
1752 
1753   Comparison result;
1754 
1755   if ((result = m_presentity.Compare(other.m_presentity)) != EqualTo)
1756     return result;
1757   if ((result = m_aliasAddress.Compare(other.m_aliasAddress)) != EqualTo)
1758     return result;
1759   if ((result = m_subscribers.Compare(other.m_subscribers)) != EqualTo)
1760     return result;
1761 
1762   return PASN_Sequence::Compare(other);
1763 }
1764 
1765 
GetDataLength() const1766 PINDEX H460P_PresenceNotification::GetDataLength() const
1767 {
1768   PINDEX length = 0;
1769   length += m_presentity.GetObjectLength();
1770   if (HasOptionalField(e_aliasAddress))
1771     length += m_aliasAddress.GetObjectLength();
1772   if (HasOptionalField(e_subscribers))
1773     length += m_subscribers.GetObjectLength();
1774   return length;
1775 }
1776 
1777 
Decode(PASN_Stream & strm)1778 PBoolean H460P_PresenceNotification::Decode(PASN_Stream & strm)
1779 {
1780   if (!PreambleDecode(strm))
1781     return FALSE;
1782 
1783   if (!m_presentity.Decode(strm))
1784     return FALSE;
1785   if (HasOptionalField(e_aliasAddress) && !m_aliasAddress.Decode(strm))
1786     return FALSE;
1787   if (HasOptionalField(e_subscribers) && !m_subscribers.Decode(strm))
1788     return FALSE;
1789 
1790   return UnknownExtensionsDecode(strm);
1791 }
1792 
1793 
Encode(PASN_Stream & strm) const1794 void H460P_PresenceNotification::Encode(PASN_Stream & strm) const
1795 {
1796   PreambleEncode(strm);
1797 
1798   m_presentity.Encode(strm);
1799   if (HasOptionalField(e_aliasAddress))
1800     m_aliasAddress.Encode(strm);
1801   if (HasOptionalField(e_subscribers))
1802     m_subscribers.Encode(strm);
1803 
1804   UnknownExtensionsEncode(strm);
1805 }
1806 
1807 
Clone() const1808 PObject * H460P_PresenceNotification::Clone() const
1809 {
1810 #ifndef PASN_LEANANDMEAN
1811   PAssert(IsClass(H460P_PresenceNotification::Class()), PInvalidCast);
1812 #endif
1813   return new H460P_PresenceNotification(*this);
1814 }
1815 
1816 
1817 #endif // OPAL_H460
1818 
1819 
1820 // End of H460pres.cxx
1821