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 "wsen_PullResponseType.h"
26 #include "globus_xsd_generic_array.h"
27
28 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
29 xsd_QName wsen_PullResponseType_qname =
30 {
31 WSEN_PULLRESPONSETYPE_NS,
32 WSEN_PULLRESPONSETYPE_LOCAL
33 };
34 #endif /* GLOBUS_DONT_DOCUMENT_INTERNAL */
35
36 static
37 globus_result_t
38 wsen_PullResponseType_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 wsen_PullResponseType_serialize(
45 element_qname,
46 (const wsen_PullResponseType *) instance,
47 message_handle, options);
48 }
49
50 static
51 globus_result_t
52 wsen_PullResponseType_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 wsen_PullResponseType_deserialize_pointer(
59 element_qname,
60 (wsen_PullResponseType **) ip,
61 message_handle, options);
62 }
63
64 static
65 globus_result_t
66 wsen_PullResponseType_init_wrapper(void **object)
67 0 {
68 0 return wsen_PullResponseType_init(
69 (wsen_PullResponseType **) object);
70 }
71
72 static
73 void
74 wsen_PullResponseType_destroy_wrapper(
75 void * object)
76 0 {
77 0 wsen_PullResponseType_destroy(
78 (wsen_PullResponseType *) object);
79 0 }
80
81 static
82 globus_result_t
83 wsen_PullResponseType_copy_wrapper(
84 void ** dest_obj,
85 const void * src_obj)
86 0 {
87 0 return wsen_PullResponseType_copy(
88 (wsen_PullResponseType **) dest_obj,
89 (wsen_PullResponseType *) src_obj);
90 }
91
92 static
93 globus_result_t
94 wsen_PullResponseType_init_contents_wrapper(void *object)
95 0 {
96 0 return wsen_PullResponseType_init_contents(
97 (wsen_PullResponseType *) object);
98 }
99
100 static
101 void
102 wsen_PullResponseType_destroy_contents_wrapper(
103 void * object)
104 0 {
105 0 wsen_PullResponseType_destroy_contents(
106 (wsen_PullResponseType *) object);
107 0 }
108
109 static
110 globus_result_t
111 wsen_PullResponseType_copy_contents_wrapper(
112 void * dest_obj,
113 const void * src_obj)
114 0 {
115 0 return wsen_PullResponseType_copy_contents(
116 (wsen_PullResponseType *) dest_obj,
117 (const wsen_PullResponseType *) src_obj);
118 }
119
120 static
121 globus_result_t
122 wsen_PullResponseType_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 wsen_PullResponseType_serialize_contents(
129 element_qname,
130 (wsen_PullResponseType *) instance,
131 message_handle, options);
132 }
133
134 static
135 globus_result_t
136 wsen_PullResponseType_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(wsen_PullResponseType_deserialize_contents_wrapper);
144 0 GlobusSoapMessageDebugEnter();
145
146 0 if(!*instance)
147 {
148 0 result = wsen_PullResponseType_init(
149 (wsen_PullResponseType **)instance);
150 0 if(result != GLOBUS_SUCCESS)
151 {
152 0 goto error;
153 }
154 }
155
156 0 result = wsen_PullResponseType_deserialize_contents(
157 element_qname,
158 *(wsen_PullResponseType **)instance,
159 message_handle, options);
160 0 error:
161 0 GlobusSoapMessageDebugExit();
162 0 return result;
163 }
164
165 static
166 globus_result_t
167 wsen_PullResponseType_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 wsen_PullResponseType_array_serialize(
174 element,
175 (wsen_PullResponseType_array *) instance,
176 message, options);
177 }
178
179 static
180 globus_result_t
181 wsen_PullResponseType_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 = wsen_PullResponseType_array_init(
192 (wsen_PullResponseType_array **)inst);
193 0 if(result != GLOBUS_SUCCESS)
194 {
195 0 return result;
196 }
197 }
198
199 0 return wsen_PullResponseType_array_deserialize(
200 element_qname,
201 *(wsen_PullResponseType_array **) inst,
202 message, options);
203 }
204
205 static
206 globus_result_t
207 wsen_PullResponseType_array_init_wrapper(
208 void ** arr)
209 0 {
210 0 return wsen_PullResponseType_array_init(
211 (wsen_PullResponseType_array **) arr);
212 }
213
214 static
215 void
216 wsen_PullResponseType_array_destroy_wrapper(
217 void * arr)
218 0 {
219 0 wsen_PullResponseType_array_destroy(
220 (wsen_PullResponseType_array *) arr);
221 0 }
222
223 static
224 globus_result_t
225 wsen_PullResponseType_array_copy_wrapper(
226 void ** dest_arr,
227 const void * src_arr)
228 0 {
229 0 return wsen_PullResponseType_array_copy(
230 (wsen_PullResponseType_array **) dest_arr,
231 (const wsen_PullResponseType_array *) src_arr);
232 }
233
234 static
235 globus_result_t
236 wsen_PullResponseType_array_init_contents_wrapper(
237 void * arr)
238 0 {
239 0 return wsen_PullResponseType_array_init_contents(
240 (wsen_PullResponseType_array *) arr);
241 }
242
243 static
244 void
245 wsen_PullResponseType_array_destroy_contents_wrapper(
246 void * arr)
247 0 {
248 0 wsen_PullResponseType_array_destroy_contents(
249 (wsen_PullResponseType_array *) arr);
250 0 }
251
252 static
253 globus_result_t
254 wsen_PullResponseType_array_copy_contents_wrapper(
255 void * dest_arr,
256 const void * src_arr)
257 0 {
258 0 return wsen_PullResponseType_array_copy_contents(
259 (wsen_PullResponseType_array *) dest_arr,
260 (const wsen_PullResponseType_array *) src_arr);
261 }
262
263 static
264 void *
265 wsen_PullResponseType_array_push_wrapper(
266 void * array)
267 0 {
268 0 return (void *) wsen_PullResponseType_array_push((wsen_PullResponseType_array *) array);
269 }
270
271 struct globus_xsd_type_info_s wsen_PullResponseType_contents_info =
272 {
273 &wsen_PullResponseType_qname,
274 wsen_PullResponseType_serialize_contents_wrapper,
275 wsen_PullResponseType_deserialize_contents_wrapper,
276 wsen_PullResponseType_init_wrapper,
277 wsen_PullResponseType_destroy_wrapper,
278 wsen_PullResponseType_copy_wrapper,
279 wsen_PullResponseType_init_contents_wrapper,
280 wsen_PullResponseType_destroy_contents_wrapper,
281 wsen_PullResponseType_copy_contents_wrapper,
282 sizeof(wsen_PullResponseType),
283 NULL,
284 NULL,
285 NULL
286 };
287
288 struct globus_xsd_type_info_s wsen_PullResponseType_array_info =
289 {
290 &wsen_PullResponseType_qname,
291 wsen_PullResponseType_array_serialize_wrapper,
292 wsen_PullResponseType_array_deserialize_wrapper,
293 wsen_PullResponseType_array_init_wrapper,
294 wsen_PullResponseType_array_destroy_wrapper,
295 wsen_PullResponseType_array_copy_wrapper,
296 wsen_PullResponseType_array_init_contents_wrapper,
297 wsen_PullResponseType_array_destroy_contents_wrapper,
298 wsen_PullResponseType_array_copy_contents_wrapper,
299 sizeof(wsen_PullResponseType),
300 wsen_PullResponseType_array_push_wrapper,
301 NULL,
302 NULL
303 };
304
305 struct globus_xsd_type_info_s wsen_PullResponseType_info =
306 {
307 &wsen_PullResponseType_qname,
308 wsen_PullResponseType_serialize_wrapper,
309 wsen_PullResponseType_deserialize_pointer_wrapper,
310 wsen_PullResponseType_init_wrapper,
311 wsen_PullResponseType_destroy_wrapper,
312 wsen_PullResponseType_copy_wrapper,
313 wsen_PullResponseType_init_contents_wrapper,
314 wsen_PullResponseType_destroy_contents_wrapper,
315 wsen_PullResponseType_copy_contents_wrapper,
316 sizeof(wsen_PullResponseType),
317 NULL,
318 &wsen_PullResponseType_contents_info,
319 &wsen_PullResponseType_array_info
320 };
321
322 globus_result_t
323 wsen_PullResponseType_init_contents(
324 wsen_PullResponseType * instance)
325 0 {
326 0 globus_result_t result = GLOBUS_SUCCESS;
327 GlobusFuncName(wsen_PullResponseType_init_contents);
328 0 GlobusSoapMessageDebugEnter();
329
330 0 memset(instance, 0, sizeof(wsen_PullResponseType));
331
332 0 GlobusSoapMessageDebugExit();
333 0 return result;
334 }
335
336 globus_result_t
337 wsen_PullResponseType_init(
338 wsen_PullResponseType ** object)
339 0 {
340 wsen_PullResponseType * instance;
341 0 globus_result_t result = GLOBUS_SUCCESS;
342 GlobusFuncName(wsen_PullResponseType_init);
343 0 GlobusSoapMessageDebugEnter();
344
345 0 instance = globus_malloc(sizeof(wsen_PullResponseType));
346 0 if(!instance)
347 {
348 0 result = GlobusSoapMessageErrorOutOfMemory;
349 0 goto exit;
350 }
351
352 0 memset(instance, 0, sizeof(wsen_PullResponseType));
353
354 0 *object = instance;
355
356 0 exit:
357 0 GlobusSoapMessageDebugExit();
358 0 return result;
359 }
360
361 void
362 wsen_PullResponseType_destroy(
363 wsen_PullResponseType * instance)
364 0 {
365 GlobusFuncName(wsen_PullResponseType_destroy);
366 0 GlobusSoapMessageDebugEnter();
367
368 0 if(!instance)
369 {
370 0 goto exit;
371 }
372
373 0 wsen_PullResponseType_destroy_contents(instance);
374 0 globus_free(instance);
375
376 0 exit:
377
378 0 GlobusSoapMessageDebugExit();
379 0 }
380
381
382 void
383 wsen_PullResponseType_destroy_contents(
384 wsen_PullResponseType * instance)
385 0 {
386 GlobusFuncName(wsen_PullResponseType_destroy_contents);
387 0 GlobusSoapMessageDebugEnter();
388
389 0 if(instance)
390 {
391
392
393 0 wsen_EnumerationContextType_destroy(instance->EnumerationContext);
394 0 instance->EnumerationContext = NULL;
395
396 0 wsen_ItemListType_destroy(instance->Items);
397 0 instance->Items = NULL;
398
399 0 xsd_anyType_destroy(instance->EndOfSequence);
400 0 instance->EndOfSequence = NULL;
401
402 0 xsd_anyAttributes_destroy(instance->anyAttributes);
403 0 instance->anyAttributes = NULL;
404
405 }
406
407 0 GlobusSoapMessageDebugExit();
408 0 }
409
410
411 globus_result_t
412 wsen_PullResponseType_copy(
413 wsen_PullResponseType ** dest_obj,
414 const wsen_PullResponseType * src_obj)
415 0 {
416 0 globus_result_t result = GLOBUS_SUCCESS;
417 wsen_PullResponseType * instance;
418 GlobusFuncName(wsen_PullResponseType_copy);
419
420 0 GlobusSoapMessageDebugEnter();
421
422 0 instance = calloc(1, sizeof(wsen_PullResponseType));
423 0 if (instance == NULL)
424 {
425 0 GlobusSoapMessageDebugExit();
426 0 return GlobusSoapMessageErrorOutOfMemory;
427 }
428
429 0 result = wsen_PullResponseType_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 wsen_PullResponseType_copy_contents(
444 wsen_PullResponseType * instance,
445 const wsen_PullResponseType * src_obj)
446 0 {
447 0 globus_result_t result = GLOBUS_SUCCESS;
448 GlobusFuncName(wsen_PullResponseType_copy_contents);
449
450 0 GlobusSoapMessageDebugEnter();
451
452 0 if(src_obj->anyAttributes)
453 {
454 0 result = xsd_anyAttributes_copy(&instance->anyAttributes,
455 src_obj->anyAttributes);
456 0 if(result != GLOBUS_SUCCESS)
457 {
458 0 result = GlobusSoapMessageErrorCopyAnyAttrsFailed(
459 result, NULL);
460 0 goto xsd_anyAttributes_after_destroy;
461 }
462 }
463 else
464 {
465 0 instance->anyAttributes = NULL;
466 }
467
468 0 if(src_obj->EnumerationContext)
469 {
470 0 result = wsen_EnumerationContextType_copy(
471 &instance->EnumerationContext,
472 src_obj->EnumerationContext);
473 0 if(result != GLOBUS_SUCCESS)
474 {
475 0 result = GlobusSoapMessageErrorCopyFailed(
476 result, NULL, &wsen_EnumerationContextType_qname);
477 0 goto EnumerationContext_destroy_pointer;
478 }
479 }
480 else
481 {
482 0 instance->EnumerationContext = NULL;
483 }
484
485 0 if(src_obj->Items)
486 {
487 0 result = wsen_ItemListType_copy(
488 &instance->Items,
489 src_obj->Items);
490 0 if(result != GLOBUS_SUCCESS)
491 {
492 0 result = GlobusSoapMessageErrorCopyFailed(
493 result, NULL, &wsen_ItemListType_qname);
494 0 goto Items_destroy_pointer;
495 }
496 }
497 else
498 {
499 0 instance->Items = NULL;
500 }
501
502 0 if(src_obj->EndOfSequence)
503 {
504 0 result = xsd_anyType_copy(
505 &instance->EndOfSequence,
506 src_obj->EndOfSequence);
507 0 if(result != GLOBUS_SUCCESS)
508 {
509 0 result = GlobusSoapMessageErrorCopyFailed(
510 result, NULL, &xsd_anyType_qname);
511 0 goto EndOfSequence_destroy_pointer;
512 }
513 }
514 else
515 {
516 0 instance->EndOfSequence = NULL;
517 }
518
519 0 goto exit;
520
521 fail_deserialize:
522
523 xsd_anyAttributes_destroy:
524 xsd_anyAttributes_destroy(instance->anyAttributes);
525 instance->anyAttributes = NULL;
526 0 xsd_anyAttributes_after_destroy:
527 0 xsd_anyType_destroy(
528 instance->EndOfSequence);
529 0 instance->EndOfSequence = NULL;
530
531 0 EndOfSequence_destroy_pointer:
532 0 wsen_ItemListType_destroy(
533 instance->Items);
534 0 instance->Items = NULL;
535
536 0 Items_destroy_pointer:
537 0 wsen_EnumerationContextType_destroy(
538 instance->EnumerationContext);
539 0 instance->EnumerationContext = NULL;
540
541 0 EnumerationContext_destroy_pointer:
542
543
544 0 exit:
545
546 0 GlobusSoapMessageDebugExit();
547 0 return result;
548 }
549
550
551
552 globus_result_t
553 wsen_PullResponseType_serialize_contents(
554 const xsd_QName * element_qname, /* ignored */
555 const wsen_PullResponseType * inst,
556 globus_soap_message_handle_t message_handle,
557 globus_xsd_element_options_t options)
558 0 {
559 0 globus_result_t result = GLOBUS_SUCCESS;
560 GlobusFuncName(wsen_PullResponseType_serialize_contents);
561 0 GlobusSoapMessageDebugEnter();
562
563 0 result = wsen_PullResponseType_serialize(
564 NULL,
565 inst,
566 message_handle,
567 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
568 0 if(result != GLOBUS_SUCCESS)
569 {
570 0 result = GlobusSoapMessageErrorSerializeFailed(
571 result, NULL, element_qname);
572 0 goto exit;
573 }
574
575 0 exit:
576
577 0 GlobusSoapMessageDebugExit();
578 0 return result;
579 }
580
581
582
583 globus_result_t
584 wsen_PullResponseType_serialize(
585 const xsd_QName * element_qname,
586 const wsen_PullResponseType * instance,
587 globus_soap_message_handle_t message_handle,
588 globus_xsd_element_options_t options)
589 0 {
590 0 globus_result_t result = GLOBUS_SUCCESS;
591 xsd_QName subelement;
592 0 globus_list_t * any_attr_keys = NULL;
593 0 globus_list_t * any_attr_keys_iterator = NULL;
594 0 xsd_QName * type_attr = NULL;
595
596 0 char * prefix = NULL;
597 int prefix_created;
598 0 int define_prefix = 0;
599 0 int save_options = options;
600
601 GlobusFuncName(wsen_PullResponseType_serialize);
602 0 GlobusSoapMessageDebugEnter();
603
604
605 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
606 {
607 /* serialize wsen_PullResponseType element */
608 0 result = globus_soap_message_element_ns_set(
609 message_handle,
610 element_qname,
611 element_qname->Namespace,
612 &options);
613 0 if(result != GLOBUS_SUCCESS)
614 {
615 0 result = GlobusSoapMessageErrorSerializeFailed(
616 result, NULL, element_qname);
617 0 goto exit;
618 }
619
620 0 if(((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
621 !globus_soap_message_serialize_is_c14n_subset(message_handle)))
622 {
623 0 result = globus_soap_message_attribute_ns_set(
624 message_handle,
625 element_qname,
626 "http://www.w3.org/2001/XMLSchema-instance",
627 &options);
628 0 if(result != GLOBUS_SUCCESS)
629 {
630 0 result = GlobusSoapMessageErrorSerializeFailed(
631 result, NULL, element_qname);
632 0 goto exit;
633 }
634 }
635
636 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
637 !globus_soap_message_serialize_is_c14n_subset(message_handle))
638 {
639
640 0 result = globus_soap_message_attribute_ns_set(
641 message_handle,
642 element_qname,
643 wsen_PullResponseType_qname.Namespace,
644 &options);
645 0 if(result != GLOBUS_SUCCESS)
646 {
647 0 result = GlobusSoapMessageErrorSerializeFailed(
648 result, NULL, element_qname);
649 0 goto exit;
650 }
651 }
652
653 0 result = xsd_anyAttributes_namespace_set(
654 message_handle, element_qname, instance->anyAttributes, &options);
655 0 if(result != GLOBUS_SUCCESS)
656 {
657 0 result = GlobusSoapMessageErrorSerializeAnyAttrsFailed(
658 result, "Failed to set namespace");
659 0 goto exit;
660 }
661
662 0 result = globus_soap_message_serialize_element(
663 message_handle,
664 element_qname,
665 options,
666 &wsen_PullResponseType_qname);
667 0 if(result != GLOBUS_SUCCESS)
668 {
669 0 result = GlobusSoapMessageErrorSerializeFailed(
670 result, NULL, element_qname);
671 0 goto exit;
672 }
673
674 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
675 !globus_soap_message_serialize_is_c14n_subset(message_handle))
676 {
677 0 xsd_QName_init(&type_attr);
678
679 0 type_attr->local = globus_libc_strdup("type");
680 0 type_attr->Namespace = globus_libc_strdup(XSI_NS);
681 }
682
683
684 /* serialize namespaces */
685 0 result = globus_soap_message_element_ns_add(
686 message_handle,
687 element_qname,
688 element_qname->Namespace,
689 &options);
690 0 if(result != GLOBUS_SUCCESS)
691 {
692 0 result = GlobusSoapMessageErrorSerializeFailed(
693 result, NULL, element_qname);
694 0 goto exit;
695 }
696
697 0 if(((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
698 !globus_soap_message_serialize_is_c14n_subset(message_handle)))
699 {
700 0 result = globus_soap_message_attribute_ns_add(
701 message_handle,
702 element_qname,
703 "http://www.w3.org/2001/XMLSchema-instance",
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 0 if ((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
713 !globus_soap_message_serialize_is_c14n_subset(message_handle))
714 {
715
716 0 result = globus_soap_message_attribute_ns_add(
717 message_handle,
718 element_qname,
719 wsen_PullResponseType_qname.Namespace,
720 &options);
721 0 if(result != GLOBUS_SUCCESS)
722 {
723 0 result = GlobusSoapMessageErrorSerializeFailed(
724 result, NULL, element_qname);
725 0 goto exit;
726 }
727 }
728
729 0 result = xsd_anyAttributes_namespace_add(
730 message_handle, element_qname, instance->anyAttributes, &options);
731 0 if(result != GLOBUS_SUCCESS)
732 {
733 0 result = GlobusSoapMessageErrorSerializeAnyAttrsFailed(
734 result, "Failed to add namespace");
735 0 goto exit;
736 }
737
738 /* serialize attributes */
739
740 0 if(instance->anyAttributes)
741 {
742 0 any_attr_keys = xsd_anyAttributes_lex_sort(
743 instance->anyAttributes);
744 0 any_attr_keys_iterator = any_attr_keys;
745 }
746
747 0 if(any_attr_keys_iterator)
748 {
749 0 result = xsd_anyAttributes_serialize_lex_before(
750 message_handle,
751 &any_attr_keys_iterator,
752 instance->anyAttributes,
753 type_attr);
754 0 if(result != GLOBUS_SUCCESS)
755 {
756 0 result = GlobusSoapMessageErrorSerializeFailed(result,
757 NULL,
758 element_qname);
759 0 goto exit;
760 }
761 }
762
763 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
764 !globus_soap_message_serialize_is_c14n_subset(message_handle))
765 {
766 0 result = globus_soap_message_serialize_QName_attribute(
767 message_handle,
768 type_attr,
769 &wsen_PullResponseType_qname);
770 0 if(result != GLOBUS_SUCCESS)
771 {
772 0 result = GlobusSoapMessageErrorSerializeFailed(
773 result, NULL, element_qname);
774 0 goto exit;
775 }
776 }
777
778
779 }
780
781 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
782 {
783 0 result = globus_soap_message_serialize_element_begin_close(
784 message_handle, element_qname);
785 0 if(result != GLOBUS_SUCCESS)
786 {
787 0 result = GlobusSoapMessageErrorSerializeFailed(
788 result, NULL, element_qname);
789 0 goto exit;
790 }
791 }
792 0 options &= ~GLOBUS_XSD_ELEMENT_CONTENTS_ONLY;
793
794
795 /* serialize contents of type */
796
797 0 subelement.local = "EnumerationContext";
798 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2004/09/enumeration";
799
800 0 if(instance->EnumerationContext)
801 {
802 0 result = wsen_EnumerationContextType_serialize(
803 &subelement,
804 instance->EnumerationContext,
805 message_handle,
806 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
807 0 if(result != GLOBUS_SUCCESS)
808 {
809 0 result = GlobusSoapMessageErrorSerializeFailed(
810 result, NULL, &wsen_EnumerationContextType_qname);
811 0 goto exit;
812 }
813 }
814
815 0 subelement.local = "Items";
816 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2004/09/enumeration";
817
818 0 if(instance->Items)
819 {
820 0 result = wsen_ItemListType_serialize(
821 &subelement,
822 instance->Items,
823 message_handle,
824 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
825 0 if(result != GLOBUS_SUCCESS)
826 {
827 0 result = GlobusSoapMessageErrorSerializeFailed(
828 result, NULL, &wsen_ItemListType_qname);
829 0 goto exit;
830 }
831 }
832
833 0 subelement.local = "EndOfSequence";
834 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2004/09/enumeration";
835
836 0 if(instance->EndOfSequence)
837 {
838 0 result = xsd_anyType_serialize(
839 &subelement,
840 instance->EndOfSequence,
841 message_handle,
842 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
843 0 if(result != GLOBUS_SUCCESS)
844 {
845 0 result = GlobusSoapMessageErrorSerializeFailed(
846 result, NULL, &xsd_anyType_qname);
847 0 goto exit;
848 }
849 }
850
851 0 options = save_options;
852
853 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
854 {
855 /* add end element */
856 0 result = globus_soap_message_serialize_element_end(
857 message_handle,
858 element_qname,
859 options,
860 &wsen_PullResponseType_qname);
861 0 if(result != GLOBUS_SUCCESS)
862 {
863 0 result = GlobusSoapMessageErrorSerializeFailed(
864 result, NULL, element_qname);
865 0 goto exit;
866 }
867
868 0 globus_soap_message_element_ns_remove(
869 message_handle,
870 element_qname->Namespace,
871 &options);
872
873 /* remove namespace/prefix mappings for these types */
874
875 0 if(((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
876 !globus_soap_message_serialize_is_c14n_subset(message_handle)))
877 {
878 0 globus_soap_message_attribute_ns_remove(
879 message_handle,
880 "http://www.w3.org/2001/XMLSchema-instance",
881 &options);
882 }
883 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
884 !globus_soap_message_serialize_is_c14n_subset(message_handle))
885 {
886 0 globus_soap_message_attribute_ns_remove(
887 message_handle,
888 wsen_PullResponseType_qname.Namespace,
889 &options);
890 }
891
892 0 result = xsd_anyAttributes_namespace_remove(
893 message_handle, instance->anyAttributes, &options);
894 0 if(result != GLOBUS_SUCCESS)
895 {
896 0 result = GlobusSoapMessageErrorSerializeAnyAttrsFailed(
897 result, "Failed to remove namespace");
898 0 goto exit;
899 }
900
901 }
902
903 0 exit:
904 0 if (type_attr)
905 {
906 0 xsd_QName_destroy(type_attr);
907 }
908
909
910 0 if(any_attr_keys)
911 {
912 0 globus_list_free(any_attr_keys);
913 }
914
915 0 GlobusSoapMessageDebugExit();
916 0 return result;
917 }
918
919
920
921 globus_result_t
922 wsen_PullResponseType_deserialize_contents(
923 const xsd_QName * element_qname, /* ignored */
924 wsen_PullResponseType * inst,
925 globus_soap_message_handle_t message_handle,
926 globus_xsd_element_options_t options)
927 0 {
928 0 globus_result_t result = GLOBUS_SUCCESS;
929 GlobusFuncName(wsen_PullResponseType_deserialize_contents);
930 0 GlobusSoapMessageDebugEnter();
931
932 0 result = wsen_PullResponseType_deserialize(
933 NULL,
934 inst,
935 message_handle,
936 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
937 0 if(result != GLOBUS_SUCCESS)
938 {
939 0 result = GlobusSoapMessageErrorDeserializeFailed(
940 result, element_qname);
941 0 goto exit;
942 }
943
944 0 exit:
945
946 0 GlobusSoapMessageDebugExit();
947 0 return result;
948 }
949
950
951
952 globus_result_t
953 wsen_PullResponseType_deserialize(
954 const xsd_QName * element_qname,
955 wsen_PullResponseType * instance,
956 globus_soap_message_handle_t message_handle,
957 globus_xsd_element_options_t options)
958 0 {
959 0 globus_result_t result = GLOBUS_SUCCESS;
960 xsd_QName subelement;
961 GlobusFuncName(wsen_PullResponseType_deserialize);
962 0 GlobusSoapMessageDebugEnter();
963
964
965 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
966 {
967 0 result = globus_soap_message_deserialize_element(
968 message_handle, element_qname);
969 0 if(result != GLOBUS_SUCCESS)
970 {
971 0 result = GlobusSoapMessageErrorDeserializeFailed(
972 result, element_qname);
973 0 goto exit;
974 }
975
976 0 result = xsd_anyAttributes_init(&instance->anyAttributes);
977 0 if(result != GLOBUS_SUCCESS)
978 {
979 0 result = GlobusSoapMessageErrorDeserializeFailed(
980 result, element_qname);
981 0 goto xsd_anyAttributes_after_destroy;
982 }
983 0 subelement.Namespace = "##any";
984 0 subelement.local = "anyAttributes";
985
986 0 result = xsd_anyAttributes_deserialize(
987 message_handle,
988 instance->anyAttributes,
989 &subelement);
990 0 if(result != GLOBUS_SUCCESS)
991 {
992 0 result = GlobusSoapMessageErrorDeserializeFailed(
993 result, element_qname);
994 0 goto xsd_anyAttributes_destroy;
995 }
996
997
998 0 result = globus_soap_message_deserialize_element_begin_close(
999 message_handle);
1000 0 if(result != GLOBUS_SUCCESS)
1001 {
1002 0 result = GlobusSoapMessageErrorDeserializeFailed(
1003 result, element_qname);
1004 0 goto fail_deserialize;
1005 }
1006 }
1007
1008 0 subelement.local = "EnumerationContext";
1009 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2004/09/enumeration";
1010
1011 0 result = wsen_EnumerationContextType_deserialize_pointer(
1012 &subelement,
1013 &instance->EnumerationContext,
1014 message_handle,
1015 0);
1016 0 if(result != GLOBUS_SUCCESS)
1017 {
1018 0 result = GlobusSoapMessageErrorDeserializeFailed(
1019 result,
1020 (&subelement));
1021 0 goto EnumerationContext_destroy_pointer;
1022 }
1023
1024 0 subelement.local = "Items";
1025 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2004/09/enumeration";
1026
1027 0 result = wsen_ItemListType_deserialize_pointer(
1028 &subelement,
1029 &instance->Items,
1030 message_handle,
1031 0);
1032 0 if(result != GLOBUS_SUCCESS)
1033 {
1034 0 result = GlobusSoapMessageErrorDeserializeFailed(
1035 result,
1036 (&subelement));
1037 0 goto Items_destroy_pointer;
1038 }
1039
1040 0 subelement.local = "EndOfSequence";
1041 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2004/09/enumeration";
1042
1043 0 result = xsd_anyType_deserialize_pointer(
1044 &subelement,
1045 &instance->EndOfSequence,
1046 message_handle,
1047 0);
1048 0 if(result != GLOBUS_SUCCESS)
1049 {
1050 0 result = GlobusSoapMessageErrorDeserializeFailed(
1051 result,
1052 (&subelement));
1053 0 goto EndOfSequence_destroy_pointer;
1054 }
1055
1056 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
1057 {
1058 0 result = globus_soap_message_deserialize_element_end(
1059 message_handle,
1060 element_qname);
1061 0 if(result != GLOBUS_SUCCESS)
1062 {
1063 0 result = GlobusSoapMessageErrorDeserializeFailed(
1064 result, element_qname);
1065 0 goto fail_deserialize;
1066 }
1067 }
1068
1069 0 goto exit;
1070
1071 0 fail_deserialize:
1072
1073 0 xsd_anyAttributes_destroy:
1074 0 xsd_anyAttributes_destroy(instance->anyAttributes);
1075 0 instance->anyAttributes = NULL;
1076 0 xsd_anyAttributes_after_destroy:
1077 0 xsd_anyType_destroy(
1078 instance->EndOfSequence);
1079 0 instance->EndOfSequence = NULL;
1080
1081 0 EndOfSequence_destroy_pointer:
1082 0 wsen_ItemListType_destroy(
1083 instance->Items);
1084 0 instance->Items = NULL;
1085
1086 0 Items_destroy_pointer:
1087 0 wsen_EnumerationContextType_destroy(
1088 instance->EnumerationContext);
1089 0 instance->EnumerationContext = NULL;
1090
1091 0 EnumerationContext_destroy_pointer:
1092
1093
1094 0 exit:
1095
1096 0 GlobusSoapMessageDebugExit();
1097 0 return result;
1098 }
1099
1100
1101
1102 globus_result_t
1103 wsen_PullResponseType_deserialize_pointer(
1104 const xsd_QName * element_qname,
1105 wsen_PullResponseType ** ip,
1106 globus_soap_message_handle_t message_handle,
1107 globus_xsd_element_options_t options)
1108 0 {
1109 0 wsen_PullResponseType * instance = NULL;
1110 0 globus_result_t result = GLOBUS_SUCCESS;
1111 xsd_QName subelement;
1112 0 int found_attrs = 0;
1113 0 int empty_element = 0;
1114 GlobusFuncName(wsen_PullResponseType_deserialize_pointer);
1115 0 GlobusSoapMessageDebugEnter();
1116
1117 0 *ip = NULL;
1118
1119 0 result = globus_soap_message_deserialize_element(
1120 message_handle, element_qname);
1121 0 if(result != GLOBUS_SUCCESS &&
1122 (GlobusSoapMessageStatusElementNotFoundCheck(result) ||
1123 GlobusSoapMessageStatusFailedElementCheck(result) ||
1124 GlobusSoapMessageStatusFailedWithTextCheck(result)))
1125 {
1126 0 result = GLOBUS_SUCCESS;
1127 0 goto exit;
1128 }
1129
1130 0 if(result != GLOBUS_SUCCESS)
1131 {
1132 0 result = GlobusSoapMessageErrorDeserializeFailed(
1133 result, element_qname);
1134 0 goto exit;
1135 }
1136
1137 0 if(globus_soap_message_deserialize_element_is_empty(
1138 message_handle))
1139 {
1140 0 empty_element = 1;
1141 }
1142
1143 0 result = wsen_PullResponseType_init(&instance);
1144 0 if(result != GLOBUS_SUCCESS)
1145 {
1146 0 result = GlobusSoapMessageErrorDeserializeFailed(
1147 result, element_qname);
1148 0 goto exit;
1149 }
1150
1151
1152 0 result = xsd_anyAttributes_init(&instance->anyAttributes);
1153 0 if(result != GLOBUS_SUCCESS)
1154 {
1155 0 result = GlobusSoapMessageErrorDeserializeFailed(
1156 result, element_qname);
1157 0 goto xsd_anyAttributes_after_destroy;
1158 }
1159 0 subelement.Namespace = "##any";
1160 0 subelement.local = "anyAttributes";
1161
1162 0 result = xsd_anyAttributes_deserialize(
1163 message_handle,
1164 instance->anyAttributes,
1165 &subelement);
1166 0 if(result != GLOBUS_SUCCESS)
1167 {
1168 0 result = GlobusSoapMessageErrorDeserializeFailed(
1169 result, element_qname);
1170 0 goto xsd_anyAttributes_destroy;
1171 }
1172
1173 0 if(instance->anyAttributes &&
1174 xsd_anyAttributes_size(instance->anyAttributes) > 0)
1175 {
1176 0 found_attrs++;
1177 }
1178
1179 0 if(found_attrs == 0 &&
1180 globus_soap_message_deserialize_element_is_nil(message_handle))
1181 {
1182 0 wsen_PullResponseType_destroy(instance);
1183
1184 0 result = globus_soap_message_deserialize_element_end(
1185 message_handle,
1186 element_qname);
1187 0 if(result != GLOBUS_SUCCESS)
1188 {
1189 0 result = GlobusSoapMessageErrorDeserializeFailed(
1190 result, element_qname);
1191 0 goto exit;
1192 }
1193
1194 0 *ip = NULL;
1195 0 globus_object_free(globus_error_get(result));
1196 0 result = GLOBUS_SUCCESS;
1197 0 goto exit;
1198 }
1199
1200 0 if(empty_element)
1201 {
1202 0 result = globus_soap_message_deserialize_element_end(
1203 message_handle,
1204 element_qname);
1205 0 if(result != GLOBUS_SUCCESS)
1206 {
1207 0 result = GlobusSoapMessageErrorDeserializeFailed(
1208 result, element_qname);
1209 0 goto fail_deserialize;
1210 }
1211
1212 0 *ip = instance;
1213 0 goto exit;
1214 }
1215
1216 0 result = globus_soap_message_deserialize_element_begin_close(
1217 message_handle);
1218 0 if(result != GLOBUS_SUCCESS)
1219 {
1220 0 result = GlobusSoapMessageErrorDeserializeFailed(
1221 result, element_qname);
1222 0 goto exit;
1223 }
1224
1225 0 result = wsen_PullResponseType_deserialize(
1226 element_qname,
1227 instance,
1228 message_handle,
1229 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
1230 0 if(result != GLOBUS_SUCCESS)
1231 {
1232 0 result = GlobusSoapMessageErrorDeserializeFailed(
1233 result, element_qname);
1234 0 goto exit;
1235 }
1236
1237 0 result = globus_soap_message_deserialize_element_end(
1238 message_handle,
1239 element_qname);
1240 0 if(result != GLOBUS_SUCCESS)
1241 {
1242 0 result = GlobusSoapMessageErrorDeserializeFailed(
1243 result, element_qname);
1244 0 goto fail_deserialize;
1245 }
1246
1247 0 *ip = instance;
1248
1249 0 goto exit;
1250
1251 0 fail_deserialize:
1252
1253 0 xsd_anyAttributes_destroy:
1254 0 xsd_anyAttributes_destroy(instance->anyAttributes);
1255 0 instance->anyAttributes = NULL;
1256 0 xsd_anyAttributes_after_destroy:
1257 0 xsd_anyType_destroy(
1258 instance->EndOfSequence);
1259 0 instance->EndOfSequence = NULL;
1260
1261 0 EndOfSequence_destroy_pointer:
1262 0 wsen_ItemListType_destroy(
1263 instance->Items);
1264 0 instance->Items = NULL;
1265
1266 0 Items_destroy_pointer:
1267 0 wsen_EnumerationContextType_destroy(
1268 instance->EnumerationContext);
1269 0 instance->EnumerationContext = NULL;
1270
1271 0 EnumerationContext_destroy_pointer:
1272
1273 0 exit:
1274
1275 0 GlobusSoapMessageDebugExit();
1276 0 return result;
1277 }
1278
1279
1280 globus_result_t
1281 wsen_PullResponseType_array_init_contents(
1282 wsen_PullResponseType_array * array)
1283 0 {
1284 0 return globus_xsd_generic_array_init_contents(
1285 (globus_xsd_generic_array_t *) array,
1286 &wsen_PullResponseType_info);
1287 }
1288 /* wsen_PullResponseType_array_init_contents() */
1289
1290 globus_result_t
1291 wsen_PullResponseType_array_init(
1292 wsen_PullResponseType_array ** arr)
1293 0 {
1294 0 return globus_xsd_generic_array_init(
1295 (globus_xsd_generic_array_t **) arr,
1296 &wsen_PullResponseType_info);
1297 }
1298 /* wsen_PullResponseType_array_init() */
1299
1300 void
1301 wsen_PullResponseType_array_destroy_contents(
1302 wsen_PullResponseType_array * array)
1303 0 {
1304 0 globus_xsd_generic_array_destroy_contents(
1305 (globus_xsd_generic_array_t *) array);
1306 0 }
1307 /* wsen_PullResponseType_array_destroy_contents() */
1308
1309 void
1310 wsen_PullResponseType_array_destroy(
1311 wsen_PullResponseType_array * array)
1312 0 {
1313 0 globus_xsd_generic_array_destroy(
1314 (globus_xsd_generic_array_t *) array);
1315 0 }
1316 /* wsen_PullResponseType_array_destroy() */
1317
1318 globus_result_t
1319 wsen_PullResponseType_array_copy(
1320 wsen_PullResponseType_array ** dest_arr,
1321 const wsen_PullResponseType_array * src_arr)
1322 0 {
1323 0 return globus_xsd_generic_array_copy(
1324 (globus_xsd_generic_array_t **) dest_arr,
1325 (globus_xsd_generic_array_t *) src_arr);
1326 }
1327 /* wsen_PullResponseType_array_copy() */
1328
1329 globus_result_t
1330 wsen_PullResponseType_array_copy_contents(
1331 wsen_PullResponseType_array * dest_arr,
1332 const wsen_PullResponseType_array * src_arr)
1333 0 {
1334 0 return globus_xsd_generic_array_copy_contents(
1335 (globus_xsd_generic_array_t *) dest_arr,
1336 (globus_xsd_generic_array_t *) src_arr);
1337 }
1338 /* wsen_PullResponseType_array_copy_contents() */
1339
1340 wsen_PullResponseType *
1341 wsen_PullResponseType_array_push(
1342 wsen_PullResponseType_array * array)
1343 0 {
1344 /* Some contents initializers don't initialize subelments but to set their
1345 * values to be NULL
1346 */
1347 0 if (array->type_info == NULL)
1348 {
1349 0 array->type_info = &wsen_PullResponseType_info;
1350 }
1351
1352 0 return globus_xsd_generic_array_push(
1353 (globus_xsd_generic_array_t *) array);
1354 }
1355 /* wsen_PullResponseType_array_push() */
1356
1357 globus_result_t
1358 wsen_PullResponseType_array_serialize(
1359 const xsd_QName * element_qname,
1360 const wsen_PullResponseType_array * array,
1361 globus_soap_message_handle_t message,
1362 globus_xsd_element_options_t options)
1363 0 {
1364 0 return globus_xsd_generic_array_serialize(
1365 element_qname,
1366 (const globus_xsd_generic_array_t *) array,
1367 message,
1368 options);
1369 }
1370 /* wsen_PullResponseType_array_serialize() */
1371
1372 globus_result_t
1373 wsen_PullResponseType_array_deserialize(
1374 const xsd_QName * element_qname,
1375 wsen_PullResponseType_array * array,
1376 globus_soap_message_handle_t message,
1377 globus_xsd_element_options_t options)
1378 0 {
1379 /* Some initializers set the array's contents to NULL */
1380 0 if (array->type_info == NULL)
1381 {
1382 0 array->type_info = &wsen_PullResponseType_info;
1383 }
1384 0 return globus_xsd_generic_array_deserialize(
1385 element_qname,
1386 (globus_xsd_generic_array_t *) array,
1387 message,
1388 options);