1 /*
2 * Copyright 1999-2006 University of Chicago
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17
18 /*
19 * This file is automatically generated by the Globus WSDLtoC converter
20 */
21
22 #include "xsd_QName.h"
23 #include "globus_soap_message.h"
24 #include "globus_xsd_type_info.h"
25 #include "PausableSubscriptionManagerRPType.h"
26 #include "globus_xsd_generic_array.h"
27
28 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
29 xsd_QName PausableSubscriptionManagerRPType_qname =
30 {
31 PAUSABLESUBSCRIPTIONMANAGERRPTYPE_NS,
32 PAUSABLESUBSCRIPTIONMANAGERRPTYPE_LOCAL
33 };
34 #endif /* GLOBUS_DONT_DOCUMENT_INTERNAL */
35
36 static
37 globus_result_t
38 PausableSubscriptionManagerRPType_serialize_wrapper(
39 const xsd_QName * element_qname,
40 const void * instance,
41 globus_soap_message_handle_t message_handle,
42 globus_xsd_element_options_t options)
43 0 {
44 0 return PausableSubscriptionManagerRPType_serialize(
45 element_qname,
46 (const PausableSubscriptionManagerRPType *) instance,
47 message_handle, options);
48 }
49
50 static
51 globus_result_t
52 PausableSubscriptionManagerRPType_deserialize_pointer_wrapper(
53 const xsd_QName * element_qname,
54 void ** ip,
55 globus_soap_message_handle_t message_handle,
56 globus_xsd_element_options_t options)
57 0 {
58 0 return PausableSubscriptionManagerRPType_deserialize_pointer(
59 element_qname,
60 (PausableSubscriptionManagerRPType **) ip,
61 message_handle, options);
62 }
63
64 static
65 globus_result_t
66 PausableSubscriptionManagerRPType_init_wrapper(void **object)
67 0 {
68 0 return PausableSubscriptionManagerRPType_init(
69 (PausableSubscriptionManagerRPType **) object);
70 }
71
72 static
73 void
74 PausableSubscriptionManagerRPType_destroy_wrapper(
75 void * object)
76 0 {
77 0 PausableSubscriptionManagerRPType_destroy(
78 (PausableSubscriptionManagerRPType *) object);
79 0 }
80
81 static
82 globus_result_t
83 PausableSubscriptionManagerRPType_copy_wrapper(
84 void ** dest_obj,
85 const void * src_obj)
86 0 {
87 0 return PausableSubscriptionManagerRPType_copy(
88 (PausableSubscriptionManagerRPType **) dest_obj,
89 (PausableSubscriptionManagerRPType *) src_obj);
90 }
91
92 static
93 globus_result_t
94 PausableSubscriptionManagerRPType_init_contents_wrapper(void *object)
95 0 {
96 0 return PausableSubscriptionManagerRPType_init_contents(
97 (PausableSubscriptionManagerRPType *) object);
98 }
99
100 static
101 void
102 PausableSubscriptionManagerRPType_destroy_contents_wrapper(
103 void * object)
104 0 {
105 0 PausableSubscriptionManagerRPType_destroy_contents(
106 (PausableSubscriptionManagerRPType *) object);
107 0 }
108
109 static
110 globus_result_t
111 PausableSubscriptionManagerRPType_copy_contents_wrapper(
112 void * dest_obj,
113 const void * src_obj)
114 0 {
115 0 return PausableSubscriptionManagerRPType_copy_contents(
116 (PausableSubscriptionManagerRPType *) dest_obj,
117 (const PausableSubscriptionManagerRPType *) src_obj);
118 }
119
120 static
121 globus_result_t
122 PausableSubscriptionManagerRPType_serialize_contents_wrapper(
123 const xsd_QName * element_qname,
124 const void * instance,
125 globus_soap_message_handle_t message_handle,
126 globus_xsd_element_options_t options)
127 0 {
128 0 return PausableSubscriptionManagerRPType_serialize_contents(
129 element_qname,
130 (PausableSubscriptionManagerRPType *) instance,
131 message_handle, options);
132 }
133
134 static
135 globus_result_t
136 PausableSubscriptionManagerRPType_deserialize_contents_wrapper(
137 const xsd_QName * element_qname,
138 void ** instance,
139 globus_soap_message_handle_t message_handle,
140 globus_xsd_element_options_t options)
141 0 {
142 globus_result_t result;
143 GlobusFuncName(PausableSubscriptionManagerRPType_deserialize_contents_wrapper);
144 0 GlobusSoapMessageDebugEnter();
145
146 0 if(!*instance)
147 {
148 0 result = PausableSubscriptionManagerRPType_init(
149 (PausableSubscriptionManagerRPType **)instance);
150 0 if(result != GLOBUS_SUCCESS)
151 {
152 0 goto error;
153 }
154 }
155
156 0 result = PausableSubscriptionManagerRPType_deserialize_contents(
157 element_qname,
158 *(PausableSubscriptionManagerRPType **)instance,
159 message_handle, options);
160 0 error:
161 0 GlobusSoapMessageDebugExit();
162 0 return result;
163 }
164
165 static
166 globus_result_t
167 PausableSubscriptionManagerRPType_array_serialize_wrapper(
168 const xsd_QName * element,
169 const void * instance,
170 globus_soap_message_handle_t message,
171 globus_xsd_element_options_t options)
172 0 {
173 0 return PausableSubscriptionManagerRPType_array_serialize(
174 element,
175 (PausableSubscriptionManagerRPType_array *) instance,
176 message, options);
177 }
178
179 static
180 globus_result_t
181 PausableSubscriptionManagerRPType_array_deserialize_wrapper(
182 const xsd_QName * element_qname,
183 void ** inst,
184 globus_soap_message_handle_t message,
185 globus_xsd_element_options_t options)
186 0 {
187 0 if(!*inst)
188 {
189 globus_result_t result;
190
191 0 result = PausableSubscriptionManagerRPType_array_init(
192 (PausableSubscriptionManagerRPType_array **)inst);
193 0 if(result != GLOBUS_SUCCESS)
194 {
195 0 return result;
196 }
197 }
198
199 0 return PausableSubscriptionManagerRPType_array_deserialize(
200 element_qname,
201 *(PausableSubscriptionManagerRPType_array **) inst,
202 message, options);
203 }
204
205 static
206 globus_result_t
207 PausableSubscriptionManagerRPType_array_init_wrapper(
208 void ** arr)
209 0 {
210 0 return PausableSubscriptionManagerRPType_array_init(
211 (PausableSubscriptionManagerRPType_array **) arr);
212 }
213
214 static
215 void
216 PausableSubscriptionManagerRPType_array_destroy_wrapper(
217 void * arr)
218 0 {
219 0 PausableSubscriptionManagerRPType_array_destroy(
220 (PausableSubscriptionManagerRPType_array *) arr);
221 0 }
222
223 static
224 globus_result_t
225 PausableSubscriptionManagerRPType_array_copy_wrapper(
226 void ** dest_arr,
227 const void * src_arr)
228 0 {
229 0 return PausableSubscriptionManagerRPType_array_copy(
230 (PausableSubscriptionManagerRPType_array **) dest_arr,
231 (const PausableSubscriptionManagerRPType_array *) src_arr);
232 }
233
234 static
235 globus_result_t
236 PausableSubscriptionManagerRPType_array_init_contents_wrapper(
237 void * arr)
238 0 {
239 0 return PausableSubscriptionManagerRPType_array_init_contents(
240 (PausableSubscriptionManagerRPType_array *) arr);
241 }
242
243 static
244 void
245 PausableSubscriptionManagerRPType_array_destroy_contents_wrapper(
246 void * arr)
247 0 {
248 0 PausableSubscriptionManagerRPType_array_destroy_contents(
249 (PausableSubscriptionManagerRPType_array *) arr);
250 0 }
251
252 static
253 globus_result_t
254 PausableSubscriptionManagerRPType_array_copy_contents_wrapper(
255 void * dest_arr,
256 const void * src_arr)
257 0 {
258 0 return PausableSubscriptionManagerRPType_array_copy_contents(
259 (PausableSubscriptionManagerRPType_array *) dest_arr,
260 (const PausableSubscriptionManagerRPType_array *) src_arr);
261 }
262
263 static
264 void *
265 PausableSubscriptionManagerRPType_array_push_wrapper(
266 void * array)
267 0 {
268 0 return (void *) PausableSubscriptionManagerRPType_array_push((PausableSubscriptionManagerRPType_array *) array);
269 }
270
271 struct globus_xsd_type_info_s PausableSubscriptionManagerRPType_contents_info =
272 {
273 &PausableSubscriptionManagerRPType_qname,
274 PausableSubscriptionManagerRPType_serialize_contents_wrapper,
275 PausableSubscriptionManagerRPType_deserialize_contents_wrapper,
276 PausableSubscriptionManagerRPType_init_wrapper,
277 PausableSubscriptionManagerRPType_destroy_wrapper,
278 PausableSubscriptionManagerRPType_copy_wrapper,
279 PausableSubscriptionManagerRPType_init_contents_wrapper,
280 PausableSubscriptionManagerRPType_destroy_contents_wrapper,
281 PausableSubscriptionManagerRPType_copy_contents_wrapper,
282 sizeof(PausableSubscriptionManagerRPType),
283 NULL,
284 NULL,
285 NULL
286 };
287
288 struct globus_xsd_type_info_s PausableSubscriptionManagerRPType_array_info =
289 {
290 &PausableSubscriptionManagerRPType_qname,
291 PausableSubscriptionManagerRPType_array_serialize_wrapper,
292 PausableSubscriptionManagerRPType_array_deserialize_wrapper,
293 PausableSubscriptionManagerRPType_array_init_wrapper,
294 PausableSubscriptionManagerRPType_array_destroy_wrapper,
295 PausableSubscriptionManagerRPType_array_copy_wrapper,
296 PausableSubscriptionManagerRPType_array_init_contents_wrapper,
297 PausableSubscriptionManagerRPType_array_destroy_contents_wrapper,
298 PausableSubscriptionManagerRPType_array_copy_contents_wrapper,
299 sizeof(PausableSubscriptionManagerRPType),
300 PausableSubscriptionManagerRPType_array_push_wrapper,
301 NULL,
302 NULL
303 };
304
305 struct globus_xsd_type_info_s PausableSubscriptionManagerRPType_info =
306 {
307 &PausableSubscriptionManagerRPType_qname,
308 PausableSubscriptionManagerRPType_serialize_wrapper,
309 PausableSubscriptionManagerRPType_deserialize_pointer_wrapper,
310 PausableSubscriptionManagerRPType_init_wrapper,
311 PausableSubscriptionManagerRPType_destroy_wrapper,
312 PausableSubscriptionManagerRPType_copy_wrapper,
313 PausableSubscriptionManagerRPType_init_contents_wrapper,
314 PausableSubscriptionManagerRPType_destroy_contents_wrapper,
315 PausableSubscriptionManagerRPType_copy_contents_wrapper,
316 sizeof(PausableSubscriptionManagerRPType),
317 NULL,
318 &PausableSubscriptionManagerRPType_contents_info,
319 &PausableSubscriptionManagerRPType_array_info
320 };
321
322 globus_result_t
323 PausableSubscriptionManagerRPType_init_contents(
324 PausableSubscriptionManagerRPType * instance)
325 0 {
326 0 globus_result_t result = GLOBUS_SUCCESS;
327 GlobusFuncName(PausableSubscriptionManagerRPType_init_contents);
328 0 GlobusSoapMessageDebugEnter();
329
330 0 memset(instance, 0, sizeof(PausableSubscriptionManagerRPType));
331
332 0 GlobusSoapMessageDebugExit();
333 0 return result;
334 }
335
336 globus_result_t
337 PausableSubscriptionManagerRPType_init(
338 PausableSubscriptionManagerRPType ** object)
339 0 {
340 PausableSubscriptionManagerRPType * instance;
341 0 globus_result_t result = GLOBUS_SUCCESS;
342 GlobusFuncName(PausableSubscriptionManagerRPType_init);
343 0 GlobusSoapMessageDebugEnter();
344
345 0 instance = globus_malloc(sizeof(PausableSubscriptionManagerRPType));
346 0 if(!instance)
347 {
348 0 result = GlobusSoapMessageErrorOutOfMemory;
349 0 goto exit;
350 }
351
352 0 memset(instance, 0, sizeof(PausableSubscriptionManagerRPType));
353
354 0 *object = instance;
355
356 0 exit:
357 0 GlobusSoapMessageDebugExit();
358 0 return result;
359 }
360
361 void
362 PausableSubscriptionManagerRPType_destroy(
363 PausableSubscriptionManagerRPType * instance)
364 0 {
365 GlobusFuncName(PausableSubscriptionManagerRPType_destroy);
366 0 GlobusSoapMessageDebugEnter();
367
368 0 if(!instance)
369 {
370 0 goto exit;
371 }
372
373 0 PausableSubscriptionManagerRPType_destroy_contents(instance);
374 0 globus_free(instance);
375
376 0 exit:
377
378 0 GlobusSoapMessageDebugExit();
379 0 }
380
381
382 void
383 PausableSubscriptionManagerRPType_destroy_contents(
384 PausableSubscriptionManagerRPType * instance)
385 0 {
386 GlobusFuncName(PausableSubscriptionManagerRPType_destroy_contents);
387 0 GlobusSoapMessageDebugEnter();
388
389 0 if(instance)
390 {
391
392
393 0 wsa_EndpointReferenceType_destroy_contents(
394 &instance->ConsumerReference);
395
396 0 wsnt_FilterType_destroy(instance->Filter);
397 0 instance->Filter = NULL;
398
399 0 wsnt_SubscriptionPolicyType_destroy(instance->SubscriptionPolicy);
400 0 instance->SubscriptionPolicy = NULL;
401
402 0 xsd_dateTime_destroy(instance->CreationTime);
403 0 instance->CreationTime = NULL;
404
405 }
406
407 0 GlobusSoapMessageDebugExit();
408 0 }
409
410
411 globus_result_t
412 PausableSubscriptionManagerRPType_copy(
413 PausableSubscriptionManagerRPType ** dest_obj,
414 const PausableSubscriptionManagerRPType * src_obj)
415 0 {
416 0 globus_result_t result = GLOBUS_SUCCESS;
417 PausableSubscriptionManagerRPType * instance;
418 GlobusFuncName(PausableSubscriptionManagerRPType_copy);
419
420 0 GlobusSoapMessageDebugEnter();
421
422 0 instance = calloc(1, sizeof(PausableSubscriptionManagerRPType));
423 0 if (instance == NULL)
424 {
425 0 GlobusSoapMessageDebugExit();
426 0 return GlobusSoapMessageErrorOutOfMemory;
427 }
428
429 0 result = PausableSubscriptionManagerRPType_copy_contents(instance, src_obj);
430 0 if(result != GLOBUS_SUCCESS)
431 {
432 0 globus_free(instance);
433 0 GlobusSoapMessageDebugExit();
434 0 return GlobusSoapMessageErrorOutOfMemory;
435 }
436
437 0 *dest_obj = instance;
438 0 GlobusSoapMessageDebugExit();
439 0 return result;
440 }
441
442 globus_result_t
443 PausableSubscriptionManagerRPType_copy_contents(
444 PausableSubscriptionManagerRPType * instance,
445 const PausableSubscriptionManagerRPType * src_obj)
446 0 {
447 0 globus_result_t result = GLOBUS_SUCCESS;
448 GlobusFuncName(PausableSubscriptionManagerRPType_copy_contents);
449
450 0 GlobusSoapMessageDebugEnter();
451
452 0 result = wsa_EndpointReferenceType_copy_contents(
453 &instance->ConsumerReference,
454 &src_obj->ConsumerReference);
455 0 if(result != GLOBUS_SUCCESS)
456 {
457 0 result = GlobusSoapMessageErrorCopyFailed(
458 result, NULL, &wsa_EndpointReferenceType_qname);
459 0 goto ConsumerReference_destroy;
460 }
461
462 0 if(src_obj->Filter)
463 {
464 0 result = wsnt_FilterType_copy(
465 &instance->Filter,
466 src_obj->Filter);
467 0 if(result != GLOBUS_SUCCESS)
468 {
469 0 result = GlobusSoapMessageErrorCopyFailed(
470 result, NULL, &wsnt_FilterType_qname);
471 0 goto Filter_destroy_pointer;
472 }
473 }
474 else
475 {
476 0 instance->Filter = NULL;
477 }
478
479 0 if(src_obj->SubscriptionPolicy)
480 {
481 0 result = wsnt_SubscriptionPolicyType_copy(
482 &instance->SubscriptionPolicy,
483 src_obj->SubscriptionPolicy);
484 0 if(result != GLOBUS_SUCCESS)
485 {
486 0 result = GlobusSoapMessageErrorCopyFailed(
487 result, NULL, &wsnt_SubscriptionPolicyType_qname);
488 0 goto SubscriptionPolicy_destroy_pointer;
489 }
490 }
491 else
492 {
493 0 instance->SubscriptionPolicy = NULL;
494 }
495
496 0 if(src_obj->CreationTime)
497 {
498 0 result = xsd_dateTime_copy(
499 &instance->CreationTime,
500 src_obj->CreationTime);
501 0 if(result != GLOBUS_SUCCESS)
502 {
503 0 result = GlobusSoapMessageErrorCopyFailed(
504 result, NULL, &xsd_dateTime_qname);
505 0 goto CreationTime_destroy_pointer;
506 }
507 }
508 else
509 {
510 0 instance->CreationTime = NULL;
511 }
512
513 0 goto exit;
514
515 fail_deserialize:
516 xsd_dateTime_destroy(
517 instance->CreationTime);
518 instance->CreationTime = NULL;
519
520 0 CreationTime_destroy_pointer:
521 0 wsnt_SubscriptionPolicyType_destroy(
522 instance->SubscriptionPolicy);
523 0 instance->SubscriptionPolicy = NULL;
524
525 0 SubscriptionPolicy_destroy_pointer:
526 0 wsnt_FilterType_destroy(
527 instance->Filter);
528 0 instance->Filter = NULL;
529
530 0 Filter_destroy_pointer:
531 0 wsa_EndpointReferenceType_destroy_contents(
532 &instance->ConsumerReference);
533
534 0 ConsumerReference_destroy:
535
536
537 0 exit:
538
539 0 GlobusSoapMessageDebugExit();
540 0 return result;
541 }
542
543
544
545 globus_result_t
546 PausableSubscriptionManagerRPType_serialize_contents(
547 const xsd_QName * element_qname, /* ignored */
548 const PausableSubscriptionManagerRPType * inst,
549 globus_soap_message_handle_t message_handle,
550 globus_xsd_element_options_t options)
551 0 {
552 0 globus_result_t result = GLOBUS_SUCCESS;
553 GlobusFuncName(PausableSubscriptionManagerRPType_serialize_contents);
554 0 GlobusSoapMessageDebugEnter();
555
556 0 result = PausableSubscriptionManagerRPType_serialize(
557 NULL,
558 inst,
559 message_handle,
560 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
561 0 if(result != GLOBUS_SUCCESS)
562 {
563 0 result = GlobusSoapMessageErrorSerializeFailed(
564 result, NULL, element_qname);
565 0 goto exit;
566 }
567
568 0 exit:
569
570 0 GlobusSoapMessageDebugExit();
571 0 return result;
572 }
573
574
575
576 globus_result_t
577 PausableSubscriptionManagerRPType_serialize(
578 const xsd_QName * element_qname,
579 const PausableSubscriptionManagerRPType * instance,
580 globus_soap_message_handle_t message_handle,
581 globus_xsd_element_options_t options)
582 0 {
583 0 globus_result_t result = GLOBUS_SUCCESS;
584 xsd_QName subelement;
585 0 globus_list_t * any_attr_keys = NULL;
586 0 globus_list_t * any_attr_keys_iterator = NULL;
587 0 xsd_QName * type_attr = NULL;
588
589 0 char * prefix = NULL;
590 int prefix_created;
591 0 int define_prefix = 0;
592 0 int save_options = options;
593
594 GlobusFuncName(PausableSubscriptionManagerRPType_serialize);
595 0 GlobusSoapMessageDebugEnter();
596
597
598 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
599 {
600 /* serialize PausableSubscriptionManagerRPType element */
601 0 result = globus_soap_message_element_ns_set(
602 message_handle,
603 element_qname,
604 element_qname->Namespace,
605 &options);
606 0 if(result != GLOBUS_SUCCESS)
607 {
608 0 result = GlobusSoapMessageErrorSerializeFailed(
609 result, NULL, element_qname);
610 0 goto exit;
611 }
612
613 0 if(((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
614 !globus_soap_message_serialize_is_c14n_subset(message_handle)))
615 {
616 0 result = globus_soap_message_attribute_ns_set(
617 message_handle,
618 element_qname,
619 "http://www.w3.org/2001/XMLSchema-instance",
620 &options);
621 0 if(result != GLOBUS_SUCCESS)
622 {
623 0 result = GlobusSoapMessageErrorSerializeFailed(
624 result, NULL, element_qname);
625 0 goto exit;
626 }
627 }
628
629 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
630 !globus_soap_message_serialize_is_c14n_subset(message_handle))
631 {
632
633 0 result = globus_soap_message_attribute_ns_set(
634 message_handle,
635 element_qname,
636 PausableSubscriptionManagerRPType_qname.Namespace,
637 &options);
638 0 if(result != GLOBUS_SUCCESS)
639 {
640 0 result = GlobusSoapMessageErrorSerializeFailed(
641 result, NULL, element_qname);
642 0 goto exit;
643 }
644 }
645
646 0 result = globus_soap_message_serialize_element(
647 message_handle,
648 element_qname,
649 options,
650 &PausableSubscriptionManagerRPType_qname);
651 0 if(result != GLOBUS_SUCCESS)
652 {
653 0 result = GlobusSoapMessageErrorSerializeFailed(
654 result, NULL, element_qname);
655 0 goto exit;
656 }
657
658 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
659 !globus_soap_message_serialize_is_c14n_subset(message_handle))
660 {
661 0 xsd_QName_init(&type_attr);
662
663 0 type_attr->local = globus_libc_strdup("type");
664 0 type_attr->Namespace = globus_libc_strdup(XSI_NS);
665 }
666
667
668 /* serialize namespaces */
669 0 result = globus_soap_message_element_ns_add(
670 message_handle,
671 element_qname,
672 element_qname->Namespace,
673 &options);
674 0 if(result != GLOBUS_SUCCESS)
675 {
676 0 result = GlobusSoapMessageErrorSerializeFailed(
677 result, NULL, element_qname);
678 0 goto exit;
679 }
680
681 0 if(((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
682 !globus_soap_message_serialize_is_c14n_subset(message_handle)))
683 {
684 0 result = globus_soap_message_attribute_ns_add(
685 message_handle,
686 element_qname,
687 "http://www.w3.org/2001/XMLSchema-instance",
688 &options);
689 0 if(result != GLOBUS_SUCCESS)
690 {
691 0 result = GlobusSoapMessageErrorSerializeFailed(
692 result, NULL, element_qname);
693 0 goto exit;
694 }
695 }
696 0 if ((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
697 !globus_soap_message_serialize_is_c14n_subset(message_handle))
698 {
699
700 0 result = globus_soap_message_attribute_ns_add(
701 message_handle,
702 element_qname,
703 PausableSubscriptionManagerRPType_qname.Namespace,
704 &options);
705 0 if(result != GLOBUS_SUCCESS)
706 {
707 0 result = GlobusSoapMessageErrorSerializeFailed(
708 result, NULL, element_qname);
709 0 goto exit;
710 }
711 }
712
713 /* serialize attributes */
714
715 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
716 !globus_soap_message_serialize_is_c14n_subset(message_handle))
717 {
718 0 result = globus_soap_message_serialize_QName_attribute(
719 message_handle,
720 type_attr,
721 &PausableSubscriptionManagerRPType_qname);
722 0 if(result != GLOBUS_SUCCESS)
723 {
724 0 result = GlobusSoapMessageErrorSerializeFailed(
725 result, NULL, element_qname);
726 0 goto exit;
727 }
728 }
729
730
731 }
732
733 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
734 {
735 0 result = globus_soap_message_serialize_element_begin_close(
736 message_handle, element_qname);
737 0 if(result != GLOBUS_SUCCESS)
738 {
739 0 result = GlobusSoapMessageErrorSerializeFailed(
740 result, NULL, element_qname);
741 0 goto exit;
742 }
743 }
744 0 options &= ~GLOBUS_XSD_ELEMENT_CONTENTS_ONLY;
745
746
747 /* serialize contents of type */
748
749 0 subelement.local = "ConsumerReference";
750 0 subelement.Namespace = "http://docs.oasis-open.org/wsn/b-2";
751
752 0 result = wsa_EndpointReferenceType_serialize(
753 &subelement,
754 &instance->ConsumerReference,
755 message_handle,
756 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
757 0 if(result != GLOBUS_SUCCESS)
758 {
759 0 result = GlobusSoapMessageErrorSerializeFailed(
760 result, NULL, &wsa_EndpointReferenceType_qname);
761 0 goto exit;
762 }
763
764 0 subelement.local = "Filter";
765 0 subelement.Namespace = "http://docs.oasis-open.org/wsn/b-2";
766
767 0 if(instance->Filter)
768 {
769 0 result = wsnt_FilterType_serialize(
770 &subelement,
771 instance->Filter,
772 message_handle,
773 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
774 0 if(result != GLOBUS_SUCCESS)
775 {
776 0 result = GlobusSoapMessageErrorSerializeFailed(
777 result, NULL, &wsnt_FilterType_qname);
778 0 goto exit;
779 }
780 }
781
782 0 subelement.local = "SubscriptionPolicy";
783 0 subelement.Namespace = "http://docs.oasis-open.org/wsn/b-2";
784
785 0 if(instance->SubscriptionPolicy)
786 {
787 0 result = wsnt_SubscriptionPolicyType_serialize(
788 &subelement,
789 instance->SubscriptionPolicy,
790 message_handle,
791 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
792 0 if(result != GLOBUS_SUCCESS)
793 {
794 0 result = GlobusSoapMessageErrorSerializeFailed(
795 result, NULL, &wsnt_SubscriptionPolicyType_qname);
796 0 goto exit;
797 }
798 }
799
800 0 subelement.local = "CreationTime";
801 0 subelement.Namespace = "http://docs.oasis-open.org/wsn/b-2";
802
803 0 if(instance->CreationTime)
804 {
805 0 result = xsd_dateTime_serialize(
806 &subelement,
807 instance->CreationTime,
808 message_handle,
809 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
810 0 if(result != GLOBUS_SUCCESS)
811 {
812 0 result = GlobusSoapMessageErrorSerializeFailed(
813 result, NULL, &xsd_dateTime_qname);
814 0 goto exit;
815 }
816 }
817
818 0 options = save_options;
819
820 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
821 {
822 /* add end element */
823 0 result = globus_soap_message_serialize_element_end(
824 message_handle,
825 element_qname,
826 options,
827 &PausableSubscriptionManagerRPType_qname);
828 0 if(result != GLOBUS_SUCCESS)
829 {
830 0 result = GlobusSoapMessageErrorSerializeFailed(
831 result, NULL, element_qname);
832 0 goto exit;
833 }
834
835 0 globus_soap_message_element_ns_remove(
836 message_handle,
837 element_qname->Namespace,
838 &options);
839
840 /* remove namespace/prefix mappings for these types */
841
842 0 if(((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
843 !globus_soap_message_serialize_is_c14n_subset(message_handle)))
844 {
845 0 globus_soap_message_attribute_ns_remove(
846 message_handle,
847 "http://www.w3.org/2001/XMLSchema-instance",
848 &options);
849 }
850 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
851 !globus_soap_message_serialize_is_c14n_subset(message_handle))
852 {
853 0 globus_soap_message_attribute_ns_remove(
854 message_handle,
855 PausableSubscriptionManagerRPType_qname.Namespace,
856 &options);
857 }
858
859 }
860
861 0 exit:
862 0 if (type_attr)
863 {
864 0 xsd_QName_destroy(type_attr);
865 }
866
867
868 0 if(any_attr_keys)
869 {
870 0 globus_list_free(any_attr_keys);
871 }
872
873 0 GlobusSoapMessageDebugExit();
874 0 return result;
875 }
876
877
878
879 globus_result_t
880 PausableSubscriptionManagerRPType_deserialize_contents(
881 const xsd_QName * element_qname, /* ignored */
882 PausableSubscriptionManagerRPType * inst,
883 globus_soap_message_handle_t message_handle,
884 globus_xsd_element_options_t options)
885 0 {
886 0 globus_result_t result = GLOBUS_SUCCESS;
887 GlobusFuncName(PausableSubscriptionManagerRPType_deserialize_contents);
888 0 GlobusSoapMessageDebugEnter();
889
890 0 result = PausableSubscriptionManagerRPType_deserialize(
891 NULL,
892 inst,
893 message_handle,
894 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
895 0 if(result != GLOBUS_SUCCESS)
896 {
897 0 result = GlobusSoapMessageErrorDeserializeFailed(
898 result, element_qname);
899 0 goto exit;
900 }
901
902 0 exit:
903
904 0 GlobusSoapMessageDebugExit();
905 0 return result;
906 }
907
908
909
910 globus_result_t
911 PausableSubscriptionManagerRPType_deserialize(
912 const xsd_QName * element_qname,
913 PausableSubscriptionManagerRPType * instance,
914 globus_soap_message_handle_t message_handle,
915 globus_xsd_element_options_t options)
916 0 {
917 0 globus_result_t result = GLOBUS_SUCCESS;
918 xsd_QName subelement;
919 GlobusFuncName(PausableSubscriptionManagerRPType_deserialize);
920 0 GlobusSoapMessageDebugEnter();
921
922
923 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
924 {
925 0 result = globus_soap_message_deserialize_element(
926 message_handle, element_qname);
927 0 if(result != GLOBUS_SUCCESS)
928 {
929 0 result = GlobusSoapMessageErrorDeserializeFailed(
930 result, element_qname);
931 0 goto exit;
932 }
933
934
935 0 result = globus_soap_message_deserialize_element_begin_close(
936 message_handle);
937 0 if(result != GLOBUS_SUCCESS)
938 {
939 0 result = GlobusSoapMessageErrorDeserializeFailed(
940 result, element_qname);
941 0 goto fail_deserialize;
942 }
943 }
944
945 0 subelement.local = "ConsumerReference";
946 0 subelement.Namespace = "http://docs.oasis-open.org/wsn/b-2";
947
948 0 result = wsa_EndpointReferenceType_deserialize(
949 &subelement,
950 &instance->ConsumerReference,
951 message_handle,
952 0);
953 0 if(result != GLOBUS_SUCCESS)
954 {
955 0 result = GlobusSoapMessageErrorDeserializeFailed(
956 result,
957 &wsa_EndpointReferenceType_qname);
958 0 goto ConsumerReference_destroy;
959 }
960
961 0 subelement.local = "Filter";
962 0 subelement.Namespace = "http://docs.oasis-open.org/wsn/b-2";
963
964 0 result = wsnt_FilterType_deserialize_pointer(
965 &subelement,
966 &instance->Filter,
967 message_handle,
968 0);
969 0 if(result != GLOBUS_SUCCESS)
970 {
971 0 result = GlobusSoapMessageErrorDeserializeFailed(
972 result,
973 (&subelement));
974 0 goto Filter_destroy_pointer;
975 }
976
977 0 subelement.local = "SubscriptionPolicy";
978 0 subelement.Namespace = "http://docs.oasis-open.org/wsn/b-2";
979
980 0 result = wsnt_SubscriptionPolicyType_deserialize_pointer(
981 &subelement,
982 &instance->SubscriptionPolicy,
983 message_handle,
984 0);
985 0 if(result != GLOBUS_SUCCESS)
986 {
987 0 result = GlobusSoapMessageErrorDeserializeFailed(
988 result,
989 (&subelement));
990 0 goto SubscriptionPolicy_destroy_pointer;
991 }
992
993 0 subelement.local = "CreationTime";
994 0 subelement.Namespace = "http://docs.oasis-open.org/wsn/b-2";
995
996 0 result = xsd_dateTime_deserialize_pointer(
997 &subelement,
998 &instance->CreationTime,
999 message_handle,
1000 0);
1001 0 if(result != GLOBUS_SUCCESS)
1002 {
1003 0 result = GlobusSoapMessageErrorDeserializeFailed(
1004 result,
1005 (&subelement));
1006 0 goto CreationTime_destroy_pointer;
1007 }
1008
1009 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
1010 {
1011 0 result = globus_soap_message_deserialize_element_end(
1012 message_handle,
1013 element_qname);
1014 0 if(result != GLOBUS_SUCCESS)
1015 {
1016 0 result = GlobusSoapMessageErrorDeserializeFailed(
1017 result, element_qname);
1018 0 goto fail_deserialize;
1019 }
1020 }
1021
1022 0 goto exit;
1023
1024 0 fail_deserialize:
1025 0 xsd_dateTime_destroy(
1026 instance->CreationTime);
1027 0 instance->CreationTime = NULL;
1028
1029 0 CreationTime_destroy_pointer:
1030 0 wsnt_SubscriptionPolicyType_destroy(
1031 instance->SubscriptionPolicy);
1032 0 instance->SubscriptionPolicy = NULL;
1033
1034 0 SubscriptionPolicy_destroy_pointer:
1035 0 wsnt_FilterType_destroy(
1036 instance->Filter);
1037 0 instance->Filter = NULL;
1038
1039 0 Filter_destroy_pointer:
1040 0 wsa_EndpointReferenceType_destroy_contents(
1041 &instance->ConsumerReference);
1042
1043 0 ConsumerReference_destroy:
1044
1045
1046 0 exit:
1047
1048 0 GlobusSoapMessageDebugExit();
1049 0 return result;
1050 }
1051
1052
1053
1054 globus_result_t
1055 PausableSubscriptionManagerRPType_deserialize_pointer(
1056 const xsd_QName * element_qname,
1057 PausableSubscriptionManagerRPType ** ip,
1058 globus_soap_message_handle_t message_handle,
1059 globus_xsd_element_options_t options)
1060 0 {
1061 0 PausableSubscriptionManagerRPType * instance = NULL;
1062 0 globus_result_t result = GLOBUS_SUCCESS;
1063 xsd_QName subelement;
1064 0 int found_attrs = 0;
1065 0 int empty_element = 0;
1066 GlobusFuncName(PausableSubscriptionManagerRPType_deserialize_pointer);
1067 0 GlobusSoapMessageDebugEnter();
1068
1069 0 *ip = NULL;
1070
1071 0 result = globus_soap_message_deserialize_element(
1072 message_handle, element_qname);
1073 0 if(result != GLOBUS_SUCCESS &&
1074 (GlobusSoapMessageStatusElementNotFoundCheck(result) ||
1075 GlobusSoapMessageStatusFailedElementCheck(result) ||
1076 GlobusSoapMessageStatusFailedWithTextCheck(result)))
1077 {
1078 0 result = GLOBUS_SUCCESS;
1079 0 goto exit;
1080 }
1081
1082 0 if(result != GLOBUS_SUCCESS)
1083 {
1084 0 result = GlobusSoapMessageErrorDeserializeFailed(
1085 result, element_qname);
1086 0 goto exit;
1087 }
1088
1089 0 if(globus_soap_message_deserialize_element_is_empty(
1090 message_handle))
1091 {
1092 0 empty_element = 1;
1093 }
1094
1095 0 result = PausableSubscriptionManagerRPType_init(&instance);
1096 0 if(result != GLOBUS_SUCCESS)
1097 {
1098 0 result = GlobusSoapMessageErrorDeserializeFailed(
1099 result, element_qname);
1100 0 goto exit;
1101 }
1102
1103
1104 0 if(found_attrs == 0 &&
1105 globus_soap_message_deserialize_element_is_nil(message_handle))
1106 {
1107 0 PausableSubscriptionManagerRPType_destroy(instance);
1108
1109 0 result = globus_soap_message_deserialize_element_end(
1110 message_handle,
1111 element_qname);
1112 0 if(result != GLOBUS_SUCCESS)
1113 {
1114 0 result = GlobusSoapMessageErrorDeserializeFailed(
1115 result, element_qname);
1116 0 goto exit;
1117 }
1118
1119 0 *ip = NULL;
1120 0 globus_object_free(globus_error_get(result));
1121 0 result = GLOBUS_SUCCESS;
1122 0 goto exit;
1123 }
1124
1125 0 if(empty_element)
1126 {
1127 0 result = globus_soap_message_deserialize_element_end(
1128 message_handle,
1129 element_qname);
1130 0 if(result != GLOBUS_SUCCESS)
1131 {
1132 0 result = GlobusSoapMessageErrorDeserializeFailed(
1133 result, element_qname);
1134 0 goto fail_deserialize;
1135 }
1136
1137 0 *ip = instance;
1138 0 goto exit;
1139 }
1140
1141 0 result = globus_soap_message_deserialize_element_begin_close(
1142 message_handle);
1143 0 if(result != GLOBUS_SUCCESS)
1144 {
1145 0 result = GlobusSoapMessageErrorDeserializeFailed(
1146 result, element_qname);
1147 0 goto exit;
1148 }
1149
1150 0 result = PausableSubscriptionManagerRPType_deserialize(
1151 element_qname,
1152 instance,
1153 message_handle,
1154 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
1155 0 if(result != GLOBUS_SUCCESS)
1156 {
1157 0 result = GlobusSoapMessageErrorDeserializeFailed(
1158 result, element_qname);
1159 0 goto exit;
1160 }
1161
1162 0 result = globus_soap_message_deserialize_element_end(
1163 message_handle,
1164 element_qname);
1165 0 if(result != GLOBUS_SUCCESS)
1166 {
1167 0 result = GlobusSoapMessageErrorDeserializeFailed(
1168 result, element_qname);
1169 0 goto fail_deserialize;
1170 }
1171
1172 0 *ip = instance;
1173
1174 0 goto exit;
1175
1176 0 fail_deserialize:
1177 0 xsd_dateTime_destroy(
1178 instance->CreationTime);
1179 0 instance->CreationTime = NULL;
1180
1181 0 CreationTime_destroy_pointer:
1182 0 wsnt_SubscriptionPolicyType_destroy(
1183 instance->SubscriptionPolicy);
1184 0 instance->SubscriptionPolicy = NULL;
1185
1186 0 SubscriptionPolicy_destroy_pointer:
1187 0 wsnt_FilterType_destroy(
1188 instance->Filter);
1189 0 instance->Filter = NULL;
1190
1191 0 Filter_destroy_pointer:
1192 0 wsa_EndpointReferenceType_destroy_contents(
1193 &instance->ConsumerReference);
1194
1195 0 ConsumerReference_destroy:
1196
1197 0 exit:
1198
1199 0 GlobusSoapMessageDebugExit();
1200 0 return result;
1201 }
1202
1203
1204 globus_result_t
1205 PausableSubscriptionManagerRPType_array_init_contents(
1206 PausableSubscriptionManagerRPType_array * array)
1207 0 {
1208 0 return globus_xsd_generic_array_init_contents(
1209 (globus_xsd_generic_array_t *) array,
1210 &PausableSubscriptionManagerRPType_info);
1211 }
1212 /* PausableSubscriptionManagerRPType_array_init_contents() */
1213
1214 globus_result_t
1215 PausableSubscriptionManagerRPType_array_init(
1216 PausableSubscriptionManagerRPType_array ** arr)
1217 0 {
1218 0 return globus_xsd_generic_array_init(
1219 (globus_xsd_generic_array_t **) arr,
1220 &PausableSubscriptionManagerRPType_info);
1221 }
1222 /* PausableSubscriptionManagerRPType_array_init() */
1223
1224 void
1225 PausableSubscriptionManagerRPType_array_destroy_contents(
1226 PausableSubscriptionManagerRPType_array * array)
1227 0 {
1228 0 globus_xsd_generic_array_destroy_contents(
1229 (globus_xsd_generic_array_t *) array);
1230 0 }
1231 /* PausableSubscriptionManagerRPType_array_destroy_contents() */
1232
1233 void
1234 PausableSubscriptionManagerRPType_array_destroy(
1235 PausableSubscriptionManagerRPType_array * array)
1236 0 {
1237 0 globus_xsd_generic_array_destroy(
1238 (globus_xsd_generic_array_t *) array);
1239 0 }
1240 /* PausableSubscriptionManagerRPType_array_destroy() */
1241
1242 globus_result_t
1243 PausableSubscriptionManagerRPType_array_copy(
1244 PausableSubscriptionManagerRPType_array ** dest_arr,
1245 const PausableSubscriptionManagerRPType_array * src_arr)
1246 0 {
1247 0 return globus_xsd_generic_array_copy(
1248 (globus_xsd_generic_array_t **) dest_arr,
1249 (globus_xsd_generic_array_t *) src_arr);
1250 }
1251 /* PausableSubscriptionManagerRPType_array_copy() */
1252
1253 globus_result_t
1254 PausableSubscriptionManagerRPType_array_copy_contents(
1255 PausableSubscriptionManagerRPType_array * dest_arr,
1256 const PausableSubscriptionManagerRPType_array * src_arr)
1257 0 {
1258 0 return globus_xsd_generic_array_copy_contents(
1259 (globus_xsd_generic_array_t *) dest_arr,
1260 (globus_xsd_generic_array_t *) src_arr);
1261 }
1262 /* PausableSubscriptionManagerRPType_array_copy_contents() */
1263
1264 PausableSubscriptionManagerRPType *
1265 PausableSubscriptionManagerRPType_array_push(
1266 PausableSubscriptionManagerRPType_array * array)
1267 0 {
1268 /* Some contents initializers don't initialize subelments but to set their
1269 * values to be NULL
1270 */
1271 0 if (array->type_info == NULL)
1272 {
1273 0 array->type_info = &PausableSubscriptionManagerRPType_info;
1274 }
1275
1276 0 return globus_xsd_generic_array_push(
1277 (globus_xsd_generic_array_t *) array);
1278 }
1279 /* PausableSubscriptionManagerRPType_array_push() */
1280
1281 globus_result_t
1282 PausableSubscriptionManagerRPType_array_serialize(
1283 const xsd_QName * element_qname,
1284 const PausableSubscriptionManagerRPType_array * array,
1285 globus_soap_message_handle_t message,
1286 globus_xsd_element_options_t options)
1287 0 {
1288 0 return globus_xsd_generic_array_serialize(
1289 element_qname,
1290 (const globus_xsd_generic_array_t *) array,
1291 message,
1292 options);
1293 }
1294 /* PausableSubscriptionManagerRPType_array_serialize() */
1295
1296 globus_result_t
1297 PausableSubscriptionManagerRPType_array_deserialize(
1298 const xsd_QName * element_qname,
1299 PausableSubscriptionManagerRPType_array * array,
1300 globus_soap_message_handle_t message,
1301 globus_xsd_element_options_t options)
1302 0 {
1303 /* Some initializers set the array's contents to NULL */
1304 0 if (array->type_info == NULL)
1305 {
1306 0 array->type_info = &PausableSubscriptionManagerRPType_info;
1307 }
1308 0 return globus_xsd_generic_array_deserialize(
1309 element_qname,
1310 (globus_xsd_generic_array_t *) array,
1311 message,
1312 options);