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_CompositorContent_group.h"
26 #include "globus_xsd_generic_array.h"
27
28 xsd_QName wsp_CompositorContent_group_choice_qname =
29 {
30 "http://schemas.xmlsoap.org/ws/2002/12/policy",
31 "CompositorContent_group_choice"
32 };
33
34 static
35 globus_result_t
36 wsp_CompositorContent_group_choice_serialize_wrapper(
37 const xsd_QName * element_qname,
38 const void * instance,
39 globus_soap_message_handle_t message_handle,
40 globus_xsd_element_options_t options)
41 0 {
42 0 return wsp_CompositorContent_group_choice_serialize(
43 element_qname,
44 (wsp_CompositorContent_group_choice *) instance,
45 message_handle, options);
46 }
47
48 static
49 globus_result_t
50 wsp_CompositorContent_group_choice_deserialize_pointer_wrapper(
51 const xsd_QName * element_qname,
52 void ** ip,
53 globus_soap_message_handle_t message_handle,
54 globus_xsd_element_options_t options)
55 0 {
56 0 return wsp_CompositorContent_group_choice_deserialize_pointer(
57 element_qname,
58 (wsp_CompositorContent_group_choice **) ip,
59 message_handle, options);
60 }
61
62 static
63 globus_result_t
64 wsp_CompositorContent_group_choice_init_wrapper(void **object)
65 0 {
66 0 return wsp_CompositorContent_group_choice_init(
67 (wsp_CompositorContent_group_choice **) object);
68 }
69
70 static
71 void
72 wsp_CompositorContent_group_choice_destroy_wrapper(
73 void * object)
74 0 {
75 0 wsp_CompositorContent_group_choice_destroy(
76 (wsp_CompositorContent_group_choice *) object);
77 0 }
78
79 static
80 globus_result_t
81 wsp_CompositorContent_group_choice_copy_wrapper(
82 void ** dest_obj,
83 const void * src_obj)
84 0 {
85 0 return wsp_CompositorContent_group_choice_copy(
86 (wsp_CompositorContent_group_choice **) dest_obj,
87 (wsp_CompositorContent_group_choice *) src_obj);
88 }
89
90 static
91 globus_result_t
92 wsp_CompositorContent_group_choice_init_contents_wrapper(void *object)
93 0 {
94 0 return wsp_CompositorContent_group_choice_init_contents(
95 (wsp_CompositorContent_group_choice *) object);
96 }
97
98 static
99 void
100 wsp_CompositorContent_group_choice_destroy_contents_wrapper(
101 void * object)
102 0 {
103 0 wsp_CompositorContent_group_choice_destroy_contents(
104 (wsp_CompositorContent_group_choice *) object);
105 0 }
106
107 static
108 globus_result_t
109 wsp_CompositorContent_group_choice_copy_contents_wrapper(
110 void * dest_obj,
111 const void * src_obj)
112 0 {
113 0 return wsp_CompositorContent_group_choice_copy_contents(
114 (wsp_CompositorContent_group_choice *) dest_obj,
115 (wsp_CompositorContent_group_choice *) src_obj);
116 }
117
118 static
119 globus_result_t
120 wsp_CompositorContent_group_choice_serialize_contents_wrapper(
121 const xsd_QName * element_qname,
122 const void * instance,
123 globus_soap_message_handle_t message_handle,
124 globus_xsd_element_options_t options)
125 0 {
126 0 return wsp_CompositorContent_group_choice_serialize_contents(
127 element_qname,
128 (const wsp_CompositorContent_group_choice *) instance,
129 message_handle, options);
130 }
131
132 static
133 globus_result_t
134 wsp_CompositorContent_group_choice_deserialize_contents_wrapper(
135 const xsd_QName * element_qname,
136 void ** instance,
137 globus_soap_message_handle_t message_handle,
138 globus_xsd_element_options_t options)
139 0 {
140 globus_result_t result;
141 GlobusFuncName(wsp_CompositorContent_group_choice_deserialize_contents_wrapper);
142 0 GlobusSoapMessageDebugEnter();
143
144 0 if(!*instance)
145 {
146 0 result = wsp_CompositorContent_group_choice_init(
147 (wsp_CompositorContent_group_choice **)instance);
148 0 if(result != GLOBUS_SUCCESS)
149 {
150 0 goto error;
151 }
152 }
153
154 0 result = wsp_CompositorContent_group_choice_deserialize_contents(
155 element_qname,
156 *(wsp_CompositorContent_group_choice **)instance,
157 message_handle, options);
158 0 error:
159 0 GlobusSoapMessageDebugExit();
160 0 return result;
161 }
162
163 static
164 globus_result_t
165 wsp_CompositorContent_group_choice_array_serialize_wrapper(
166 const xsd_QName * element,
167 const void * instance,
168 globus_soap_message_handle_t message,
169 globus_xsd_element_options_t options)
170 0 {
171 0 return wsp_CompositorContent_group_choice_array_serialize(
172 element,
173 (wsp_CompositorContent_group_choice_array *) instance,
174 message, options);
175 }
176
177 static
178 globus_result_t
179 wsp_CompositorContent_group_choice_array_deserialize_wrapper(
180 const xsd_QName * element_qname,
181 void ** inst,
182 globus_soap_message_handle_t message,
183 globus_xsd_element_options_t options)
184 0 {
185 0 if(!*inst)
186 {
187 globus_result_t result;
188
189 0 result = wsp_CompositorContent_group_choice_array_init(
190 (wsp_CompositorContent_group_choice_array **)inst);
191 0 if(result != GLOBUS_SUCCESS)
192 {
193 0 return result;
194 }
195 }
196
197 0 return wsp_CompositorContent_group_choice_array_deserialize(
198 element_qname,
199 *(wsp_CompositorContent_group_choice_array **) inst,
200 message, options);
201 }
202
203 static
204 globus_result_t
205 wsp_CompositorContent_group_choice_array_init_wrapper(
206 void ** arr)
207 0 {
208 0 return wsp_CompositorContent_group_choice_array_init(
209 (wsp_CompositorContent_group_choice_array **) arr);
210 }
211
212 static
213 void
214 wsp_CompositorContent_group_choice_array_destroy_wrapper(
215 void * arr)
216 0 {
217 0 wsp_CompositorContent_group_choice_array_destroy(
218 (wsp_CompositorContent_group_choice_array *) arr);
219 0 }
220
221 static
222 globus_result_t
223 wsp_CompositorContent_group_choice_array_copy_wrapper(
224 void ** dest_arr,
225 const void * src_arr)
226 0 {
227 0 return wsp_CompositorContent_group_choice_array_copy(
228 (wsp_CompositorContent_group_choice_array **) dest_arr,
229 (const wsp_CompositorContent_group_choice_array *) src_arr);
230 }
231
232 static
233 globus_result_t
234 wsp_CompositorContent_group_choice_array_init_contents_wrapper(
235 void * arr)
236 0 {
237 0 return wsp_CompositorContent_group_choice_array_init_contents(
238 (wsp_CompositorContent_group_choice_array *) arr);
239 }
240
241 static
242 void
243 wsp_CompositorContent_group_choice_array_destroy_contents_wrapper(
244 void * arr)
245 0 {
246 0 wsp_CompositorContent_group_choice_array_destroy_contents(
247 (wsp_CompositorContent_group_choice_array *) arr);
248 0 }
249
250 static
251 globus_result_t
252 wsp_CompositorContent_group_choice_array_copy_contents_wrapper(
253 void * dest_arr,
254 const void * src_arr)
255 0 {
256 0 return wsp_CompositorContent_group_choice_array_copy_contents(
257 (wsp_CompositorContent_group_choice_array *) dest_arr,
258 (const wsp_CompositorContent_group_choice_array *) src_arr);
259 }
260
261 static
262 void *
263 wsp_CompositorContent_group_choice_array_push_wrapper(
264 void * array)
265 0 {
266 0 return (void *) wsp_CompositorContent_group_choice_array_push(
267 (wsp_CompositorContent_group_choice_array *) array);
268 }
269
270 struct globus_xsd_type_info_s wsp_CompositorContent_group_choice_array_info =
271 {
272 &wsp_CompositorContent_group_choice_qname,
273 wsp_CompositorContent_group_choice_array_serialize_wrapper,
274 wsp_CompositorContent_group_choice_array_deserialize_wrapper,
275 wsp_CompositorContent_group_choice_array_init_wrapper,
276 wsp_CompositorContent_group_choice_array_destroy_wrapper,
277 wsp_CompositorContent_group_choice_array_copy_wrapper,
278 wsp_CompositorContent_group_choice_array_init_contents_wrapper,
279 wsp_CompositorContent_group_choice_array_destroy_contents_wrapper,
280 wsp_CompositorContent_group_choice_array_copy_contents_wrapper,
281 sizeof(wsp_CompositorContent_group_choice),
282 wsp_CompositorContent_group_choice_array_push_wrapper,
283 NULL,
284 NULL
285 };
286
287 struct globus_xsd_type_info_s wsp_CompositorContent_group_choice_contents_info =
288 {
289 &wsp_CompositorContent_group_choice_qname,
290 wsp_CompositorContent_group_choice_serialize_contents_wrapper,
291 wsp_CompositorContent_group_choice_deserialize_contents_wrapper,
292 wsp_CompositorContent_group_choice_init_wrapper,
293 wsp_CompositorContent_group_choice_destroy_wrapper,
294 wsp_CompositorContent_group_choice_copy_wrapper,
295 wsp_CompositorContent_group_choice_init_contents_wrapper,
296 wsp_CompositorContent_group_choice_destroy_contents_wrapper,
297 wsp_CompositorContent_group_choice_copy_contents_wrapper,
298 sizeof(wsp_CompositorContent_group_choice),
299 NULL,
300 NULL,
301 NULL
302 };
303
304 struct globus_xsd_type_info_s wsp_CompositorContent_group_choice_info =
305 {
306 &wsp_CompositorContent_group_choice_qname,
307 wsp_CompositorContent_group_choice_serialize_wrapper,
308 wsp_CompositorContent_group_choice_deserialize_pointer_wrapper,
309 wsp_CompositorContent_group_choice_init_wrapper,
310 wsp_CompositorContent_group_choice_destroy_wrapper,
311 wsp_CompositorContent_group_choice_copy_wrapper,
312 wsp_CompositorContent_group_choice_init_contents_wrapper,
313 wsp_CompositorContent_group_choice_destroy_contents_wrapper,
314 wsp_CompositorContent_group_choice_copy_contents_wrapper,
315 sizeof(wsp_CompositorContent_group_choice),
316 NULL,
317 &wsp_CompositorContent_group_choice_contents_info,
318 &wsp_CompositorContent_group_choice_array_info
319 };
320
321 globus_result_t
322 wsp_CompositorContent_group_choice_init_contents(
323 wsp_CompositorContent_group_choice * instance)
324 0 {
325 0 globus_result_t result = GLOBUS_SUCCESS;
326 GlobusFuncName(wsp_CompositorContent_group_choice_init_contents);
327 0 GlobusSoapMessageDebugEnter();
328
329 0 memset(instance, 0, sizeof(wsp_CompositorContent_group));
330
331 0 GlobusSoapMessageDebugExit();
332 0 return result;
333 }
334
335 globus_result_t
336 wsp_CompositorContent_group_choice_init(
337 wsp_CompositorContent_group_choice ** object)
338 0 {
339 wsp_CompositorContent_group_choice * instance;
340 0 globus_result_t result = GLOBUS_SUCCESS;
341 GlobusFuncName(wsp_CompositorContent_group_choice_init);
342 0 GlobusSoapMessageDebugEnter();
343
344 0 instance = globus_malloc(sizeof(wsp_CompositorContent_group_choice));
345 0 if(!instance)
346 {
347 0 result = GlobusSoapMessageErrorOutOfMemory;
348 0 goto exit;
349 }
350
351 0 memset(instance, 0, sizeof(wsp_CompositorContent_group_choice));
352
353 0 *object = instance;
354
355 0 exit:
356 0 GlobusSoapMessageDebugExit();
357 0 return result;
358 }
359
360 void
361 wsp_CompositorContent_group_choice_destroy(
362 wsp_CompositorContent_group_choice * instance)
363 0 {
364 GlobusFuncName(wsp_CompositorContent_group_choice_destroy);
365 0 GlobusSoapMessageDebugEnter();
366
367 0 if(!instance)
368 {
369 0 goto exit;
370 }
371
372 0 wsp_CompositorContent_group_choice_destroy_contents(instance);
373 0 free(instance);
374
375 0 exit:
376
377 0 GlobusSoapMessageDebugExit();
378 0 }
379
380
381
382 void
383 wsp_CompositorContent_group_choice_destroy_contents(
384 wsp_CompositorContent_group_choice * instance)
385 0 {
386 GlobusFuncName(wsp_CompositorContent_group_choice_destroy_contents);
387 0 GlobusSoapMessageDebugEnter();
388
389 0 switch(instance->type)
390 {
391
392 case wsp_CompositorContent_group_OneOrMore:
393
394 0 wsp_Compositor_destroy_contents(
395 &instance->value.OneOrMore);
396 0 break;
397
398 case wsp_CompositorContent_group_All:
399
400 0 wsp_Compositor_destroy_contents(
401 &instance->value.All);
402 0 break;
403
404 case wsp_CompositorContent_group_ExactlyOne:
405
406 0 wsp_Compositor_destroy_contents(
407 &instance->value.ExactlyOne);
408 0 break;
409
410 case wsp_CompositorContent_group_PolicyReference:
411
412 0 wsp_PolicyReferenceType_destroy_contents(
413 &instance->value.PolicyReference);
414 0 break;
415
416 case wsp_CompositorContent_group_PolicyAssertions:
417
418 0 wsp_PolicyAssertions_group_destroy_contents(
419 &instance->value.PolicyAssertions);
420 0 break;
421
422 case wsp_CompositorContent_group_any:
423
424 0 xsd_any_destroy_contents(
425 &instance->value.any);
426 break;
427
428 default:
429 break;
430 }
431
432 0 instance->type = wsp_CompositorContent_group_undefined;
433
434 0 GlobusSoapMessageDebugExit();
435 0 }
436
437 globus_result_t
438 wsp_CompositorContent_group_choice_copy(
439 wsp_CompositorContent_group_choice ** dest_obj,
440 const wsp_CompositorContent_group_choice * src_obj)
441 0 {
442 0 globus_result_t result = GLOBUS_SUCCESS;
443 wsp_CompositorContent_group_choice * instance;
444 GlobusFuncName(wsp_CompositorContent_group_choice_copy);
445
446 0 GlobusSoapMessageDebugEnter();
447
448 0 instance = malloc(sizeof(wsp_CompositorContent_group_choice));
449 0 if (instance == NULL)
450 {
451 0 GlobusSoapMessageDebugExit();
452 0 return GlobusSoapMessageErrorOutOfMemory;
453 }
454
455 0 result = wsp_CompositorContent_group_choice_copy_contents(instance, src_obj);
456 0 if(result != GLOBUS_SUCCESS)
457 {
458 0 globus_free(instance);
459 0 GlobusSoapMessageDebugExit();
460 0 return GlobusSoapMessageErrorOutOfMemory;
461 }
462
463 0 *dest_obj = instance;
464 0 GlobusSoapMessageDebugExit();
465 0 return result;
466 }
467
468
469
470 globus_result_t
471 wsp_CompositorContent_group_choice_copy_contents(
472 wsp_CompositorContent_group_choice * instance,
473 const wsp_CompositorContent_group_choice * src_obj)
474 0 {
475 xsd_QName subelement;
476 0 globus_result_t result = GLOBUS_SUCCESS;
477 GlobusFuncName(wsp_CompositorContent_group_choice_copy_contents);
478
479 0 GlobusSoapMessageDebugEnter();
480
481 0 switch(src_obj->type)
482 {
483
484 case wsp_CompositorContent_group_OneOrMore:
485 0 instance->type = wsp_CompositorContent_group_OneOrMore;
486 0 result = wsp_Compositor_copy_contents(
487 &instance->value.OneOrMore,
488 &src_obj->value.OneOrMore);
489 0 if(result != GLOBUS_SUCCESS)
490 {
491 0 result = GlobusSoapMessageErrorSerializeFailed(
492 result, NULL, &wsp_CompositorContent_group_choice_qname);
493 0 goto exit;
494 }
495
496 0 break;
497
498 case wsp_CompositorContent_group_All:
499 0 instance->type = wsp_CompositorContent_group_All;
500 0 result = wsp_Compositor_copy_contents(
501 &instance->value.All,
502 &src_obj->value.All);
503 0 if(result != GLOBUS_SUCCESS)
504 {
505 0 result = GlobusSoapMessageErrorSerializeFailed(
506 result, NULL, &wsp_CompositorContent_group_choice_qname);
507 0 goto exit;
508 }
509
510 0 break;
511
512 case wsp_CompositorContent_group_ExactlyOne:
513 0 instance->type = wsp_CompositorContent_group_ExactlyOne;
514 0 result = wsp_Compositor_copy_contents(
515 &instance->value.ExactlyOne,
516 &src_obj->value.ExactlyOne);
517 0 if(result != GLOBUS_SUCCESS)
518 {
519 0 result = GlobusSoapMessageErrorSerializeFailed(
520 result, NULL, &wsp_CompositorContent_group_choice_qname);
521 0 goto exit;
522 }
523
524 0 break;
525
526 case wsp_CompositorContent_group_PolicyReference:
527 0 instance->type = wsp_CompositorContent_group_PolicyReference;
528 0 result = wsp_PolicyReferenceType_copy_contents(
529 &instance->value.PolicyReference,
530 &src_obj->value.PolicyReference);
531 0 if(result != GLOBUS_SUCCESS)
532 {
533 0 result = GlobusSoapMessageErrorSerializeFailed(
534 result, NULL, &wsp_CompositorContent_group_choice_qname);
535 0 goto exit;
536 }
537
538 0 break;
539
540 case wsp_CompositorContent_group_PolicyAssertions:
541 0 instance->type = wsp_CompositorContent_group_PolicyAssertions;
542 0 result = wsp_PolicyAssertions_group_copy_contents(
543 &instance->value.PolicyAssertions,
544 &src_obj->value.PolicyAssertions);
545 0 if(result != GLOBUS_SUCCESS)
546 {
547 0 result = GlobusSoapMessageErrorSerializeFailed(
548 result, NULL, &wsp_CompositorContent_group_choice_qname);
549 0 goto exit;
550 }
551
552 0 break;
553
554 case wsp_CompositorContent_group_any:
555 0 instance->type = wsp_CompositorContent_group_any;
556 0 result = xsd_any_copy_contents(
557 &instance->value.any,
558 &src_obj->value.any);
559 0 if(result != GLOBUS_SUCCESS)
560 {
561 0 result = GlobusSoapMessageErrorSerializeFailed(
562 result, NULL, &wsp_CompositorContent_group_choice_qname);
563 0 goto exit;
564 }
565
566 break;
567
568 default:
569 break;
570 }
571
572 0 exit:
573
574 0 GlobusSoapMessageDebugExit();
575 0 return result;
576 }
577
578
579
580
581
582 globus_result_t
583 wsp_CompositorContent_group_choice_serialize_contents(
584 const xsd_QName * element_qname, /* ignored */
585 const wsp_CompositorContent_group_choice * instance,
586 globus_soap_message_handle_t message_handle,
587 globus_xsd_element_options_t options)
588 0 {
589 xsd_QName subelement;
590 0 globus_result_t result = GLOBUS_SUCCESS;
591 GlobusFuncName(wsp_CompositorContent_group_choice_serialize_contents);
592 0 GlobusSoapMessageDebugEnter();
593
594 0 switch(instance->type)
595 {
596
597 case wsp_CompositorContent_group_OneOrMore:
598
599 0 subelement.local = "OneOrMore";
600 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
601 0 result = wsp_Compositor_serialize(
602 &subelement,
603 &instance->value.OneOrMore,
604 message_handle,
605 options);
606 0 if(result != GLOBUS_SUCCESS)
607 {
608 0 result = GlobusSoapMessageErrorSerializeFailed(
609 result, NULL, &wsp_CompositorContent_group_choice_qname);
610 0 goto exit;
611 }
612
613 0 break;
614
615 case wsp_CompositorContent_group_All:
616
617 0 subelement.local = "All";
618 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
619 0 result = wsp_Compositor_serialize(
620 &subelement,
621 &instance->value.All,
622 message_handle,
623 options);
624 0 if(result != GLOBUS_SUCCESS)
625 {
626 0 result = GlobusSoapMessageErrorSerializeFailed(
627 result, NULL, &wsp_CompositorContent_group_choice_qname);
628 0 goto exit;
629 }
630
631 0 break;
632
633 case wsp_CompositorContent_group_ExactlyOne:
634
635 0 subelement.local = "ExactlyOne";
636 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
637 0 result = wsp_Compositor_serialize(
638 &subelement,
639 &instance->value.ExactlyOne,
640 message_handle,
641 options);
642 0 if(result != GLOBUS_SUCCESS)
643 {
644 0 result = GlobusSoapMessageErrorSerializeFailed(
645 result, NULL, &wsp_CompositorContent_group_choice_qname);
646 0 goto exit;
647 }
648
649 0 break;
650
651 case wsp_CompositorContent_group_PolicyReference:
652
653 0 subelement.local = "PolicyReference";
654 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
655 0 result = wsp_PolicyReferenceType_serialize(
656 &subelement,
657 &instance->value.PolicyReference,
658 message_handle,
659 options);
660 0 if(result != GLOBUS_SUCCESS)
661 {
662 0 result = GlobusSoapMessageErrorSerializeFailed(
663 result, NULL, &wsp_CompositorContent_group_choice_qname);
664 0 goto exit;
665 }
666
667 0 break;
668
669 case wsp_CompositorContent_group_PolicyAssertions:
670
671 0 subelement.local = "PolicyAssertions";
672 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
673 0 result = wsp_PolicyAssertions_group_serialize(
674 &subelement,
675 &instance->value.PolicyAssertions,
676 message_handle,
677 options);
678 0 if(result != GLOBUS_SUCCESS)
679 {
680 0 result = GlobusSoapMessageErrorSerializeFailed(
681 result, NULL, &wsp_CompositorContent_group_choice_qname);
682 0 goto exit;
683 }
684
685 0 break;
686
687 case wsp_CompositorContent_group_any:
688
689 0 subelement.local = "any";
690 0 subelement.Namespace = "http://www.w3.org/2001/XMLSchema";
691 0 result = xsd_any_serialize(
692 &subelement,
693 &instance->value.any,
694 message_handle,
695 options);
696 0 if(result != GLOBUS_SUCCESS)
697 {
698 0 result = GlobusSoapMessageErrorSerializeFailed(
699 result, NULL, &wsp_CompositorContent_group_choice_qname);
700 0 goto exit;
701 }
702
703 break;
704
705 default:
706 break;
707 }
708
709 0 exit:
710
711 0 GlobusSoapMessageDebugExit();
712 0 return result;
713 }
714
715
716
717 globus_result_t
718 wsp_CompositorContent_group_choice_serialize(
719 const xsd_QName * element_qname,
720 const wsp_CompositorContent_group_choice * instance,
721 globus_soap_message_handle_t message_handle,
722 globus_xsd_element_options_t options)
723 0 {
724 0 globus_result_t result = GLOBUS_SUCCESS;
725 GlobusFuncName(wsp_CompositorContent_group_choice_serialize);
726 0 GlobusSoapMessageDebugEnter();
727
728 0 result = wsp_CompositorContent_group_choice_serialize_contents(
729 element_qname,
730 instance,
731 message_handle,
732 options);
733 0 if(result != GLOBUS_SUCCESS)
734 {
735 0 result = GlobusSoapMessageErrorSerializeFailed(
736 result, NULL, &wsp_CompositorContent_group_choice_qname);
737 0 goto exit;
738 }
739
740 0 exit:
741 0 GlobusSoapMessageDebugExit();
742 0 return result;
743 }
744
745
746
747
748
749 globus_result_t
750 wsp_CompositorContent_group_choice_deserialize_contents(
751 const xsd_QName * element_qname, /* ignored */
752 wsp_CompositorContent_group_choice * instance,
753 globus_soap_message_handle_t message_handle,
754 globus_xsd_element_options_t options)
755 0 {
756 0 globus_result_t result = GLOBUS_SUCCESS;
757 GlobusFuncName(wsp_CompositorContent_group_choice_deserialize_contents);
758 0 GlobusSoapMessageDebugEnter();
759
760 0 result = wsp_CompositorContent_group_choice_deserialize(
761 NULL,
762 instance,
763 message_handle,
764 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
765 0 if(result != GLOBUS_SUCCESS)
766 {
767 0 result = GlobusSoapMessageErrorDeserializeFailed(
768 result, element_qname);
769 0 goto exit;
770 }
771
772 0 exit:
773
774 0 GlobusSoapMessageDebugExit();
775 0 return result;
776 }
777
778
779
780 globus_result_t
781 wsp_CompositorContent_group_choice_deserialize(
782 const xsd_QName * element_qname,
783 wsp_CompositorContent_group_choice * instance,
784 globus_soap_message_handle_t message_handle,
785 globus_xsd_element_options_t options)
786 0 {
787 0 globus_result_t result = GLOBUS_SUCCESS;
788 xsd_QName subelement;
789 0 xsd_QName deselem_qname = { NULL, NULL } ;
790 GlobusFuncName(wsp_CompositorContent_group_choice_deserialize);
791 0 GlobusSoapMessageDebugEnter();
792
793 0 xsd_QName_init_contents(&deselem_qname);
794
795 0 result = globus_soap_message_deserialize_element_unknown(
796 message_handle, &deselem_qname);
797 0 if(result != GLOBUS_SUCCESS)
798 {
799 0 result = GlobusSoapMessageErrorDeserializeFailed(
800 result, &wsp_CompositorContent_group_choice_qname);
801 0 goto exit;
802 }
803
804 /*
805 if(globus_soap_message_deserialize_element_is_nil(message_handle))
806 {
807 xsd_QName_destroy_contents(&deselem_qname);
808 result = globus_soap_message_deserialize_element_end(
809 message_handle,
810 element_qname);
811 if(result != GLOBUS_SUCCESS)
812 {
813 result = GlobusSoapMessageErrorDeserializeFailed(
814 result, &wsp_CompositorContent_group_choice_qname);
815 goto exit;
816 }
817 }
818 */
819
820 0 globus_soap_message_deserialize_push_element(message_handle);
821
822 0 subelement.local = "OneOrMore";
823 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
824 0 if(xsd_QName_keyeq((void *)&subelement, (void *)&deselem_qname))
825 {
826 0 instance->type=wsp_CompositorContent_group_OneOrMore;
827 0 result = wsp_Compositor_deserialize(
828 &subelement,
829 &instance->value.OneOrMore,
830 message_handle,
831 options);
832 0 if(result != GLOBUS_SUCCESS)
833 {
834 0 result = GlobusSoapMessageErrorDeserializeFailed(
835 result, &wsp_CompositorContent_group_choice_qname);
836 0 goto OneOrMore_destroy;
837 }
838
839 0 goto exit;
840 }
841
842 0 subelement.local = "All";
843 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
844 0 if(xsd_QName_keyeq((void *)&subelement, (void *)&deselem_qname))
845 {
846 0 instance->type=wsp_CompositorContent_group_All;
847 0 result = wsp_Compositor_deserialize(
848 &subelement,
849 &instance->value.All,
850 message_handle,
851 options);
852 0 if(result != GLOBUS_SUCCESS)
853 {
854 0 result = GlobusSoapMessageErrorDeserializeFailed(
855 result, &wsp_CompositorContent_group_choice_qname);
856 0 goto All_destroy;
857 }
858
859 0 goto exit;
860 }
861
862 0 subelement.local = "ExactlyOne";
863 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
864 0 if(xsd_QName_keyeq((void *)&subelement, (void *)&deselem_qname))
865 {
866 0 instance->type=wsp_CompositorContent_group_ExactlyOne;
867 0 result = wsp_Compositor_deserialize(
868 &subelement,
869 &instance->value.ExactlyOne,
870 message_handle,
871 options);
872 0 if(result != GLOBUS_SUCCESS)
873 {
874 0 result = GlobusSoapMessageErrorDeserializeFailed(
875 result, &wsp_CompositorContent_group_choice_qname);
876 0 goto ExactlyOne_destroy;
877 }
878
879 0 goto exit;
880 }
881
882 0 subelement.local = "PolicyReference";
883 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
884 0 if(xsd_QName_keyeq((void *)&subelement, (void *)&deselem_qname))
885 {
886 0 instance->type=wsp_CompositorContent_group_PolicyReference;
887 0 result = wsp_PolicyReferenceType_deserialize(
888 &subelement,
889 &instance->value.PolicyReference,
890 message_handle,
891 options);
892 0 if(result != GLOBUS_SUCCESS)
893 {
894 0 result = GlobusSoapMessageErrorDeserializeFailed(
895 result, &wsp_CompositorContent_group_choice_qname);
896 0 goto PolicyReference_destroy;
897 }
898
899 0 goto exit;
900 }
901
902 0 subelement.local = "PolicyAssertions";
903 0 subelement.Namespace = "http://schemas.xmlsoap.org/ws/2002/12/policy";
904 0 if(xsd_QName_keyeq((void *)&subelement, (void *)&deselem_qname))
905 {
906 0 instance->type=wsp_CompositorContent_group_PolicyAssertions;
907 0 result = wsp_PolicyAssertions_group_deserialize(
908 &subelement,
909 &instance->value.PolicyAssertions,
910 message_handle,
911 options);
912 0 if(result != GLOBUS_SUCCESS)
913 {
914 0 result = GlobusSoapMessageErrorDeserializeFailed(
915 result, &wsp_CompositorContent_group_choice_qname);
916 0 goto PolicyAssertions_destroy;
917 }
918
919 0 goto exit;
920 }
921
922 0 subelement.local = "any";
923
924 0 subelement.Namespace = "##other{http://schemas.xmlsoap.org/ws/2002/12/policy}";
925
926
927 /* try to parse as any element */
928 0 result = xsd_any_deserialize(
929 &subelement,
930 &instance->value.any,
931 message_handle,
932 options);
933 0 if(result != GLOBUS_SUCCESS)
934 {
935 0 result = GlobusSoapMessageErrorDeserializeFailed(
936 result, &wsp_CompositorContent_group_choice_qname);
937 0 goto any_destroy;
938 }
939 else
940 {
941 0 instance->type=wsp_CompositorContent_group_any;
942 0 goto exit;
943 }
944
945 instance->type = wsp_CompositorContent_group_undefined;
946 result = GlobusSoapMessageErrorDeserializeFailed(
947 result, &wsp_CompositorContent_group_choice_qname);
948
949 goto exit;
950
951 0 deserialize_failed:
952
953 0 any_destroy:
954
955 0 PolicyAssertions_destroy:
956
957 0 PolicyReference_destroy:
958
959 0 ExactlyOne_destroy:
960
961 0 All_destroy:
962
963 0 OneOrMore_destroy:
964
965 0 exit:
966
967 0 xsd_QName_destroy_contents(&deselem_qname);
968
969 0 GlobusSoapMessageDebugExit();
970 0 return result;
971 }
972
973
974
975 globus_result_t
976 wsp_CompositorContent_group_choice_deserialize_pointer(
977 const xsd_QName * element_qname,
978 wsp_CompositorContent_group_choice ** ip,
979 globus_soap_message_handle_t message_handle,
980 globus_xsd_element_options_t options)
981 0 {
982 0 wsp_CompositorContent_group_choice * instance = NULL;
983 0 globus_result_t result = GLOBUS_SUCCESS;
984 xsd_QName subelement;
985 GlobusFuncName(wsp_CompositorContent_group_choice_deserialize_pointer);
986 0 GlobusSoapMessageDebugEnter();
987
988 0 *ip = NULL;
989
990 0 result = wsp_CompositorContent_group_choice_init(&instance);
991 0 if(result != GLOBUS_SUCCESS)
992 {
993 0 result = GlobusSoapMessageErrorDeserializeFailed(
994 result, element_qname);
995 0 goto exit;
996 }
997
998 0 result = wsp_CompositorContent_group_choice_deserialize(
999 element_qname,
1000 instance,
1001 message_handle,
1002 options);
1003 0 if(result != GLOBUS_SUCCESS)
1004 {
1005 0 goto exit;
1006 }
1007
1008 0 *ip = instance;
1009
1010 0 exit:
1011
1012 0 GlobusSoapMessageDebugExit();
1013 0 return result;
1014 }
1015
1016
1017
1018 globus_result_t
1019 wsp_CompositorContent_group_choice_array_init_contents(
1020 wsp_CompositorContent_group_choice_array * array)
1021 0 {
1022 0 return globus_xsd_generic_array_init_contents(
1023 (globus_xsd_generic_array_t *) array,
1024 &wsp_CompositorContent_group_choice_array_info);
1025 }
1026 /* wsp_CompositorContent_group_choice_array_init_contents() */
1027
1028 globus_result_t
1029 wsp_CompositorContent_group_choice_array_init(
1030 wsp_CompositorContent_group_choice_array ** arr)
1031 0 {
1032 0 return globus_xsd_generic_array_init(
1033 (globus_xsd_generic_array_t **) arr,
1034 &wsp_CompositorContent_group_choice_info);
1035 }
1036 /* wsp_CompositorContent_group_choice_array_init() */
1037
1038 void
1039 wsp_CompositorContent_group_choice_array_destroy_contents(
1040 wsp_CompositorContent_group_choice_array * array)
1041 0 {
1042 0 globus_xsd_generic_array_destroy_contents(
1043 (globus_xsd_generic_array_t *) array);
1044 0 }
1045 /* wsp_CompositorContent_group_choice_array_destroy_contents() */
1046
1047 void
1048 wsp_CompositorContent_group_choice_array_destroy(
1049 wsp_CompositorContent_group_choice_array * array)
1050 0 {
1051 0 globus_xsd_generic_array_destroy(
1052 (globus_xsd_generic_array_t *) array);
1053 0 }
1054 /* wsp_CompositorContent_group_choice_array_destroy() */
1055
1056 globus_result_t
1057 wsp_CompositorContent_group_choice_array_copy(
1058 wsp_CompositorContent_group_choice_array ** dest_arr,
1059 const wsp_CompositorContent_group_choice_array * src_arr)
1060 0 {
1061 0 return globus_xsd_generic_array_copy(
1062 (globus_xsd_generic_array_t **) dest_arr,
1063 (const globus_xsd_generic_array_t *) src_arr);
1064 }
1065 /* wsp_CompositorContent_group_choice_array_copy() */
1066
1067 globus_result_t
1068 wsp_CompositorContent_group_choice_array_copy_contents(
1069 wsp_CompositorContent_group_choice_array * dest_arr,
1070 const wsp_CompositorContent_group_choice_array * src_arr)
1071 0 {
1072 0 return globus_xsd_generic_array_copy_contents(
1073 (globus_xsd_generic_array_t *) dest_arr,
1074 (const globus_xsd_generic_array_t *) src_arr);
1075 }
1076
1077 wsp_CompositorContent_group_choice *
1078 wsp_CompositorContent_group_choice_array_push(
1079 wsp_CompositorContent_group_choice_array * array)
1080 0 {
1081 /* Some contents initializers don't initialize subelments but to set their
1082 * values to be NULL
1083 */
1084 0 if (array->type_info == NULL)
1085 {
1086 0 array->type_info = &wsp_CompositorContent_group_choice_info;
1087 }
1088 0 return globus_xsd_generic_array_push(
1089 (globus_xsd_generic_array_t *) array);
1090 }
1091 /* wsp_CompositorContent_group_choice_array_push() */
1092
1093 globus_result_t
1094 wsp_CompositorContent_group_choice_array_serialize(
1095 const xsd_QName * element_qname,
1096 const wsp_CompositorContent_group_choice_array * array,
1097 globus_soap_message_handle_t message,
1098 globus_xsd_element_options_t options)
1099 0 {
1100 0 return globus_xsd_generic_array_serialize(
1101 element_qname,
1102 (const globus_xsd_generic_array_t *) array,
1103 message,
1104 options);
1105 }
1106 /* wsp_CompositorContent_group_choice_array_serialize() */
1107
1108 globus_result_t
1109 wsp_CompositorContent_group_choice_array_deserialize(
1110 const xsd_QName * element_qname,
1111 wsp_CompositorContent_group_choice_array * array,
1112 globus_soap_message_handle_t message,
1113 globus_xsd_element_options_t options)
1114 0 {
1115 /* Some initializers set the array's contents to NULL */
1116 0 if (array->type_info == NULL)
1117 {
1118 0 array->type_info = &wsp_CompositorContent_group_choice_info;
1119 }
1120 0 return globus_xsd_generic_array_deserialize(
1121 element_qname,
1122 (globus_xsd_generic_array_t *) array,
1123 message,
1124 options);
1125 }