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