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