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