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