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