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