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