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