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 from source-type-simple-doclit.tmpl
20 */
21
22 #include "xsd_QName.h"
23 #include "globus_soap_message.h"
24 #include "globus_xsd_type_info.h"
25 #include "wsacompat_FaultSubcodeValues.h"
26 #include "globus_xsd_generic_array.h"
27
28 xsd_QName wsacompat_FaultSubcodeValues_qname =
29 {
30 "http://schemas.xmlsoap.org/ws/2004/03/addressing",
31 "FaultSubcodeValues"
32 };
33
34
35 xsd_QName wsacompat_FaultSubcodeValues_wsacompat_InvalidMessageInformationHeader =
36 {
37 "http://schemas.xmlsoap.org/ws/2004/03/addressing",
38 "InvalidMessageInformationHeader"
39 };
40
41 xsd_QName wsacompat_FaultSubcodeValues_wsacompat_MessageInformationHeaderRequired =
42 {
43 "http://schemas.xmlsoap.org/ws/2004/03/addressing",
44 "MessageInformationHeaderRequired"
45 };
46
47 xsd_QName wsacompat_FaultSubcodeValues_wsacompat_DestinationUnreachable =
48 {
49 "http://schemas.xmlsoap.org/ws/2004/03/addressing",
50 "DestinationUnreachable"
51 };
52
53 xsd_QName wsacompat_FaultSubcodeValues_wsacompat_ActionNotSupported =
54 {
55 "http://schemas.xmlsoap.org/ws/2004/03/addressing",
56 "ActionNotSupported"
57 };
58
59 xsd_QName wsacompat_FaultSubcodeValues_wsacompat_EndpointUnavailable =
60 {
61 "http://schemas.xmlsoap.org/ws/2004/03/addressing",
62 "EndpointUnavailable"
63 };
64
65 static
66 globus_bool_t
67 wsacompat_FaultSubcodeValues_l_is_valid_restriction(
68 const wsacompat_FaultSubcodeValues * instance);
69
70
71 static
72 globus_result_t
73 wsacompat_FaultSubcodeValues_serialize_wrapper(
74 const xsd_QName * element_qname,
75 const void * instance,
76 globus_soap_message_handle_t message_handle,
77 globus_xsd_element_options_t options)
78 0 {
79 0 return wsacompat_FaultSubcodeValues_serialize(
80 element_qname,
81 (wsacompat_FaultSubcodeValues *) instance,
82 message_handle, options);
83 }
84
85 static
86 globus_result_t
87 wsacompat_FaultSubcodeValues_deserialize_pointer_wrapper(
88 const xsd_QName * element_qname,
89 void ** ip,
90 globus_soap_message_handle_t message_handle,
91 globus_xsd_element_options_t options)
92 0 {
93 0 return wsacompat_FaultSubcodeValues_deserialize_pointer(
94 element_qname,
95 (wsacompat_FaultSubcodeValues **) ip,
96 message_handle, options);
97 }
98
99 globus_result_t
100 wsacompat_FaultSubcodeValues_init_wrapper(void **object)
101 0 {
102 0 return wsacompat_FaultSubcodeValues_init(
103 (wsacompat_FaultSubcodeValues **) object);
104 }
105
106 static
107 void
108 wsacompat_FaultSubcodeValues_destroy_wrapper(
109 void * object)
110 0 {
111 0 wsacompat_FaultSubcodeValues_destroy(
112 (wsacompat_FaultSubcodeValues *) object);
113 0 }
114
115 static
116 globus_result_t
117 wsacompat_FaultSubcodeValues_copy_wrapper(
118 void ** dest_obj,
119 const void * src_obj)
120 0 {
121 0 return wsacompat_FaultSubcodeValues_copy(
122 (wsacompat_FaultSubcodeValues **) dest_obj,
123 (const wsacompat_FaultSubcodeValues *) src_obj);
124 }
125
126 static
127 globus_result_t
128 wsacompat_FaultSubcodeValues_init_contents_wrapper(void *object)
129 0 {
130 0 return wsacompat_FaultSubcodeValues_init_contents(
131 (wsacompat_FaultSubcodeValues *) object);
132 }
133
134 static
135 void
136 wsacompat_FaultSubcodeValues_destroy_contents_wrapper(
137 void * object)
138 0 {
139 0 wsacompat_FaultSubcodeValues_destroy_contents(
140 (wsacompat_FaultSubcodeValues *) object);
141 0 }
142
143 static
144 globus_result_t
145 wsacompat_FaultSubcodeValues_copy_contents_wrapper(
146 void * dest_obj,
147 const void * src_obj)
148 0 {
149 0 return wsacompat_FaultSubcodeValues_copy_contents(
150 (wsacompat_FaultSubcodeValues *) dest_obj,
151 (const wsacompat_FaultSubcodeValues *) src_obj);
152 }
153
154 static
155 globus_result_t
156 wsacompat_FaultSubcodeValues_serialize_contents_wrapper(
157 const xsd_QName * element_qname,
158 const void * instance,
159 globus_soap_message_handle_t message_handle,
160 globus_xsd_element_options_t options)
161 0 {
162 0 return wsacompat_FaultSubcodeValues_serialize_contents(
163 element_qname,
164 (wsacompat_FaultSubcodeValues *) instance,
165 message_handle, options);
166 }
167
168 static
169 globus_result_t
170 wsacompat_FaultSubcodeValues_deserialize_contents_wrapper(
171 const xsd_QName * element_qname,
172 void ** instance,
173 globus_soap_message_handle_t message_handle,
174 globus_xsd_element_options_t options)
175 0 {
176 globus_result_t result;
177 GlobusFuncName(wsacompat_FaultSubcodeValues_deserialize_contents_wrapper);
178 0 GlobusSoapMessageDebugEnter();
179
180 0 if(!*instance)
181 {
182 0 result = wsacompat_FaultSubcodeValues_init(
183 (wsacompat_FaultSubcodeValues **)instance);
184 0 if(result != GLOBUS_SUCCESS)
185 {
186 0 goto error;
187 }
188 }
189
190 0 result = wsacompat_FaultSubcodeValues_deserialize_contents(
191 element_qname,
192 *(wsacompat_FaultSubcodeValues **)instance,
193 message_handle, options);
194 0 error:
195 0 GlobusSoapMessageDebugExit();
196 0 return result;
197 }
198
199 static
200 globus_result_t
201 wsacompat_FaultSubcodeValues_array_serialize_wrapper(
202 const xsd_QName * element,
203 const void * instance,
204 globus_soap_message_handle_t message,
205 globus_xsd_element_options_t options)
206 0 {
207 0 return wsacompat_FaultSubcodeValues_array_serialize(
208 element,
209 (wsacompat_FaultSubcodeValues_array *) instance,
210 message, options);
211 }
212
213 static
214 globus_result_t
215 wsacompat_FaultSubcodeValues_array_deserialize_wrapper(
216 const xsd_QName * element_qname,
217 void ** inst,
218 globus_soap_message_handle_t message,
219 globus_xsd_element_options_t options)
220 0 {
221 0 if(!*inst)
222 {
223 globus_result_t result;
224
225 0 result = wsacompat_FaultSubcodeValues_array_init(
226 (wsacompat_FaultSubcodeValues_array **)inst);
227 0 if(result != GLOBUS_SUCCESS)
228 {
229 0 return result;
230 }
231 }
232
233 0 return wsacompat_FaultSubcodeValues_array_deserialize(
234 element_qname,
235 *(wsacompat_FaultSubcodeValues_array **) inst,
236 message, options);
237 }
238
239 static
240 globus_result_t
241 wsacompat_FaultSubcodeValues_array_init_wrapper(
242 void ** arr)
243 0 {
244 0 return wsacompat_FaultSubcodeValues_array_init(
245 (wsacompat_FaultSubcodeValues_array **) arr);
246 }
247
248 static
249 void
250 wsacompat_FaultSubcodeValues_array_destroy_wrapper(
251 void * arr)
252 0 {
253 0 wsacompat_FaultSubcodeValues_array_destroy(
254 (wsacompat_FaultSubcodeValues_array *) arr);
255 0 }
256
257 static
258 globus_result_t
259 wsacompat_FaultSubcodeValues_array_copy_wrapper(
260 void ** dest_arr,
261 const void * src_arr)
262 0 {
263 0 return wsacompat_FaultSubcodeValues_array_copy(
264 (wsacompat_FaultSubcodeValues_array **) dest_arr,
265 (const wsacompat_FaultSubcodeValues_array *) src_arr);
266 }
267
268 static
269 globus_result_t
270 wsacompat_FaultSubcodeValues_array_init_contents_wrapper(
271 void * arr)
272 0 {
273 0 return wsacompat_FaultSubcodeValues_array_init_contents(
274 (wsacompat_FaultSubcodeValues_array *) arr);
275 }
276
277 static
278 void
279 wsacompat_FaultSubcodeValues_array_destroy_contents_wrapper(
280 void * arr)
281 0 {
282 0 wsacompat_FaultSubcodeValues_array_destroy_contents(
283 (wsacompat_FaultSubcodeValues_array *) arr);
284 0 }
285
286 static
287 globus_result_t
288 wsacompat_FaultSubcodeValues_array_copy_contents_wrapper(
289 void * dest_arr,
290 const void * src_arr)
291 0 {
292 0 return wsacompat_FaultSubcodeValues_array_copy_contents(
293 (wsacompat_FaultSubcodeValues_array *) dest_arr,
294 (const wsacompat_FaultSubcodeValues_array *) src_arr);
295 }
296
297 static
298 void *
299 wsacompat_FaultSubcodeValues_array_push_wrapper(
300 void * array)
301 0 {
302 0 return (void *) wsacompat_FaultSubcodeValues_array_push((wsacompat_FaultSubcodeValues_array *) array);
303 }
304
305 struct globus_xsd_type_info_s wsacompat_FaultSubcodeValues_array_info =
306 {
307 &wsacompat_FaultSubcodeValues_qname,
308 wsacompat_FaultSubcodeValues_array_serialize_wrapper,
309 wsacompat_FaultSubcodeValues_array_deserialize_wrapper,
310 wsacompat_FaultSubcodeValues_array_init_wrapper,
311 wsacompat_FaultSubcodeValues_array_destroy_wrapper,
312 wsacompat_FaultSubcodeValues_array_copy_wrapper,
313 wsacompat_FaultSubcodeValues_array_init_contents_wrapper,
314 wsacompat_FaultSubcodeValues_array_destroy_contents_wrapper,
315 wsacompat_FaultSubcodeValues_array_copy_contents_wrapper,
316 sizeof(wsacompat_FaultSubcodeValues),
317 wsacompat_FaultSubcodeValues_array_push_wrapper,
318 NULL,
319 NULL
320 };
321
322 struct globus_xsd_type_info_s wsacompat_FaultSubcodeValues_contents_info =
323 {
324 &wsacompat_FaultSubcodeValues_qname,
325 wsacompat_FaultSubcodeValues_serialize_contents_wrapper,
326 wsacompat_FaultSubcodeValues_deserialize_contents_wrapper,
327 wsacompat_FaultSubcodeValues_init_wrapper,
328 wsacompat_FaultSubcodeValues_destroy_wrapper,
329 wsacompat_FaultSubcodeValues_copy_wrapper,
330 wsacompat_FaultSubcodeValues_init_contents_wrapper,
331 wsacompat_FaultSubcodeValues_destroy_contents_wrapper,
332 wsacompat_FaultSubcodeValues_copy_contents_wrapper,
333 sizeof(wsacompat_FaultSubcodeValues),
334 NULL,
335 NULL,
336 NULL
337 };
338
339 struct globus_xsd_type_info_s wsacompat_FaultSubcodeValues_info =
340 {
341 &wsacompat_FaultSubcodeValues_qname,
342 wsacompat_FaultSubcodeValues_serialize_wrapper,
343 wsacompat_FaultSubcodeValues_deserialize_pointer_wrapper,
344 wsacompat_FaultSubcodeValues_init_wrapper,
345 wsacompat_FaultSubcodeValues_destroy_wrapper,
346 wsacompat_FaultSubcodeValues_copy_wrapper,
347 wsacompat_FaultSubcodeValues_init_contents_wrapper,
348 wsacompat_FaultSubcodeValues_destroy_contents_wrapper,
349 wsacompat_FaultSubcodeValues_copy_contents_wrapper,
350 sizeof(wsacompat_FaultSubcodeValues),
351 NULL,
352 &wsacompat_FaultSubcodeValues_contents_info,
353 &wsacompat_FaultSubcodeValues_array_info
354 };
355
356 globus_result_t
357 wsacompat_FaultSubcodeValues_init_contents(
358 wsacompat_FaultSubcodeValues * instance)
359 0 {
360 0 globus_result_t result = GLOBUS_SUCCESS;
361 GlobusFuncName(wsacompat_FaultSubcodeValues_init_contents);
362 0 GlobusSoapMessageDebugEnter();
363
364
365 0 xsd_QName_init_contents(instance);
366
367 0 GlobusSoapMessageDebugExit();
368 0 return result;
369 }
370
371 globus_result_t
372 wsacompat_FaultSubcodeValues_init(
373 wsacompat_FaultSubcodeValues ** object)
374 0 {
375 wsacompat_FaultSubcodeValues * instance;
376 0 globus_result_t result = GLOBUS_SUCCESS;
377 GlobusFuncName(wsacompat_FaultSubcodeValues_init);
378 0 GlobusSoapMessageDebugEnter();
379
380
381 0 xsd_QName_init(object);
382
383 0 GlobusSoapMessageDebugExit();
384 0 return result;
385 }
386
387 void
388 wsacompat_FaultSubcodeValues_destroy(
389 wsacompat_FaultSubcodeValues * instance)
390 0 {
391 GlobusFuncName(wsacompat_FaultSubcodeValues_destroy);
392 0 GlobusSoapMessageDebugEnter();
393
394 0 if(!instance)
395 {
396 0 goto exit;
397 }
398
399 0 wsacompat_FaultSubcodeValues_destroy_contents(instance);
400 0 globus_free(instance);
401
402 0 exit:
403
404 0 GlobusSoapMessageDebugExit();
405 0 }
406
407 void
408 wsacompat_FaultSubcodeValues_destroy_contents(
409 wsacompat_FaultSubcodeValues * instance)
410 0 {
411 GlobusFuncName(wsacompat_FaultSubcodeValues_destroy_contents);
412 0 GlobusSoapMessageDebugEnter();
413
414 0 if(instance)
415 {
416
417
418 0 xsd_QName_destroy_contents(instance);
419
420 }
421
422 0 GlobusSoapMessageDebugExit();
423 0 }
424
425 globus_result_t
426 wsacompat_FaultSubcodeValues_copy(
427 wsacompat_FaultSubcodeValues ** dest_obj,
428 const wsacompat_FaultSubcodeValues * src_obj)
429 0 {
430 0 globus_result_t result = GLOBUS_SUCCESS;
431 wsacompat_FaultSubcodeValues * instance;
432 GlobusFuncName(wsacompat_FaultSubcodeValues_copy);
433
434 0 GlobusSoapMessageDebugEnter();
435
436 0 instance = malloc(sizeof(wsacompat_FaultSubcodeValues));
437 0 if (instance == NULL)
438 {
439 0 GlobusSoapMessageDebugExit();
440 0 return GlobusSoapMessageErrorOutOfMemory;
441 }
442
443 0 result = wsacompat_FaultSubcodeValues_copy_contents(instance, src_obj);
444 0 if(result != GLOBUS_SUCCESS)
445 {
446 0 globus_free(instance);
447 0 GlobusSoapMessageDebugExit();
448 0 return GlobusSoapMessageErrorOutOfMemory;
449 }
450
451 0 *dest_obj = instance;
452 0 GlobusSoapMessageDebugExit();
453 0 return result;
454 }
455
456 globus_result_t
457 wsacompat_FaultSubcodeValues_copy_contents(
458 wsacompat_FaultSubcodeValues * instance,
459 const wsacompat_FaultSubcodeValues * src_obj)
460 0 {
461 0 globus_result_t result = GLOBUS_SUCCESS;
462 GlobusFuncName(wsacompat_FaultSubcodeValues_copy_contents);
463
464 0 GlobusSoapMessageDebugEnter();
465
466
467 0 result = xsd_QName_copy_contents(
468 instance, src_obj);
469
470 goto exit;
471
472 0 fail_copy:
473
474
475 0 exit:
476
477 0 GlobusSoapMessageDebugExit();
478 0 return result;
479 }
480
481
482
483 globus_result_t
484 wsacompat_FaultSubcodeValues_serialize_contents(
485 const xsd_QName * element_qname, /* ignored */
486 const wsacompat_FaultSubcodeValues * inst,
487 globus_soap_message_handle_t message_handle,
488 globus_xsd_element_options_t options)
489 0 {
490 0 globus_result_t result = GLOBUS_SUCCESS;
491 GlobusFuncName(wsacompat_FaultSubcodeValues_serialize_contents);
492 0 GlobusSoapMessageDebugEnter();
493
494 0 result = wsacompat_FaultSubcodeValues_serialize(
495 NULL,
496 inst,
497 message_handle,
498 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
499 0 if(result != GLOBUS_SUCCESS)
500 {
501 0 result = GlobusSoapMessageErrorSerializeFailed(
502 result, NULL, element_qname);
503 0 goto exit;
504 }
505
506 0 exit:
507
508 0 GlobusSoapMessageDebugExit();
509 0 return result;
510 }
511
512
513
514 globus_result_t
515 wsacompat_FaultSubcodeValues_serialize(
516 const xsd_QName * element_qname,
517 const wsacompat_FaultSubcodeValues * instance,
518 globus_soap_message_handle_t message_handle,
519 globus_xsd_element_options_t options)
520 0 {
521 0 globus_result_t result = GLOBUS_SUCCESS;
522 xsd_QName subelement;
523 0 globus_list_t * any_attr_keys = NULL;
524 0 globus_list_t * any_attr_keys_iterator = NULL;
525 0 xsd_QName * type_attr = NULL;
526 0 char * type_value = NULL;
527 0 char * prefix = NULL;
528 int prefix_created;
529 0 int define_prefix = 0;
530 int i;
531 0 char * type_attr_prefix = NULL;
532
533 GlobusFuncName(wsacompat_FaultSubcodeValues_serialize);
534 0 GlobusSoapMessageDebugEnter();
535
536
537 0 if (!wsacompat_FaultSubcodeValues_l_is_valid_restriction(instance))
538 {
539 0 result = GlobusSoapMessageErrorSerializeFailed(result,
540 NULL,
541 element_qname);
542
543 0 goto exit;
544
545 }
546
547 0 result = xsd_QName_serialize(
548 element_qname,
549 instance,
550 message_handle,
551 options);
552
553 0 exit:
554
555 0 if(any_attr_keys)
556 {
557 0 globus_list_free(any_attr_keys);
558 }
559
560 0 GlobusSoapMessageDebugExit();
561 0 return result;
562 }
563
564
565
566 globus_result_t
567 wsacompat_FaultSubcodeValues_deserialize_contents(
568 const xsd_QName * element_qname, /* ignored */
569 wsacompat_FaultSubcodeValues * inst,
570 globus_soap_message_handle_t message_handle,
571 globus_xsd_element_options_t options)
572 0 {
573 0 globus_result_t result = GLOBUS_SUCCESS;
574 GlobusFuncName(wsacompat_FaultSubcodeValues_deserialize_contents);
575 0 GlobusSoapMessageDebugEnter();
576
577 0 result = wsacompat_FaultSubcodeValues_deserialize(
578 NULL,
579 inst,
580 message_handle,
581 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
582 0 if(result != GLOBUS_SUCCESS)
583 {
584 0 result = GlobusSoapMessageErrorDeserializeFailed(
585 result, element_qname);
586 0 goto exit;
587 }
588
589 0 exit:
590
591 0 GlobusSoapMessageDebugExit();
592 0 return result;
593 }
594
595
596
597 globus_result_t
598 wsacompat_FaultSubcodeValues_deserialize(
599 const xsd_QName * element_qname,
600 wsacompat_FaultSubcodeValues * instance,
601 globus_soap_message_handle_t message_handle,
602 globus_xsd_element_options_t options)
603 0 {
604 0 globus_result_t result = GLOBUS_SUCCESS;
605 xsd_QName subelement;
606 GlobusFuncName(wsacompat_FaultSubcodeValues_deserialize);
607 0 GlobusSoapMessageDebugEnter();
608
609
610 0 result = xsd_QName_deserialize(element_qname,
611 instance, message_handle, options);
612
613 0 if (result != GLOBUS_SUCCESS)
614 {
615 0 result = GlobusSoapMessageErrorDeserializeFailed(
616 result, element_qname);
617 0 goto exit;
618 }
619
620 0 if (!wsacompat_FaultSubcodeValues_l_is_valid_restriction(instance))
621 {
622 0 result = GlobusSoapMessageErrorDeserializeFailed(result,
623 element_qname);
624
625 }
626
627
628 0 exit:
629
630 0 GlobusSoapMessageDebugExit();
631 0 return result;
632 }
633
634
635
636 globus_result_t
637 wsacompat_FaultSubcodeValues_deserialize_pointer(
638 const xsd_QName * element_qname,
639 wsacompat_FaultSubcodeValues ** ip,
640 globus_soap_message_handle_t message_handle,
641 globus_xsd_element_options_t options)
642 0 {
643 0 wsacompat_FaultSubcodeValues * instance = NULL;
644 0 globus_result_t result = GLOBUS_SUCCESS;
645 xsd_QName subelement;
646 GlobusFuncName(wsacompat_FaultSubcodeValues_deserialize_pointer);
647 0 GlobusSoapMessageDebugEnter();
648
649 0 *ip = NULL;
650
651
652 0 result = xsd_QName_deserialize_pointer(
653 element_qname,
654 ip, message_handle, options);
655
656 0 if (result != GLOBUS_SUCCESS)
657 {
658 0 result = GlobusSoapMessageErrorDeserializeFailed(
659 result, element_qname);
660 0 goto exit;
661 }
662
663 0 if (*ip && !wsacompat_FaultSubcodeValues_l_is_valid_restriction(*ip))
664 {
665 0 result = GlobusSoapMessageErrorDeserializeFailed(result,
666 element_qname);
667
668 }
669
670
671 0 exit:
672
673 0 GlobusSoapMessageDebugExit();
674 0 return result;
675 }
676
677
678
679 globus_result_t
680 wsacompat_FaultSubcodeValues_array_init_contents(
681 wsacompat_FaultSubcodeValues_array * array)
682 0 {
683 GlobusFuncName(wsacompat_FaultSubcodeValues_array_init_contents);
684 0 GlobusSoapMessageDebugEnter();
685
686 0 array->elements = NULL;
687 0 array->length = 0;
688 0 array->type_info = &wsacompat_FaultSubcodeValues_info;
689
690 0 GlobusSoapMessageDebugExit();
691 0 return GLOBUS_SUCCESS;
692 }
693
694 globus_result_t
695 wsacompat_FaultSubcodeValues_array_init(
696 wsacompat_FaultSubcodeValues_array ** arr)
697 0 {
698 0 return globus_xsd_generic_array_init(
699 (globus_xsd_generic_array_t **) arr,
700 &wsacompat_FaultSubcodeValues_info);
701 }
702 /* wsacompat_FaultSubcodeValues_array_info() */
703
704 void
705 wsacompat_FaultSubcodeValues_array_destroy_contents(
706 wsacompat_FaultSubcodeValues_array * array)
707 0 {
708 0 globus_xsd_generic_array_destroy_contents(
709 (globus_xsd_generic_array_t *) array);
710 0 }
711
712 void
713 wsacompat_FaultSubcodeValues_array_destroy(
714 wsacompat_FaultSubcodeValues_array * array)
715 0 {
716
717 0 globus_xsd_generic_array_destroy(
718 (globus_xsd_generic_array_t *) array);
719 0 }
720
721 globus_result_t
722 wsacompat_FaultSubcodeValues_array_copy(
723 wsacompat_FaultSubcodeValues_array ** dest_arr,
724 const wsacompat_FaultSubcodeValues_array * src_arr)
725 0 {
726 0 return globus_xsd_generic_array_copy(
727 (globus_xsd_generic_array_t **) dest_arr,
728 (const globus_xsd_generic_array_t *) src_arr);
729 }
730
731 globus_result_t
732 wsacompat_FaultSubcodeValues_array_copy_contents(
733 wsacompat_FaultSubcodeValues_array * dest_arr,
734 const wsacompat_FaultSubcodeValues_array * src_arr)
735 0 {
736 0 return globus_xsd_generic_array_copy_contents(
737 (globus_xsd_generic_array_t *) dest_arr,
738 (const globus_xsd_generic_array_t *) src_arr);
739 }
740
741 wsacompat_FaultSubcodeValues *
742 wsacompat_FaultSubcodeValues_array_push(
743 wsacompat_FaultSubcodeValues_array * array)
744 0 {
745 /* Some contents initializers don't initialize subelments but to set their
746 * values to be NULL
747 */
748 0 if (array->type_info == NULL)
749 {
750 0 array->type_info = &wsacompat_FaultSubcodeValues_info;
751 }
752 0 return globus_xsd_generic_array_push(
753 (globus_xsd_generic_array_t *) array);
754 }
755
756
757 globus_result_t
758 wsacompat_FaultSubcodeValues_array_serialize(
759 const xsd_QName * element_qname,
760 const wsacompat_FaultSubcodeValues_array * array,
761 globus_soap_message_handle_t message,
762 globus_xsd_element_options_t options)
763 0 {
764 0 return globus_xsd_generic_array_serialize(
765 element_qname,
766 (const globus_xsd_generic_array_t *) array,
767 message,
768 options);
769 }
770
771 globus_result_t
772 wsacompat_FaultSubcodeValues_array_deserialize(
773 const xsd_QName * element_qname,
774 wsacompat_FaultSubcodeValues_array * array,
775 globus_soap_message_handle_t message,
776 globus_xsd_element_options_t options)
777 0 {
778 /* Some initializers set the array contents to NULL */
779 0 if (array->type_info == NULL)
780 {
781 0 array->type_info = &wsacompat_FaultSubcodeValues_info;
782 }
783
784 0 return globus_xsd_generic_array_deserialize(
785 element_qname,
786 (globus_xsd_generic_array_t *) array,
787 message,
788 options);
789 }
790
791
792 globus_result_t
793 wsacompat_FaultSubcodeValues_serialize_attribute(
794 const xsd_QName * attr_qname,
795 const wsacompat_FaultSubcodeValues * val,
796 globus_soap_message_handle_t handle,
797 globus_xsd_element_options_t options)
798 0 {
799 0 globus_result_t result = GLOBUS_SUCCESS;
800 GlobusFuncName(wsacompat_FaultSubcodeValues_serialize_attribute);
801 0 GlobusSoapMessageDebugEnter();
802
803
804 0 result = xsd_QName_serialize_attribute(
805 attr_qname, (xsd_QName *)val, handle, options);
806 0 if(result != GLOBUS_SUCCESS)
807 {
808 0 result = GlobusSoapMessageErrorSerializeFailed(
809 result, NULL, attr_qname);
810 0 goto exit;
811 }
812
813 0 exit:
814
815 0 GlobusSoapMessageDebugExit();
816 0 return result;
817 }
818
819 globus_result_t
820 wsacompat_FaultSubcodeValues_deserialize_attribute(
821 const xsd_QName * attr_qname,
822 wsacompat_FaultSubcodeValues * instance,
823 globus_soap_message_handle_t message,
824 globus_xsd_element_options_t options)
825 0 {
826 0 globus_result_t result = GLOBUS_SUCCESS;
827 GlobusFuncName(wsacompat_FaultSubcodeValues_deserialize_attribute);
828 0 GlobusSoapMessageDebugEnter();
829
830
831 0 result = xsd_QName_deserialize_attribute(
832 attr_qname, (xsd_QName *)instance, message, options);
833
834 0 if(result != GLOBUS_SUCCESS)
835 {
836 0 result = GlobusSoapMessageErrorDeserializeFailed(
837 result, attr_qname);
838 0 goto exit;
839 }
840
841 0 exit:
842
843 0 GlobusSoapMessageDebugExit();
844 0 return result;
845 }
846
847 globus_result_t
848 wsacompat_FaultSubcodeValues_deserialize_attribute_pointer(
849 const xsd_QName * attr_qname,
850 wsacompat_FaultSubcodeValues ** instance,
851 globus_soap_message_handle_t message,
852 globus_xsd_element_options_t options)
853 0 {
854 0 globus_result_t result = GLOBUS_SUCCESS;
855 GlobusFuncName(wsacompat_FaultSubcodeValues_deserialize_attribute_pointer);
856 0 GlobusSoapMessageDebugEnter();
857
858
859 0 result = xsd_QName_deserialize_attribute_pointer(
860 attr_qname, (xsd_QName **)instance, message, options);
861
862 0 if(GlobusSoapMessageStatusAttributeNotFoundCheck(result))
863 {
864 0 result = GLOBUS_SUCCESS;
865 0 wsacompat_FaultSubcodeValues_destroy(*instance);
866 0 *instance = NULL;
867 goto exit;
868 }
869
870 0 exit:
871
872 0 GlobusSoapMessageDebugExit();
873 0 return result;
874 }
875
876
877 static
878 xsd_QName * wsacompat_FaultSubcodeValues_l_restrictions[] =
879 {
880 &wsacompat_FaultSubcodeValues_wsacompat_InvalidMessageInformationHeader,
881
882
883 &wsacompat_FaultSubcodeValues_wsacompat_MessageInformationHeaderRequired,
884
885
886 &wsacompat_FaultSubcodeValues_wsacompat_DestinationUnreachable,
887
888
889 &wsacompat_FaultSubcodeValues_wsacompat_ActionNotSupported,
890
891
892 &wsacompat_FaultSubcodeValues_wsacompat_EndpointUnavailable,
893
894
895
896 NULL
897 };
898
899 globus_bool_t
900 wsacompat_FaultSubcodeValues_l_is_valid_restriction(
901 const wsacompat_FaultSubcodeValues * instance)
902 0 {
903 int i;
904 0 globus_bool_t valid = GLOBUS_FALSE;
905 GlobusFuncName(wsacompat_FaultSubcodeValues_l_validate_restriction);
906 0 GlobusSoapMessageDebugEnter();
907
908
909
910 0 for (i = 0; wsacompat_FaultSubcodeValues_l_restrictions[i] != NULL; i++)
911 {
912
913 0 if (xsd_QName_keyeq((void *) wsacompat_FaultSubcodeValues_l_restrictions[i],
914 (void *) instance))
915 {
916 0 valid = GLOBUS_TRUE;
917
918 0 break;
919 }
920
921 }
922
923 0 GlobusSoapMessageDebugExit();
924
925 0 return valid;