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 "wsp_Compositor.h"
26 #include "globus_xsd_generic_array.h"
27
28 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
29 xsd_QName wsp_Compositor_qname =
30 {
31 WSP_COMPOSITOR_NS,
32 WSP_COMPOSITOR_LOCAL
33 };
34 #endif /* GLOBUS_DONT_DOCUMENT_INTERNAL */
35
36 static
37 globus_result_t
38 wsp_Compositor_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 wsp_Compositor_serialize(
45 element_qname,
46 (const wsp_Compositor *) instance,
47 message_handle, options);
48 }
49
50 static
51 globus_result_t
52 wsp_Compositor_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 wsp_Compositor_deserialize_pointer(
59 element_qname,
60 (wsp_Compositor **) ip,
61 message_handle, options);
62 }
63
64 static
65 globus_result_t
66 wsp_Compositor_init_wrapper(void **object)
67 0 {
68 0 return wsp_Compositor_init(
69 (wsp_Compositor **) object);
70 }
71
72 static
73 void
74 wsp_Compositor_destroy_wrapper(
75 void * object)
76 0 {
77 0 wsp_Compositor_destroy(
78 (wsp_Compositor *) object);
79 0 }
80
81 static
82 globus_result_t
83 wsp_Compositor_copy_wrapper(
84 void ** dest_obj,
85 const void * src_obj)
86 0 {
87 0 return wsp_Compositor_copy(
88 (wsp_Compositor **) dest_obj,
89 (wsp_Compositor *) src_obj);
90 }
91
92 static
93 globus_result_t
94 wsp_Compositor_init_contents_wrapper(void *object)
95 0 {
96 0 return wsp_Compositor_init_contents(
97 (wsp_Compositor *) object);
98 }
99
100 static
101 void
102 wsp_Compositor_destroy_contents_wrapper(
103 void * object)
104 0 {
105 0 wsp_Compositor_destroy_contents(
106 (wsp_Compositor *) object);
107 0 }
108
109 static
110 globus_result_t
111 wsp_Compositor_copy_contents_wrapper(
112 void * dest_obj,
113 const void * src_obj)
114 0 {
115 0 return wsp_Compositor_copy_contents(
116 (wsp_Compositor *) dest_obj,
117 (const wsp_Compositor *) src_obj);
118 }
119
120 static
121 globus_result_t
122 wsp_Compositor_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 wsp_Compositor_serialize_contents(
129 element_qname,
130 (wsp_Compositor *) instance,
131 message_handle, options);
132 }
133
134 static
135 globus_result_t
136 wsp_Compositor_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(wsp_Compositor_deserialize_contents_wrapper);
144 0 GlobusSoapMessageDebugEnter();
145
146 0 if(!*instance)
147 {
148 0 result = wsp_Compositor_init(
149 (wsp_Compositor **)instance);
150 0 if(result != GLOBUS_SUCCESS)
151 {
152 0 goto error;
153 }
154 }
155
156 0 result = wsp_Compositor_deserialize_contents(
157 element_qname,
158 *(wsp_Compositor **)instance,
159 message_handle, options);
160 0 error:
161 0 GlobusSoapMessageDebugExit();
162 0 return result;
163 }
164
165 static
166 globus_result_t
167 wsp_Compositor_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 wsp_Compositor_array_serialize(
174 element,
175 (wsp_Compositor_array *) instance,
176 message, options);
177 }
178
179 static
180 globus_result_t
181 wsp_Compositor_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 = wsp_Compositor_array_init(
192 (wsp_Compositor_array **)inst);
193 0 if(result != GLOBUS_SUCCESS)
194 {
195 0 return result;
196 }
197 }
198
199 0 return wsp_Compositor_array_deserialize(
200 element_qname,
201 *(wsp_Compositor_array **) inst,
202 message, options);
203 }
204
205 static
206 globus_result_t
207 wsp_Compositor_array_init_wrapper(
208 void ** arr)
209 0 {
210 0 return wsp_Compositor_array_init(
211 (wsp_Compositor_array **) arr);
212 }
213
214 static
215 void
216 wsp_Compositor_array_destroy_wrapper(
217 void * arr)
218 0 {
219 0 wsp_Compositor_array_destroy(
220 (wsp_Compositor_array *) arr);
221 0 }
222
223 static
224 globus_result_t
225 wsp_Compositor_array_copy_wrapper(
226 void ** dest_arr,
227 const void * src_arr)
228 0 {
229 0 return wsp_Compositor_array_copy(
230 (wsp_Compositor_array **) dest_arr,
231 (const wsp_Compositor_array *) src_arr);
232 }
233
234 static
235 globus_result_t
236 wsp_Compositor_array_init_contents_wrapper(
237 void * arr)
238 0 {
239 0 return wsp_Compositor_array_init_contents(
240 (wsp_Compositor_array *) arr);
241 }
242
243 static
244 void
245 wsp_Compositor_array_destroy_contents_wrapper(
246 void * arr)
247 0 {
248 0 wsp_Compositor_array_destroy_contents(
249 (wsp_Compositor_array *) arr);
250 0 }
251
252 static
253 globus_result_t
254 wsp_Compositor_array_copy_contents_wrapper(
255 void * dest_arr,
256 const void * src_arr)
257 0 {
258 0 return wsp_Compositor_array_copy_contents(
259 (wsp_Compositor_array *) dest_arr,
260 (const wsp_Compositor_array *) src_arr);
261 }
262
263 static
264 void *
265 wsp_Compositor_array_push_wrapper(
266 void * array)
267 0 {
268 0 return (void *) wsp_Compositor_array_push((wsp_Compositor_array *) array);
269 }
270
271 struct globus_xsd_type_info_s wsp_Compositor_contents_info =
272 {
273 &wsp_Compositor_qname,
274 wsp_Compositor_serialize_contents_wrapper,
275 wsp_Compositor_deserialize_contents_wrapper,
276 wsp_Compositor_init_wrapper,
277 wsp_Compositor_destroy_wrapper,
278 wsp_Compositor_copy_wrapper,
279 wsp_Compositor_init_contents_wrapper,
280 wsp_Compositor_destroy_contents_wrapper,
281 wsp_Compositor_copy_contents_wrapper,
282 sizeof(wsp_Compositor),
283 NULL,
284 NULL,
285 NULL
286 };
287
288 struct globus_xsd_type_info_s wsp_Compositor_array_info =
289 {
290 &wsp_Compositor_qname,
291 wsp_Compositor_array_serialize_wrapper,
292 wsp_Compositor_array_deserialize_wrapper,
293 wsp_Compositor_array_init_wrapper,
294 wsp_Compositor_array_destroy_wrapper,
295 wsp_Compositor_array_copy_wrapper,
296 wsp_Compositor_array_init_contents_wrapper,
297 wsp_Compositor_array_destroy_contents_wrapper,
298 wsp_Compositor_array_copy_contents_wrapper,
299 sizeof(wsp_Compositor),
300 wsp_Compositor_array_push_wrapper,
301 NULL,
302 NULL
303 };
304
305 struct globus_xsd_type_info_s wsp_Compositor_info =
306 {
307 &wsp_Compositor_qname,
308 wsp_Compositor_serialize_wrapper,
309 wsp_Compositor_deserialize_pointer_wrapper,
310 wsp_Compositor_init_wrapper,
311 wsp_Compositor_destroy_wrapper,
312 wsp_Compositor_copy_wrapper,
313 wsp_Compositor_init_contents_wrapper,
314 wsp_Compositor_destroy_contents_wrapper,
315 wsp_Compositor_copy_contents_wrapper,
316 sizeof(wsp_Compositor),
317 NULL,
318 &wsp_Compositor_contents_info,
319 &wsp_Compositor_array_info
320 };
321
322 globus_result_t
323 wsp_Compositor_init_contents(
324 wsp_Compositor * instance)
325 0 {
326 0 globus_result_t result = GLOBUS_SUCCESS;
327 GlobusFuncName(wsp_Compositor_init_contents);
328 0 GlobusSoapMessageDebugEnter();
329
330 0 memset(instance, 0, sizeof(wsp_Compositor));
331
332 0 GlobusSoapMessageDebugExit();
333 0 return result;
334 }
335
336 globus_result_t
337 wsp_Compositor_init(
338 wsp_Compositor ** object)
339 0 {
340 wsp_Compositor * instance;
341 0 globus_result_t result = GLOBUS_SUCCESS;
342 GlobusFuncName(wsp_Compositor_init);
343 0 GlobusSoapMessageDebugEnter();
344
345 0 instance = globus_malloc(sizeof(wsp_Compositor));
346 0 if(!instance)
347 {
348 0 result = GlobusSoapMessageErrorOutOfMemory;
349 0 goto exit;
350 }
351
352 0 memset(instance, 0, sizeof(wsp_Compositor));
353
354 0 *object = instance;
355
356 0 exit:
357 0 GlobusSoapMessageDebugExit();
358 0 return result;
359 }
360
361 void
362 wsp_Compositor_destroy(
363 wsp_Compositor * instance)
364 0 {
365 GlobusFuncName(wsp_Compositor_destroy);
366 0 GlobusSoapMessageDebugEnter();
367
368 0 if(!instance)
369 {
370 0 goto exit;
371 }
372
373 0 wsp_Compositor_destroy_contents(instance);
374 0 globus_free(instance);
375
376 0 exit:
377
378 0 GlobusSoapMessageDebugExit();
379 0 }
380
381
382 void
383 wsp_Compositor_destroy_contents(
384 wsp_Compositor * instance)
385 0 {
386 GlobusFuncName(wsp_Compositor_destroy_contents);
387 0 GlobusSoapMessageDebugEnter();
388
389 0 if(instance)
390 {
391
392
393 0 wsp_CompositorContent_group_array_destroy_contents(&instance->CompositorContent);
394
395 0 xsd_anyAttributes_destroy(instance->anyAttributes);
396 0 instance->anyAttributes = NULL;
397
398 0 if(instance->_Id)
399 {
400 0 xsd_ID_destroy(
401 instance->_Id);
402 0 instance->_Id = NULL;
403 }
404
405 0 if(instance->_Preference)
406 {
407 0 xsd_int_destroy(
408 instance->_Preference);
409 0 instance->_Preference = NULL;
410 }
411
412 0 if(instance->_Usage)
413 {
414 0 wsp_OpenUsageType_destroy(
415 instance->_Usage);
416 0 instance->_Usage = NULL;
417 }
418
419 }
420
421 0 GlobusSoapMessageDebugExit();
422 0 }
423
424
425 globus_result_t
426 wsp_Compositor_copy(
427 wsp_Compositor ** dest_obj,
428 const wsp_Compositor * src_obj)
429 0 {
430 0 globus_result_t result = GLOBUS_SUCCESS;
431 wsp_Compositor * instance;
432 GlobusFuncName(wsp_Compositor_copy);
433
434 0 GlobusSoapMessageDebugEnter();
435
436 0 instance = calloc(1, sizeof(wsp_Compositor));
437 0 if (instance == NULL)
438 {
439 0 GlobusSoapMessageDebugExit();
440 0 return GlobusSoapMessageErrorOutOfMemory;
441 }
442
443 0 result = wsp_Compositor_copy_contents(instance, src_obj);
444 0 if(result != GLOBUS_SUCCESS)
445 {
446 0 globus_free(instance);
447 0 GlobusSoapMessageDebugExit();
448 0 return GlobusSoapMessageErrorOutOfMemory;
449 }
450
451 0 *dest_obj = instance;
452 0 GlobusSoapMessageDebugExit();
453 0 return result;
454 }
455
456 globus_result_t
457 wsp_Compositor_copy_contents(
458 wsp_Compositor * instance,
459 const wsp_Compositor * src_obj)
460 0 {
461 0 globus_result_t result = GLOBUS_SUCCESS;
462 GlobusFuncName(wsp_Compositor_copy_contents);
463
464 0 GlobusSoapMessageDebugEnter();
465
466 0 if(src_obj->anyAttributes)
467 {
468 0 result = xsd_anyAttributes_copy(&instance->anyAttributes,
469 src_obj->anyAttributes);
470 0 if(result != GLOBUS_SUCCESS)
471 {
472 0 result = GlobusSoapMessageErrorCopyAnyAttrsFailed(
473 result, NULL);
474 0 goto xsd_anyAttributes_after_destroy;
475 }
476 }
477 else
478 {
479 0 instance->anyAttributes = NULL;
480 }
481
482 0 if(src_obj->_Id)
483 {
484 0 result = xsd_ID_copy(
485 &instance->_Id,
486 src_obj->_Id);
487 0 if(result != GLOBUS_SUCCESS)
488 {
489 0 result = GlobusSoapMessageErrorCopyFailed(
490 result, NULL, &xsd_ID_qname);
491 0 goto _Id_destroy;
492 }
493 }
494 else
495 {
496 0 instance->_Id = NULL;
497 }
498
499 0 if(src_obj->_Preference)
500 {
501 0 result = xsd_int_copy(
502 &instance->_Preference,
503 src_obj->_Preference);
504 0 if(result != GLOBUS_SUCCESS)
505 {
506 0 result = GlobusSoapMessageErrorCopyFailed(
507 result, NULL, &xsd_int_qname);
508 0 goto _Preference_destroy;
509 }
510 }
511 else
512 {
513 0 instance->_Preference = NULL;
514 }
515
516 0 if(src_obj->_Usage)
517 {
518 0 result = wsp_OpenUsageType_copy(
519 &instance->_Usage,
520 src_obj->_Usage);
521 0 if(result != GLOBUS_SUCCESS)
522 {
523 0 result = GlobusSoapMessageErrorCopyFailed(
524 result, NULL, &wsp_OpenUsageType_qname);
525 0 goto _Usage_destroy;
526 }
527 }
528 else
529 {
530 0 instance->_Usage = NULL;
531 }
532
533 0 result = wsp_CompositorContent_group_array_copy_contents(
534 &instance->CompositorContent,
535 &src_obj->CompositorContent);
536 0 if(result != GLOBUS_SUCCESS)
537 {
538 0 result = GlobusSoapMessageErrorCopyFailed(
539 result, NULL, &wsp_CompositorContent_group_qname);
540 0 goto CompositorContent_destroy_array;
541 }
542
543 0 goto exit;
544
545 fail_deserialize:
546
547 xsd_anyAttributes_destroy:
548 xsd_anyAttributes_destroy(instance->anyAttributes);
549 instance->anyAttributes = NULL;
550 0 xsd_anyAttributes_after_destroy:
551
552 0 _Usage_destroy:
553
554 0 if(instance->_Usage)
555 {
556 0 wsp_OpenUsageType_destroy(
557 instance->_Usage);
558 0 instance->_Usage = NULL;
559 }
560
561 0 _Preference_destroy:
562
563 0 if(instance->_Preference)
564 {
565 0 xsd_int_destroy(
566 instance->_Preference);
567 0 instance->_Preference = NULL;
568 }
569
570 0 _Id_destroy:
571
572 0 if(instance->_Id)
573 {
574 0 xsd_ID_destroy(
575 instance->_Id);
576 0 instance->_Id = NULL;
577 }
578 0 wsp_CompositorContent_group_array_destroy_contents(
579 &instance->CompositorContent);
580
581 0 CompositorContent_destroy_array:
582
583
584 0 exit:
585
586 0 GlobusSoapMessageDebugExit();
587 0 return result;
588 }
589
590
591
592 globus_result_t
593 wsp_Compositor_serialize_contents(
594 const xsd_QName * element_qname, /* ignored */
595 const wsp_Compositor * inst,
596 globus_soap_message_handle_t message_handle,
597 globus_xsd_element_options_t options)
598 0 {
599 0 globus_result_t result = GLOBUS_SUCCESS;
600 GlobusFuncName(wsp_Compositor_serialize_contents);
601 0 GlobusSoapMessageDebugEnter();
602
603 0 result = wsp_Compositor_serialize(
604 NULL,
605 inst,
606 message_handle,
607 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
608 0 if(result != GLOBUS_SUCCESS)
609 {
610 0 result = GlobusSoapMessageErrorSerializeFailed(
611 result, NULL, element_qname);
612 0 goto exit;
613 }
614
615 0 exit:
616
617 0 GlobusSoapMessageDebugExit();
618 0 return result;
619 }
620
621
622
623 globus_result_t
624 wsp_Compositor_serialize(
625 const xsd_QName * element_qname,
626 const wsp_Compositor * instance,
627 globus_soap_message_handle_t message_handle,
628 globus_xsd_element_options_t options)
629 0 {
630 0 globus_result_t result = GLOBUS_SUCCESS;
631 xsd_QName subelement;
632 0 globus_list_t * any_attr_keys = NULL;
633 0 globus_list_t * any_attr_keys_iterator = NULL;
634 0 xsd_QName * type_attr = NULL;
635
636 0 char * prefix = NULL;
637 int prefix_created;
638 0 int define_prefix = 0;
639 0 int save_options = options;
640
641 GlobusFuncName(wsp_Compositor_serialize);
642 0 GlobusSoapMessageDebugEnter();
643
644
645 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
646 {
647 /* serialize wsp_Compositor element */
648 0 result = globus_soap_message_element_ns_set(
649 message_handle,
650 element_qname,
651 element_qname->Namespace,
652 &options);
653 0 if(result != GLOBUS_SUCCESS)
654 {
655 0 result = GlobusSoapMessageErrorSerializeFailed(
656 result, NULL, element_qname);
657 0 goto exit;
658 }
659
660 0 result = xsd_anyAttributes_namespace_set(
661 message_handle, element_qname, instance->anyAttributes, &options);
662 0 if(result != GLOBUS_SUCCESS)
663 {
664 0 result = GlobusSoapMessageErrorSerializeAnyAttrsFailed(
665 result, "Failed to set namespace");
666 0 goto exit;
667 }
668
669 0 if(instance->_Id)
670 {
671
672 0 result = globus_soap_message_attribute_ns_set(
673 message_handle,
674 element_qname,
675 "http://schemas.xmlsoap.org/ws/2002/07/utility",
676 &options);
677
678 0 if(result != GLOBUS_SUCCESS)
679 {
680 xsd_QName error_qname;
681 0 error_qname.local = prefix;
682 0 error_qname.Namespace = "http://schemas.xmlsoap.org/ws/2002/07/utility";
683 0 result = GlobusSoapMessageErrorSerializeFailed(result,
684 NULL,
685 &error_qname);
686 0 goto exit;
687 }
688
689
690 }
691
692 0 if(instance->_Preference)
693 {
694
695 0 result = globus_soap_message_attribute_ns_set(
696 message_handle,
697 element_qname,
698 "http://schemas.xmlsoap.org/ws/2002/12/policy",
699 &options);
700
701 0 if(result != GLOBUS_SUCCESS)
702 {
703 xsd_QName error_qname;
704 0 error_qname.local = prefix;
705 0 error_qname.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
706 0 result = GlobusSoapMessageErrorSerializeFailed(result,
707 NULL,
708 &error_qname);
709 0 goto exit;
710 }
711
712
713 }
714
715 0 if(instance->_Usage)
716 {
717
718 0 result = globus_soap_message_attribute_ns_set(
719 message_handle,
720 element_qname,
721 "http://schemas.xmlsoap.org/ws/2002/12/policy",
722 &options);
723
724 0 if(result != GLOBUS_SUCCESS)
725 {
726 xsd_QName error_qname;
727 0 error_qname.local = prefix;
728 0 error_qname.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
729 0 result = GlobusSoapMessageErrorSerializeFailed(result,
730 NULL,
731 &error_qname);
732 0 goto exit;
733 }
734
735
736 }
737
738 0 if(((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
739 !globus_soap_message_serialize_is_c14n_subset(message_handle)))
740 {
741 0 result = globus_soap_message_attribute_ns_set(
742 message_handle,
743 element_qname,
744 "http://www.w3.org/2001/XMLSchema-instance",
745 &options);
746 0 if(result != GLOBUS_SUCCESS)
747 {
748 0 result = GlobusSoapMessageErrorSerializeFailed(
749 result, NULL, element_qname);
750 0 goto exit;
751 }
752 }
753
754 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
755 !globus_soap_message_serialize_is_c14n_subset(message_handle))
756 {
757
758 0 result = globus_soap_message_attribute_ns_set(
759 message_handle,
760 element_qname,
761 wsp_Compositor_qname.Namespace,
762 &options);
763 0 if(result != GLOBUS_SUCCESS)
764 {
765 0 result = GlobusSoapMessageErrorSerializeFailed(
766 result, NULL, element_qname);
767 0 goto exit;
768 }
769 }
770
771 0 result = globus_soap_message_serialize_element(
772 message_handle,
773 element_qname,
774 options,
775 &wsp_Compositor_qname);
776 0 if(result != GLOBUS_SUCCESS)
777 {
778 0 result = GlobusSoapMessageErrorSerializeFailed(
779 result, NULL, element_qname);
780 0 goto exit;
781 }
782
783 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
784 !globus_soap_message_serialize_is_c14n_subset(message_handle))
785 {
786 0 xsd_QName_init(&type_attr);
787
788 0 type_attr->local = globus_libc_strdup("type");
789 0 type_attr->Namespace = globus_libc_strdup(XSI_NS);
790 }
791
792
793 /* serialize namespaces */
794 0 result = globus_soap_message_element_ns_add(
795 message_handle,
796 element_qname,
797 element_qname->Namespace,
798 &options);
799 0 if(result != GLOBUS_SUCCESS)
800 {
801 0 result = GlobusSoapMessageErrorSerializeFailed(
802 result, NULL, element_qname);
803 0 goto exit;
804 }
805
806 0 result = xsd_anyAttributes_namespace_add(
807 message_handle, element_qname, instance->anyAttributes, &options);
808 0 if(result != GLOBUS_SUCCESS)
809 {
810 0 result = GlobusSoapMessageErrorSerializeAnyAttrsFailed(
811 result, "Failed to add namespace");
812 0 goto exit;
813 }
814
815 0 if(instance->_Id)
816 {
817
818 0 result = globus_soap_message_attribute_ns_add(
819 message_handle,
820 element_qname,
821 "http://schemas.xmlsoap.org/ws/2002/07/utility",
822 &options);
823 0 if(result != GLOBUS_SUCCESS)
824 {
825 xsd_QName error_qname;
826 0 error_qname.local = prefix;
827 0 error_qname.Namespace = "http://schemas.xmlsoap.org/ws/2002/07/utility";
828 0 result = GlobusSoapMessageErrorSerializeFailed(result,
829 NULL,
830 &error_qname);
831 0 goto exit;
832 }
833
834 }
835
836 0 if(instance->_Preference)
837 {
838
839 0 result = globus_soap_message_attribute_ns_add(
840 message_handle,
841 element_qname,
842 "http://schemas.xmlsoap.org/ws/2002/12/policy",
843 &options);
844 0 if(result != GLOBUS_SUCCESS)
845 {
846 xsd_QName error_qname;
847 0 error_qname.local = prefix;
848 0 error_qname.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
849 0 result = GlobusSoapMessageErrorSerializeFailed(result,
850 NULL,
851 &error_qname);
852 0 goto exit;
853 }
854
855 }
856
857 0 if(instance->_Usage)
858 {
859
860 0 result = globus_soap_message_attribute_ns_add(
861 message_handle,
862 element_qname,
863 "http://schemas.xmlsoap.org/ws/2002/12/policy",
864 &options);
865 0 if(result != GLOBUS_SUCCESS)
866 {
867 xsd_QName error_qname;
868 0 error_qname.local = prefix;
869 0 error_qname.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
870 0 result = GlobusSoapMessageErrorSerializeFailed(result,
871 NULL,
872 &error_qname);
873 0 goto exit;
874 }
875
876 }
877
878 0 if(((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
879 !globus_soap_message_serialize_is_c14n_subset(message_handle)))
880 {
881 0 result = globus_soap_message_attribute_ns_add(
882 message_handle,
883 element_qname,
884 "http://www.w3.org/2001/XMLSchema-instance",
885 &options);
886 0 if(result != GLOBUS_SUCCESS)
887 {
888 0 result = GlobusSoapMessageErrorSerializeFailed(
889 result, NULL, element_qname);
890 0 goto exit;
891 }
892 }
893 0 if ((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
894 !globus_soap_message_serialize_is_c14n_subset(message_handle))
895 {
896
897 0 result = globus_soap_message_attribute_ns_add(
898 message_handle,
899 element_qname,
900 wsp_Compositor_qname.Namespace,
901 &options);
902 0 if(result != GLOBUS_SUCCESS)
903 {
904 0 result = GlobusSoapMessageErrorSerializeFailed(
905 result, NULL, element_qname);
906 0 goto exit;
907 }
908 }
909
910 /* serialize attributes */
911
912 0 if(instance->anyAttributes)
913 {
914 0 any_attr_keys = xsd_anyAttributes_lex_sort(
915 instance->anyAttributes);
916 0 any_attr_keys_iterator = any_attr_keys;
917 }
918
919 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/07/utility";
920 0 subelement.local = "Id";
921
922 0 if(any_attr_keys_iterator)
923 {
924 0 result = xsd_anyAttributes_serialize_lex_before(
925 message_handle,
926 &any_attr_keys_iterator,
927 instance->anyAttributes,
928 &subelement);
929 0 if(result != GLOBUS_SUCCESS)
930 {
931 0 result = GlobusSoapMessageErrorSerializeFailed(result,
932 NULL,
933 element_qname);
934 0 goto exit;
935 }
936 }
937
938 0 if(instance->_Id)
939 {
940
941 0 result = xsd_ID_serialize_attribute(
942 &subelement,
943 instance->_Id,
944 message_handle,
945 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
946 0 if(result != GLOBUS_SUCCESS)
947 {
948 0 result = GlobusSoapMessageErrorSerializeFailed(result,
949 NULL,
950 element_qname);
951 0 goto exit;
952 }
953
954 }
955
956 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
957 0 subelement.local = "Preference";
958
959 0 if(any_attr_keys_iterator)
960 {
961 0 result = xsd_anyAttributes_serialize_lex_before(
962 message_handle,
963 &any_attr_keys_iterator,
964 instance->anyAttributes,
965 &subelement);
966 0 if(result != GLOBUS_SUCCESS)
967 {
968 0 result = GlobusSoapMessageErrorSerializeFailed(result,
969 NULL,
970 element_qname);
971 0 goto exit;
972 }
973 }
974
975 0 if(instance->_Preference)
976 {
977
978 0 result = xsd_int_serialize_attribute(
979 &subelement,
980 instance->_Preference,
981 message_handle,
982 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
983 0 if(result != GLOBUS_SUCCESS)
984 {
985 0 result = GlobusSoapMessageErrorSerializeFailed(result,
986 NULL,
987 element_qname);
988 0 goto exit;
989 }
990
991 }
992
993 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
994 0 subelement.local = "Usage";
995
996 0 if(any_attr_keys_iterator)
997 {
998 0 result = xsd_anyAttributes_serialize_lex_before(
999 message_handle,
1000 &any_attr_keys_iterator,
1001 instance->anyAttributes,
1002 &subelement);
1003 0 if(result != GLOBUS_SUCCESS)
1004 {
1005 0 result = GlobusSoapMessageErrorSerializeFailed(result,
1006 NULL,
1007 element_qname);
1008 0 goto exit;
1009 }
1010 }
1011
1012 0 if(instance->_Usage)
1013 {
1014
1015 0 result = wsp_OpenUsageType_serialize_attribute(
1016 &subelement,
1017 instance->_Usage,
1018 message_handle,
1019 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
1020 0 if(result != GLOBUS_SUCCESS)
1021 {
1022 0 result = GlobusSoapMessageErrorSerializeFailed(result,
1023 NULL,
1024 element_qname);
1025 0 goto exit;
1026 }
1027
1028 }
1029
1030 0 if(any_attr_keys_iterator)
1031 {
1032 0 result = xsd_anyAttributes_serialize_lex_before(
1033 message_handle,
1034 &any_attr_keys_iterator,
1035 instance->anyAttributes,
1036 type_attr);
1037 0 if(result != GLOBUS_SUCCESS)
1038 {
1039 0 result = GlobusSoapMessageErrorSerializeFailed(result,
1040 NULL,
1041 element_qname);
1042 0 goto exit;
1043 }
1044 }
1045
1046 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
1047 !globus_soap_message_serialize_is_c14n_subset(message_handle))
1048 {
1049 0 result = globus_soap_message_serialize_QName_attribute(
1050 message_handle,
1051 type_attr,
1052 &wsp_Compositor_qname);
1053 0 if(result != GLOBUS_SUCCESS)
1054 {
1055 0 result = GlobusSoapMessageErrorSerializeFailed(
1056 result, NULL, element_qname);
1057 0 goto exit;
1058 }
1059 }
1060
1061
1062 }
1063
1064 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
1065 {
1066 0 result = globus_soap_message_serialize_element_begin_close(
1067 message_handle, element_qname);
1068 0 if(result != GLOBUS_SUCCESS)
1069 {
1070 0 result = GlobusSoapMessageErrorSerializeFailed(
1071 result, NULL, element_qname);
1072 0 goto exit;
1073 }
1074 }
1075 0 options &= ~GLOBUS_XSD_ELEMENT_CONTENTS_ONLY;
1076
1077
1078 /* serialize contents of type */
1079
1080 0 subelement.local = "CompositorContent";
1081 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
1082
1083 0 result = GlobusXSDArrayCheckLowerBounds(
1084 1,
1085 instance->CompositorContent.length,
1086 "CompositorContent");
1087 0 if(result != GLOBUS_SUCCESS)
1088 {
1089 0 result = GlobusSoapMessageErrorSerializeFailed(
1090 result, NULL, &wsp_CompositorContent_group_qname);
1091 0 goto exit;
1092 }
1093
1094 0 result = wsp_CompositorContent_group_array_serialize(
1095 &subelement,
1096 &instance->CompositorContent,
1097 message_handle,
1098 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
1099 0 if(result != GLOBUS_SUCCESS)
1100 {
1101 0 result = GlobusSoapMessageErrorSerializeFailed(
1102 result, NULL, &wsp_CompositorContent_group_qname);
1103 0 goto exit;
1104 }
1105
1106 0 options = save_options;
1107
1108 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
1109 {
1110 /* add end element */
1111 0 result = globus_soap_message_serialize_element_end(
1112 message_handle,
1113 element_qname,
1114 options,
1115 &wsp_Compositor_qname);
1116 0 if(result != GLOBUS_SUCCESS)
1117 {
1118 0 result = GlobusSoapMessageErrorSerializeFailed(
1119 result, NULL, element_qname);
1120 0 goto exit;
1121 }
1122
1123 0 globus_soap_message_element_ns_remove(
1124 message_handle,
1125 element_qname->Namespace,
1126 &options);
1127
1128 /* remove namespace/prefix mappings for these types */
1129
1130 0 result = xsd_anyAttributes_namespace_remove(
1131 message_handle, instance->anyAttributes, &options);
1132 0 if(result != GLOBUS_SUCCESS)
1133 {
1134 0 result = GlobusSoapMessageErrorSerializeAnyAttrsFailed(
1135 result, "Failed to remove namespace");
1136 0 goto exit;
1137 }
1138
1139 0 if(instance->_Id)
1140 {
1141
1142 0 globus_soap_message_attribute_ns_remove(
1143 message_handle,
1144 "http://schemas.xmlsoap.org/ws/2002/07/utility",
1145 &options);
1146
1147 }
1148
1149 0 if(instance->_Preference)
1150 {
1151
1152 0 globus_soap_message_attribute_ns_remove(
1153 message_handle,
1154 "http://schemas.xmlsoap.org/ws/2002/12/policy",
1155 &options);
1156
1157 }
1158
1159 0 if(instance->_Usage)
1160 {
1161
1162 0 globus_soap_message_attribute_ns_remove(
1163 message_handle,
1164 "http://schemas.xmlsoap.org/ws/2002/12/policy",
1165 &options);
1166
1167 }
1168
1169 0 if(((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
1170 !globus_soap_message_serialize_is_c14n_subset(message_handle)))
1171 {
1172 0 globus_soap_message_attribute_ns_remove(
1173 message_handle,
1174 "http://www.w3.org/2001/XMLSchema-instance",
1175 &options);
1176 }
1177 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
1178 !globus_soap_message_serialize_is_c14n_subset(message_handle))
1179 {
1180 0 globus_soap_message_attribute_ns_remove(
1181 message_handle,
1182 wsp_Compositor_qname.Namespace,
1183 &options);
1184 }
1185
1186 }
1187
1188 0 exit:
1189 0 if (type_attr)
1190 {
1191 0 xsd_QName_destroy(type_attr);
1192 }
1193
1194
1195 0 if(any_attr_keys)
1196 {
1197 0 globus_list_free(any_attr_keys);
1198 }
1199
1200 0 GlobusSoapMessageDebugExit();
1201 0 return result;
1202 }
1203
1204
1205
1206 globus_result_t
1207 wsp_Compositor_deserialize_contents(
1208 const xsd_QName * element_qname, /* ignored */
1209 wsp_Compositor * inst,
1210 globus_soap_message_handle_t message_handle,
1211 globus_xsd_element_options_t options)
1212 0 {
1213 0 globus_result_t result = GLOBUS_SUCCESS;
1214 GlobusFuncName(wsp_Compositor_deserialize_contents);
1215 0 GlobusSoapMessageDebugEnter();
1216
1217 0 result = wsp_Compositor_deserialize(
1218 NULL,
1219 inst,
1220 message_handle,
1221 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
1222 0 if(result != GLOBUS_SUCCESS)
1223 {
1224 0 result = GlobusSoapMessageErrorDeserializeFailed(
1225 result, element_qname);
1226 0 goto exit;
1227 }
1228
1229 0 exit:
1230
1231 0 GlobusSoapMessageDebugExit();
1232 0 return result;
1233 }
1234
1235
1236
1237 globus_result_t
1238 wsp_Compositor_deserialize(
1239 const xsd_QName * element_qname,
1240 wsp_Compositor * instance,
1241 globus_soap_message_handle_t message_handle,
1242 globus_xsd_element_options_t options)
1243 0 {
1244 0 globus_result_t result = GLOBUS_SUCCESS;
1245 xsd_QName subelement;
1246 GlobusFuncName(wsp_Compositor_deserialize);
1247 0 GlobusSoapMessageDebugEnter();
1248
1249
1250 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
1251 {
1252 0 result = globus_soap_message_deserialize_element(
1253 message_handle, element_qname);
1254 0 if(result != GLOBUS_SUCCESS)
1255 {
1256 0 result = GlobusSoapMessageErrorDeserializeFailed(
1257 result, element_qname);
1258 0 goto exit;
1259 }
1260
1261 0 result = xsd_anyAttributes_init(&instance->anyAttributes);
1262 0 if(result != GLOBUS_SUCCESS)
1263 {
1264 0 result = GlobusSoapMessageErrorDeserializeFailed(
1265 result, element_qname);
1266 0 goto xsd_anyAttributes_after_destroy;
1267 }
1268 0 subelement.Namespace = "##any";
1269 0 subelement.local = "anyAttributes";
1270
1271 0 result = xsd_anyAttributes_deserialize(
1272 message_handle,
1273 instance->anyAttributes,
1274 &subelement);
1275 0 if(result != GLOBUS_SUCCESS)
1276 {
1277 0 result = GlobusSoapMessageErrorDeserializeFailed(
1278 result, element_qname);
1279 0 goto xsd_anyAttributes_destroy;
1280 }
1281
1282 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/07/utility";
1283 0 subelement.local = "Id";
1284
1285 0 result = xsd_ID_deserialize_attribute_pointer(
1286 &subelement,
1287 &instance->_Id,
1288 message_handle,
1289 0);
1290 0 if(result != GLOBUS_SUCCESS)
1291 {
1292 0 result = GlobusSoapMessageErrorDeserializeFailed(result, &subelement);
1293 0 goto _Id_destroy;
1294 }
1295
1296
1297 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
1298 0 subelement.local = "Preference";
1299
1300 0 result = xsd_int_deserialize_attribute_pointer(
1301 &subelement,
1302 &instance->_Preference,
1303 message_handle,
1304 0);
1305 0 if(result != GLOBUS_SUCCESS)
1306 {
1307 0 result = GlobusSoapMessageErrorDeserializeFailed(result, &subelement);
1308 0 goto _Preference_destroy;
1309 }
1310
1311
1312 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
1313 0 subelement.local = "Usage";
1314
1315 0 result = wsp_OpenUsageType_deserialize_attribute_pointer(
1316 &subelement,
1317 &instance->_Usage,
1318 message_handle,
1319 0);
1320 0 if(result != GLOBUS_SUCCESS)
1321 {
1322 0 result = GlobusSoapMessageErrorDeserializeFailed(result, &subelement);
1323 0 goto _Usage_destroy;
1324 }
1325
1326
1327
1328 0 result = globus_soap_message_deserialize_element_begin_close(
1329 message_handle);
1330 0 if(result != GLOBUS_SUCCESS)
1331 {
1332 0 result = GlobusSoapMessageErrorDeserializeFailed(
1333 result, element_qname);
1334 0 goto fail_deserialize;
1335 }
1336 }
1337
1338 0 subelement.local = "CompositorContent";
1339 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
1340
1341 0 result = wsp_CompositorContent_group_array_deserialize(
1342 &subelement,
1343 &instance->CompositorContent,
1344 message_handle,
1345 0);
1346 0 if(result != GLOBUS_SUCCESS)
1347 {
1348 0 result = GlobusSoapMessageErrorDeserializeFailed(
1349 result,
1350 (&subelement));
1351 0 goto CompositorContent_destroy_array;
1352 }
1353
1354 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
1355 {
1356 0 result = globus_soap_message_deserialize_element_end(
1357 message_handle,
1358 element_qname);
1359 0 if(result != GLOBUS_SUCCESS)
1360 {
1361 0 result = GlobusSoapMessageErrorDeserializeFailed(
1362 result, element_qname);
1363 0 goto fail_deserialize;
1364 }
1365 }
1366
1367 0 goto exit;
1368
1369 0 fail_deserialize:
1370
1371 0 xsd_anyAttributes_destroy:
1372 0 xsd_anyAttributes_destroy(instance->anyAttributes);
1373 0 instance->anyAttributes = NULL;
1374 0 xsd_anyAttributes_after_destroy:
1375
1376 0 _Usage_destroy:
1377 /* output_fail_destroy_attribute() */
1378
1379 0 if(instance->_Usage)
1380 {
1381 0 wsp_OpenUsageType_destroy(
1382 instance->_Usage);
1383 0 instance->_Usage = NULL;
1384 }
1385
1386 0 _Preference_destroy:
1387 /* output_fail_destroy_attribute() */
1388
1389 0 if(instance->_Preference)
1390 {
1391 0 xsd_int_destroy(
1392 instance->_Preference);
1393 0 instance->_Preference = NULL;
1394 }
1395
1396 0 _Id_destroy:
1397 /* output_fail_destroy_attribute() */
1398
1399 0 if(instance->_Id)
1400 {
1401 0 xsd_ID_destroy(
1402 instance->_Id);
1403 0 instance->_Id = NULL;
1404 }
1405 0 wsp_CompositorContent_group_array_destroy_contents(
1406 &instance->CompositorContent);
1407
1408 0 CompositorContent_destroy_array:
1409
1410
1411 0 exit:
1412
1413 0 GlobusSoapMessageDebugExit();
1414 0 return result;
1415 }
1416
1417
1418
1419 globus_result_t
1420 wsp_Compositor_deserialize_pointer(
1421 const xsd_QName * element_qname,
1422 wsp_Compositor ** ip,
1423 globus_soap_message_handle_t message_handle,
1424 globus_xsd_element_options_t options)
1425 0 {
1426 0 wsp_Compositor * instance = NULL;
1427 0 globus_result_t result = GLOBUS_SUCCESS;
1428 xsd_QName subelement;
1429 0 int found_attrs = 0;
1430 0 int empty_element = 0;
1431 GlobusFuncName(wsp_Compositor_deserialize_pointer);
1432 0 GlobusSoapMessageDebugEnter();
1433
1434 0 *ip = NULL;
1435
1436 0 result = globus_soap_message_deserialize_element(
1437 message_handle, element_qname);
1438 0 if(result != GLOBUS_SUCCESS &&
1439 (GlobusSoapMessageStatusElementNotFoundCheck(result) ||
1440 GlobusSoapMessageStatusFailedElementCheck(result) ||
1441 GlobusSoapMessageStatusFailedWithTextCheck(result)))
1442 {
1443 0 result = GLOBUS_SUCCESS;
1444 0 goto exit;
1445 }
1446
1447 0 if(result != GLOBUS_SUCCESS)
1448 {
1449 0 result = GlobusSoapMessageErrorDeserializeFailed(
1450 result, element_qname);
1451 0 goto exit;
1452 }
1453
1454 0 if(globus_soap_message_deserialize_element_is_empty(
1455 message_handle))
1456 {
1457 0 empty_element = 1;
1458 }
1459
1460 0 result = wsp_Compositor_init(&instance);
1461 0 if(result != GLOBUS_SUCCESS)
1462 {
1463 0 result = GlobusSoapMessageErrorDeserializeFailed(
1464 result, element_qname);
1465 0 goto exit;
1466 }
1467
1468
1469 0 result = xsd_anyAttributes_init(&instance->anyAttributes);
1470 0 if(result != GLOBUS_SUCCESS)
1471 {
1472 0 result = GlobusSoapMessageErrorDeserializeFailed(
1473 result, element_qname);
1474 0 goto xsd_anyAttributes_after_destroy;
1475 }
1476 0 subelement.Namespace = "##any";
1477 0 subelement.local = "anyAttributes";
1478
1479 0 result = xsd_anyAttributes_deserialize(
1480 message_handle,
1481 instance->anyAttributes,
1482 &subelement);
1483 0 if(result != GLOBUS_SUCCESS)
1484 {
1485 0 result = GlobusSoapMessageErrorDeserializeFailed(
1486 result, element_qname);
1487 0 goto xsd_anyAttributes_destroy;
1488 }
1489
1490 0 if(instance->anyAttributes &&
1491 xsd_anyAttributes_size(instance->anyAttributes) > 0)
1492 {
1493 0 found_attrs++;
1494 }
1495
1496 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/07/utility";
1497 0 subelement.local = "Id";
1498
1499 0 result = xsd_ID_deserialize_attribute_pointer(
1500 &subelement,
1501 &instance->_Id,
1502 message_handle,
1503 0);
1504 0 if(result != GLOBUS_SUCCESS)
1505 {
1506 0 result = GlobusSoapMessageErrorDeserializeFailed(result, &subelement);
1507 0 goto _Id_destroy;
1508 }
1509
1510
1511 0 if(instance->_Id)
1512 {
1513 0 found_attrs++;
1514 }
1515
1516 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
1517 0 subelement.local = "Preference";
1518
1519 0 result = xsd_int_deserialize_attribute_pointer(
1520 &subelement,
1521 &instance->_Preference,
1522 message_handle,
1523 0);
1524 0 if(result != GLOBUS_SUCCESS)
1525 {
1526 0 result = GlobusSoapMessageErrorDeserializeFailed(result, &subelement);
1527 0 goto _Preference_destroy;
1528 }
1529
1530
1531 0 if(instance->_Preference)
1532 {
1533 0 found_attrs++;
1534 }
1535
1536 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
1537 0 subelement.local = "Usage";
1538
1539 0 result = wsp_OpenUsageType_deserialize_attribute_pointer(
1540 &subelement,
1541 &instance->_Usage,
1542 message_handle,
1543 0);
1544 0 if(result != GLOBUS_SUCCESS)
1545 {
1546 0 result = GlobusSoapMessageErrorDeserializeFailed(result, &subelement);
1547 0 goto _Usage_destroy;
1548 }
1549
1550
1551 0 if(instance->_Usage)
1552 {
1553 0 found_attrs++;
1554 }
1555
1556 0 if(found_attrs == 0 &&
1557 globus_soap_message_deserialize_element_is_nil(message_handle))
1558 {
1559 0 wsp_Compositor_destroy(instance);
1560
1561 0 result = globus_soap_message_deserialize_element_end(
1562 message_handle,
1563 element_qname);
1564 0 if(result != GLOBUS_SUCCESS)
1565 {
1566 0 result = GlobusSoapMessageErrorDeserializeFailed(
1567 result, element_qname);
1568 0 goto exit;
1569 }
1570
1571 0 *ip = NULL;
1572 0 globus_object_free(globus_error_get(result));
1573 0 result = GLOBUS_SUCCESS;
1574 0 goto exit;
1575 }
1576
1577 0 if(empty_element)
1578 {
1579 0 result = globus_soap_message_deserialize_element_end(
1580 message_handle,
1581 element_qname);
1582 0 if(result != GLOBUS_SUCCESS)
1583 {
1584 0 result = GlobusSoapMessageErrorDeserializeFailed(
1585 result, element_qname);
1586 0 goto fail_deserialize;
1587 }
1588
1589 0 *ip = instance;
1590 0 goto exit;
1591 }
1592
1593 0 result = globus_soap_message_deserialize_element_begin_close(
1594 message_handle);
1595 0 if(result != GLOBUS_SUCCESS)
1596 {
1597 0 result = GlobusSoapMessageErrorDeserializeFailed(
1598 result, element_qname);
1599 0 goto exit;
1600 }
1601
1602 0 result = wsp_Compositor_deserialize(
1603 element_qname,
1604 instance,
1605 message_handle,
1606 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
1607 0 if(result != GLOBUS_SUCCESS)
1608 {
1609 0 result = GlobusSoapMessageErrorDeserializeFailed(
1610 result, element_qname);
1611 0 goto exit;
1612 }
1613
1614 0 result = globus_soap_message_deserialize_element_end(
1615 message_handle,
1616 element_qname);
1617 0 if(result != GLOBUS_SUCCESS)
1618 {
1619 0 result = GlobusSoapMessageErrorDeserializeFailed(
1620 result, element_qname);
1621 0 goto fail_deserialize;
1622 }
1623
1624 0 *ip = instance;
1625
1626 0 goto exit;
1627
1628 0 fail_deserialize:
1629
1630 0 xsd_anyAttributes_destroy:
1631 0 xsd_anyAttributes_destroy(instance->anyAttributes);
1632 0 instance->anyAttributes = NULL;
1633 0 xsd_anyAttributes_after_destroy:
1634
1635 0 _Usage_destroy:
1636 /* output_fail_destroy_attribute() */
1637
1638 0 if(instance->_Usage)
1639 {
1640 0 wsp_OpenUsageType_destroy(
1641 instance->_Usage);
1642 0 instance->_Usage = NULL;
1643 }
1644
1645 0 _Preference_destroy:
1646 /* output_fail_destroy_attribute() */
1647
1648 0 if(instance->_Preference)
1649 {
1650 0 xsd_int_destroy(
1651 instance->_Preference);
1652 0 instance->_Preference = NULL;
1653 }
1654
1655 0 _Id_destroy:
1656 /* output_fail_destroy_attribute() */
1657
1658 0 if(instance->_Id)
1659 {
1660 0 xsd_ID_destroy(
1661 instance->_Id);
1662 0 instance->_Id = NULL;
1663 }
1664 0 wsp_CompositorContent_group_array_destroy_contents(
1665 &instance->CompositorContent);
1666
1667 0 CompositorContent_destroy_array:
1668
1669 0 exit:
1670
1671 0 GlobusSoapMessageDebugExit();
1672 0 return result;
1673 }
1674
1675
1676 globus_result_t
1677 wsp_Compositor_array_init_contents(
1678 wsp_Compositor_array * array)
1679 0 {
1680 0 return globus_xsd_generic_array_init_contents(
1681 (globus_xsd_generic_array_t *) array,
1682 &wsp_Compositor_info);
1683 }
1684 /* wsp_Compositor_array_init_contents() */
1685
1686 globus_result_t
1687 wsp_Compositor_array_init(
1688 wsp_Compositor_array ** arr)
1689 0 {
1690 0 return globus_xsd_generic_array_init(
1691 (globus_xsd_generic_array_t **) arr,
1692 &wsp_Compositor_info);
1693 }
1694 /* wsp_Compositor_array_init() */
1695
1696 void
1697 wsp_Compositor_array_destroy_contents(
1698 wsp_Compositor_array * array)
1699 0 {
1700 0 globus_xsd_generic_array_destroy_contents(
1701 (globus_xsd_generic_array_t *) array);
1702 0 }
1703 /* wsp_Compositor_array_destroy_contents() */
1704
1705 void
1706 wsp_Compositor_array_destroy(
1707 wsp_Compositor_array * array)
1708 0 {
1709 0 globus_xsd_generic_array_destroy(
1710 (globus_xsd_generic_array_t *) array);
1711 0 }
1712 /* wsp_Compositor_array_destroy() */
1713
1714 globus_result_t
1715 wsp_Compositor_array_copy(
1716 wsp_Compositor_array ** dest_arr,
1717 const wsp_Compositor_array * src_arr)
1718 0 {
1719 0 return globus_xsd_generic_array_copy(
1720 (globus_xsd_generic_array_t **) dest_arr,
1721 (globus_xsd_generic_array_t *) src_arr);
1722 }
1723 /* wsp_Compositor_array_copy() */
1724
1725 globus_result_t
1726 wsp_Compositor_array_copy_contents(
1727 wsp_Compositor_array * dest_arr,
1728 const wsp_Compositor_array * src_arr)
1729 0 {
1730 0 return globus_xsd_generic_array_copy_contents(
1731 (globus_xsd_generic_array_t *) dest_arr,
1732 (globus_xsd_generic_array_t *) src_arr);
1733 }
1734 /* wsp_Compositor_array_copy_contents() */
1735
1736 wsp_Compositor *
1737 wsp_Compositor_array_push(
1738 wsp_Compositor_array * array)
1739 0 {
1740 /* Some contents initializers don't initialize subelments but to set their
1741 * values to be NULL
1742 */
1743 0 if (array->type_info == NULL)
1744 {
1745 0 array->type_info = &wsp_Compositor_info;
1746 }
1747
1748 0 return globus_xsd_generic_array_push(
1749 (globus_xsd_generic_array_t *) array);
1750 }
1751 /* wsp_Compositor_array_push() */
1752
1753 globus_result_t
1754 wsp_Compositor_array_serialize(
1755 const xsd_QName * element_qname,
1756 const wsp_Compositor_array * array,
1757 globus_soap_message_handle_t message,
1758 globus_xsd_element_options_t options)
1759 0 {
1760 0 return globus_xsd_generic_array_serialize(
1761 element_qname,
1762 (const globus_xsd_generic_array_t *) array,
1763 message,
1764 options);
1765 }
1766 /* wsp_Compositor_array_serialize() */
1767
1768 globus_result_t
1769 wsp_Compositor_array_deserialize(
1770 const xsd_QName * element_qname,
1771 wsp_Compositor_array * array,
1772 globus_soap_message_handle_t message,
1773 globus_xsd_element_options_t options)
1774 0 {
1775 /* Some initializers set the array's contents to NULL */
1776 0 if (array->type_info == NULL)
1777 {
1778 0 array->type_info = &wsp_Compositor_info;
1779 }
1780 0 return globus_xsd_generic_array_deserialize(
1781 element_qname,
1782 (globus_xsd_generic_array_t *) array,
1783 message,
1784 options);