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