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