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