1 /*
2 * Portions of this file Copyright 1999-2005 University of Chicago
3 * Portions of this file Copyright 1999-2005 The University of Southern California.
4 *
5 * This file or a portion of this file is licensed under the
6 * terms of the Globus Toolkit Public License, found at
7 * http://www.globus.org/toolkit/download/license.html.
8 * If you redistribute this file, with or without
9 * modifications, you must include this notice in the file.
10 */
11
12
13 /*
14 * This file is automatically generated by the Globus WSDLtoC converter
15 */
16
17 #include "xsd_QName.h"
18 #include "globus_soap_message.h"
19 #include "globus_xsd_type_info.h"
20 #include "wsp_OpenUsageType.h"
21
22 xsd_QName wsp_OpenUsageType_qname =
23 {
24 "http://schemas.xmlsoap.org/ws/2002/12/policy",
25 "OpenUsageType"
26 };
27
28 globus_result_t
29 wsp_OpenUsageType_serialize_wrapper(
30 xsd_QName * element_qname,
31 void * instance,
32 globus_soap_message_handle_t message_handle,
33 globus_xsd_element_options_t options)
34 0 {
35 0 return wsp_OpenUsageType_serialize(
36 element_qname,
37 (wsp_OpenUsageType *) instance,
38 message_handle, options);
39 }
40
41 globus_result_t
42 wsp_OpenUsageType_deserialize_pointer_wrapper(
43 xsd_QName * element_qname,
44 void ** ip,
45 globus_soap_message_handle_t message_handle,
46 globus_xsd_element_options_t options)
47 0 {
48 0 return wsp_OpenUsageType_deserialize_pointer(
49 element_qname,
50 (wsp_OpenUsageType **) ip,
51 message_handle, options);
52 }
53
54 globus_result_t
55 wsp_OpenUsageType_init_wrapper(void **object)
56 0 {
57 0 return wsp_OpenUsageType_init(
58 (wsp_OpenUsageType **) object);
59 }
60
61 void
62 wsp_OpenUsageType_destroy_wrapper(
63 void * object)
64 0 {
65 0 wsp_OpenUsageType_destroy(
66 (wsp_OpenUsageType *) object);
67 }
68
69 globus_result_t
70 wsp_OpenUsageType_copy_wrapper(
71 void ** dest_obj,
72 void * src_obj)
73 0 {
74 0 return wsp_OpenUsageType_copy(
75 (wsp_OpenUsageType **) dest_obj,
76 (wsp_OpenUsageType *) src_obj);
77 }
78
79 globus_result_t
80 wsp_OpenUsageType_init_contents_wrapper(void *object)
81 0 {
82 0 return wsp_OpenUsageType_init_contents(
83 (wsp_OpenUsageType *) object);
84 }
85
86 void
87 wsp_OpenUsageType_destroy_contents_wrapper(
88 void * object)
89 0 {
90 0 wsp_OpenUsageType_destroy_contents(
91 (wsp_OpenUsageType *) object);
92 }
93
94 globus_result_t
95 wsp_OpenUsageType_copy_contents_wrapper(
96 void * dest_obj,
97 void * src_obj)
98 0 {
99 0 return wsp_OpenUsageType_copy_contents(
100 (wsp_OpenUsageType *) dest_obj,
101 (wsp_OpenUsageType *) src_obj);
102 }
103
104 globus_result_t
105 wsp_OpenUsageType_serialize_contents_wrapper(
106 xsd_QName * element_qname,
107 void * instance,
108 globus_soap_message_handle_t message_handle,
109 globus_xsd_element_options_t options)
110 0 {
111 0 return wsp_OpenUsageType_serialize_contents(
112 element_qname,
113 (wsp_OpenUsageType *) instance,
114 message_handle, options);
115 }
116
117 globus_result_t
118 wsp_OpenUsageType_deserialize_contents_wrapper(
119 xsd_QName * element_qname,
120 void ** instance,
121 globus_soap_message_handle_t message_handle,
122 globus_xsd_element_options_t options)
123 0 {
124 globus_result_t result;
125 GlobusFuncName(wsp_OpenUsageType_deserialize_contents_wrapper);
126 0 GlobusSoapMessageDebugEnter();
127
128 0 if(!*instance)
129 {
130 0 result = wsp_OpenUsageType_init(
131 (wsp_OpenUsageType **)instance);
132 0 if(result != GLOBUS_SUCCESS)
133 {
134 0 goto error;
135 }
136 }
137
138 0 result = wsp_OpenUsageType_deserialize_contents(
139 element_qname,
140 *(wsp_OpenUsageType **)instance,
141 message_handle, options);
142 0 error:
143 0 GlobusSoapMessageDebugExit();
144 0 return result;
145 }
146
147 globus_result_t
148 wsp_OpenUsageType_array_serialize_wrapper(
149 xsd_QName * element,
150 void * instance,
151 globus_soap_message_handle_t message,
152 globus_xsd_element_options_t options)
153 0 {
154 0 return wsp_OpenUsageType_array_serialize(
155 element,
156 (wsp_OpenUsageType_array *) instance,
157 message, options);
158 }
159
160 globus_result_t
161 wsp_OpenUsageType_array_deserialize_wrapper(
162 xsd_QName * element_qname,
163 void ** inst,
164 globus_soap_message_handle_t message,
165 globus_xsd_element_options_t options)
166 0 {
167 0 if(!*inst)
168 {
169 globus_result_t result;
170
171 0 result = wsp_OpenUsageType_array_init(
172 (wsp_OpenUsageType_array **)inst);
173 0 if(result != GLOBUS_SUCCESS)
174 {
175 0 return result;
176 }
177 }
178
179 0 return wsp_OpenUsageType_array_deserialize(
180 element_qname,
181 *(wsp_OpenUsageType_array **) inst,
182 message, options);
183 }
184
185 globus_result_t
186 wsp_OpenUsageType_array_init_wrapper(
187 void ** arr)
188 0 {
189 0 return wsp_OpenUsageType_array_init(
190 (wsp_OpenUsageType_array **) arr);
191 }
192
193 void
194 wsp_OpenUsageType_array_destroy_wrapper(
195 void * arr)
196 0 {
197 0 wsp_OpenUsageType_array_destroy(
198 (wsp_OpenUsageType_array *) arr);
199 }
200
201 globus_result_t
202 wsp_OpenUsageType_array_copy_wrapper(
203 void ** dest_arr,
204 void * src_arr)
205 0 {
206 0 return wsp_OpenUsageType_array_copy(
207 (wsp_OpenUsageType_array **) dest_arr,
208 (wsp_OpenUsageType_array *) src_arr);
209 }
210 globus_result_t
211 wsp_OpenUsageType_array_init_contents_wrapper(
212 void * arr)
213 0 {
214 0 return wsp_OpenUsageType_array_init_contents(
215 (wsp_OpenUsageType_array *) arr);
216 }
217
218 void
219 wsp_OpenUsageType_array_destroy_contents_wrapper(
220 void * arr)
221 0 {
222 0 wsp_OpenUsageType_array_destroy_contents(
223 (wsp_OpenUsageType_array *) arr);
224 }
225
226 globus_result_t
227 wsp_OpenUsageType_array_copy_contents_wrapper(
228 void * dest_arr,
229 void * src_arr)
230 0 {
231 0 return wsp_OpenUsageType_array_copy_contents(
232 (wsp_OpenUsageType_array *) dest_arr,
233 (wsp_OpenUsageType_array *) src_arr);
234 }
235
236 struct globus_xsd_type_info_s wsp_OpenUsageType_array_info =
237 {
238 &wsp_OpenUsageType_qname,
239 wsp_OpenUsageType_array_serialize_wrapper,
240 wsp_OpenUsageType_array_deserialize_wrapper,
241 wsp_OpenUsageType_array_init_wrapper,
242 wsp_OpenUsageType_array_destroy_wrapper,
243 wsp_OpenUsageType_array_copy_wrapper,
244 wsp_OpenUsageType_array_init_contents_wrapper,
245 wsp_OpenUsageType_array_destroy_contents_wrapper,
246 wsp_OpenUsageType_array_copy_contents_wrapper,
247 sizeof(wsp_OpenUsageType),
248 wsp_OpenUsageType_array_push_wrapper,
249 NULL,
250 NULL
251 };
252
253 struct globus_xsd_type_info_s wsp_OpenUsageType_contents_info =
254 {
255 &wsp_OpenUsageType_qname,
256 wsp_OpenUsageType_serialize_contents_wrapper,
257 wsp_OpenUsageType_deserialize_contents_wrapper,
258 wsp_OpenUsageType_init_wrapper,
259 wsp_OpenUsageType_destroy_wrapper,
260 wsp_OpenUsageType_copy_wrapper,
261 wsp_OpenUsageType_init_contents_wrapper,
262 wsp_OpenUsageType_destroy_contents_wrapper,
263 wsp_OpenUsageType_copy_contents_wrapper,
264 sizeof(wsp_OpenUsageType),
265 NULL,
266 NULL,
267 NULL
268 };
269
270 struct globus_xsd_type_info_s wsp_OpenUsageType_info =
271 {
272 &wsp_OpenUsageType_qname,
273 wsp_OpenUsageType_serialize_wrapper,
274 wsp_OpenUsageType_deserialize_pointer_wrapper,
275 wsp_OpenUsageType_init_wrapper,
276 wsp_OpenUsageType_destroy_wrapper,
277 wsp_OpenUsageType_copy_wrapper,
278 wsp_OpenUsageType_init_contents_wrapper,
279 wsp_OpenUsageType_destroy_contents_wrapper,
280 wsp_OpenUsageType_copy_contents_wrapper,
281 sizeof(wsp_OpenUsageType),
282 NULL,
283 &wsp_OpenUsageType_contents_info,
284 &wsp_OpenUsageType_array_info
285 };
286
287 globus_result_t
288 wsp_OpenUsageType_init_contents(
289 wsp_OpenUsageType * instance)
290 0 {
291 0 globus_result_t result = GLOBUS_SUCCESS;
292 GlobusFuncName(wsp_OpenUsageType_init_contents);
293 0 GlobusSoapMessageDebugEnter();
294
295
296 0 result = xsd_QName_init_contents((xsd_QName *) instance);
297
298 0 GlobusSoapMessageDebugExit();
299 0 return result;
300 }
301
302 globus_result_t
303 wsp_OpenUsageType_init(
304 wsp_OpenUsageType ** object)
305 0 {
306 wsp_OpenUsageType * instance;
307 0 globus_result_t result = GLOBUS_SUCCESS;
308 GlobusFuncName(wsp_OpenUsageType_init);
309 0 GlobusSoapMessageDebugEnter();
310
311
312
313 0 instance = (wsp_OpenUsageType *)
314 globus_malloc(sizeof(wsp_OpenUsageType));
315 0 if(!instance)
316 {
317 0 result = GlobusSoapMessageErrorOutOfMemory;
318 0 GlobusSoapMessageDebugExit();
319 0 return result;
320 }
321
322 0 memset(instance, 0, sizeof(wsp_OpenUsageType));
323
324 0 *object = instance;
325
326 0 GlobusSoapMessageDebugExit();
327 0 return result;
328 }
329
330 void
331 wsp_OpenUsageType_destroy(
332 wsp_OpenUsageType * instance)
333 0 {
334 GlobusFuncName(wsp_OpenUsageType_destroy);
335 0 GlobusSoapMessageDebugEnter();
336
337 0 if(!instance)
338 {
339 0 goto exit;
340 }
341
342 0 wsp_OpenUsageType_destroy_contents(instance);
343 0 globus_free(instance);
344
345 0 exit:
346
347 0 GlobusSoapMessageDebugExit();
348 }
349
350 void
351 wsp_OpenUsageType_destroy_contents(
352 wsp_OpenUsageType * instance)
353 0 {
354 GlobusFuncName(wsp_OpenUsageType_destroy_contents);
355 0 GlobusSoapMessageDebugEnter();
356
357 0 if(instance)
358 {
359
360
361 0 xsd_QName_destroy_contents((xsd_QName *)instance);
362
363 }
364
365 0 GlobusSoapMessageDebugExit();
366 }
367
368 globus_result_t
369 wsp_OpenUsageType_copy(
370 wsp_OpenUsageType ** dest_obj,
371 const wsp_OpenUsageType * src_obj)
372 0 {
373 0 globus_result_t result = GLOBUS_SUCCESS;
374 wsp_OpenUsageType * instance;
375 GlobusFuncName(wsp_OpenUsageType_copy);
376
377 0 GlobusSoapMessageDebugEnter();
378
379 0 instance = malloc(sizeof(wsp_OpenUsageType));
380 0 if (instance == NULL)
381 {
382 0 GlobusSoapMessageDebugExit();
383 0 return GlobusSoapMessageErrorOutOfMemory;
384 }
385
386 0 result = wsp_OpenUsageType_copy_contents(instance, src_obj);
387 0 if(result != GLOBUS_SUCCESS)
388 {
389 0 globus_free(instance);
390 0 GlobusSoapMessageDebugExit();
391 0 return GlobusSoapMessageErrorOutOfMemory;
392 }
393
394 0 *dest_obj = instance;
395 0 GlobusSoapMessageDebugExit();
396 0 return result;
397 }
398
399 globus_result_t
400 wsp_OpenUsageType_copy_contents(
401 wsp_OpenUsageType * instance,
402 const wsp_OpenUsageType * src_obj)
403 0 {
404 0 globus_result_t result = GLOBUS_SUCCESS;
405 GlobusFuncName(wsp_OpenUsageType_copy_contents);
406
407 0 GlobusSoapMessageDebugEnter();
408
409
410 0 result = xsd_QName_copy_contents(
411 (xsd_QName *)instance, (const xsd_QName *) src_obj);
412 goto exit;
413
414 goto exit;
415
416 0 fail_copy:
417
418
419 0 exit:
420
421 0 GlobusSoapMessageDebugExit();
422 0 return result;
423 }
424
425
426
427 globus_result_t
428 wsp_OpenUsageType_serialize_contents(
429 xsd_QName * element_qname, /* ignored */
430 wsp_OpenUsageType * inst,
431 globus_soap_message_handle_t message_handle,
432 globus_xsd_element_options_t options)
433 0 {
434 0 globus_result_t result = GLOBUS_SUCCESS;
435 GlobusFuncName(wsp_OpenUsageType_serialize_contents);
436 0 GlobusSoapMessageDebugEnter();
437
438 0 result = wsp_OpenUsageType_serialize(
439 NULL,
440 inst,
441 message_handle,
442 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
443 0 if(result != GLOBUS_SUCCESS)
444 {
445 0 result = GlobusSoapMessageErrorSerializeFailed(
446 result, NULL, element_qname);
447 goto exit;
448 }
449
450 0 exit:
451
452 0 GlobusSoapMessageDebugExit();
453 0 return result;
454 }
455
456
457
458 globus_result_t
459 wsp_OpenUsageType_serialize(
460 xsd_QName * element_qname,
461 wsp_OpenUsageType * instance,
462 globus_soap_message_handle_t message_handle,
463 globus_xsd_element_options_t options)
464 0 {
465 0 globus_result_t result = GLOBUS_SUCCESS;
466 xsd_QName subelement;
467 0 globus_list_t * any_attr_keys = NULL;
468 0 globus_list_t * any_attr_keys_iterator = NULL;
469 0 xsd_QName * type_attr = NULL;
470 0 char * type_value = NULL;
471 0 char * prefix = NULL;
472 int prefix_created;
473 0 int define_prefix = 0;
474 0 char * type_attr_prefix = NULL;
475
476 GlobusFuncName(wsp_OpenUsageType_serialize);
477 0 GlobusSoapMessageDebugEnter();
478
479
480
481 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
482 {
483
484 /* serialize wsp_OpenUsageType element */
485
486 0 result = globus_soap_message_invoke_ns_callouts(
487 message_handle,
488 element_qname,
489 GLOBUS_SOAP_MESSAGE_CALLOUT_NS_SET,
490 &options);
491 0 if(result != GLOBUS_SUCCESS)
492 {
493 0 result = GlobusSoapMessageErrorSerializeFailed(
494 result, NULL, element_qname);
495 0 goto exit;
496 }
497
498 0 result = globus_soap_message_element_ns_set(
499 message_handle,
500 element_qname->Namespace,
501 &options);
502 0 if(result != GLOBUS_SUCCESS)
503 {
504 0 result = GlobusSoapMessageErrorSerializeFailed(
505 result, NULL, element_qname);
506 0 goto exit;
507 }
508
509 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
510 !globus_soap_message_serialize_is_c14n_subset(message_handle))
511 {
512 0 result = globus_soap_message_attribute_ns_set(
513 message_handle,
514 "http://www.w3.org/2001/XMLSchema-instance",
515 &options);
516 0 if(result != GLOBUS_SUCCESS)
517 {
518 0 result = GlobusSoapMessageErrorSerializeFailed(
519 result, NULL, element_qname);
520 0 goto exit;
521 }
522
523 0 result = globus_soap_message_attribute_ns_set(
524 message_handle,
525 wsp_OpenUsageType_qname.Namespace,
526 &options);
527 0 if(result != GLOBUS_SUCCESS)
528 {
529 0 result = GlobusSoapMessageErrorSerializeFailed(
530 result, NULL, element_qname);
531 0 goto exit;
532 }
533 }
534
535 0 result = globus_soap_message_invoke_callouts(
536 message_handle,
537 element_qname,
538 GLOBUS_SOAP_MESSAGE_CALLOUT_BEGIN);
539 0 if(result != GLOBUS_SUCCESS)
540 {
541 0 result = GlobusSoapMessageErrorSerializeFailed(
542 result, NULL, element_qname);
543 0 goto exit;
544 }
545
546 0 result = globus_soap_message_serialize_element(
547 message_handle,
548 element_qname,
549 options,
550 &wsp_OpenUsageType_qname);
551 0 if(result != GLOBUS_SUCCESS)
552 {
553 0 result = GlobusSoapMessageErrorSerializeFailed(
554 result, NULL, element_qname);
555 0 goto exit;
556 }
557
558 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
559 !globus_soap_message_serialize_is_c14n_subset(message_handle))
560 {
561 0 xsd_QName_init(&type_attr);
562
563 0 type_attr->local = globus_libc_strdup("type");
564 0 type_attr->Namespace = globus_libc_strdup(XSI_NS);
565
566 0 if(prefix)
567 {
568 0 type_value = globus_common_create_string(
569 "%s:%s", type_attr_prefix,
570 wsp_OpenUsageType_qname.local);
571 }
572 else
573 {
574 0 type_value = globus_libc_strdup(wsp_OpenUsageType_qname.local);
575 }
576 }
577
578 /* serialize namespaces */
579
580 0 result = globus_soap_message_invoke_ns_callouts(
581 message_handle,
582 element_qname,
583 GLOBUS_SOAP_MESSAGE_CALLOUT_NS_ADD,
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 result = globus_soap_message_element_ns_add(
594 message_handle,
595 element_qname->Namespace,
596 &options);
597 0 if(result != GLOBUS_SUCCESS)
598 {
599 0 result = GlobusSoapMessageErrorSerializeFailed(
600 result, NULL, element_qname);
601 0 goto exit;
602 }
603
604 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
605 !globus_soap_message_serialize_is_c14n_subset(message_handle))
606 {
607 0 result = globus_soap_message_attribute_ns_add(
608 message_handle,
609 "http://www.w3.org/2001/XMLSchema-instance",
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 0 result = globus_soap_message_attribute_ns_add(
619 message_handle,
620 wsp_OpenUsageType_qname.Namespace,
621 &options);
622 0 if(result != GLOBUS_SUCCESS)
623 {
624 0 result = GlobusSoapMessageErrorSerializeFailed(
625 result, NULL, element_qname);
626 0 goto exit;
627 }
628 }
629
630 /* serialize attributes */
631
632 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
633 !globus_soap_message_serialize_is_c14n_subset(message_handle))
634 {
635 0 result = globus_soap_message_serialize_QName_attribute(
636 message_handle,
637 type_attr,
638 &wsp_OpenUsageType_qname);
639 0 if(result != GLOBUS_SUCCESS)
640 {
641 0 result = GlobusSoapMessageErrorSerializeFailed(
642 result, NULL, element_qname);
643 0 goto exit;
644 }
645 }
646
647 }
648
649 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
650 {
651 0 result = globus_soap_message_serialize_element_begin_close(
652 message_handle);
653 0 if(result != GLOBUS_SUCCESS)
654 {
655 0 result = GlobusSoapMessageErrorSerializeFailed(
656 result, NULL, element_qname);
657 0 goto exit;
658 }
659 }
660
661 /* serialize contents of type */
662
663 0 result = xsd_QName_serialize_contents(
664 NULL,
665 (xsd_QName *)instance,
666 message_handle,
667 options);
668 0 if(result != GLOBUS_SUCCESS)
669 {
670 0 result = GlobusSoapMessageErrorSerializeFailed(
671 result, NULL, element_qname);
672 0 goto exit;
673 }
674
675 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
676 {
677 /* add end element */
678 0 result = globus_soap_message_serialize_element_end(
679 message_handle,
680 element_qname,
681 options,
682 &wsp_OpenUsageType_qname);
683 0 if(result != GLOBUS_SUCCESS)
684 {
685 0 result = GlobusSoapMessageErrorSerializeFailed(
686 result, NULL, element_qname);
687 0 goto exit;
688 }
689
690 0 globus_soap_message_element_ns_remove(
691 message_handle,
692 element_qname->Namespace,
693 &options);
694
695 /* remove namespace/prefix mappings for these types */
696
697 0 result = globus_soap_message_invoke_ns_callouts(
698 message_handle,
699 element_qname,
700 GLOBUS_SOAP_MESSAGE_CALLOUT_NS_REMOVE,
701 &options);
702 0 if(result != GLOBUS_SUCCESS)
703 {
704 0 result = GlobusSoapMessageErrorSerializeFailed(
705 result, NULL, element_qname);
706 0 goto exit;
707 }
708
709 0 result = globus_soap_message_invoke_callouts(
710 message_handle,
711 element_qname,
712 GLOBUS_SOAP_MESSAGE_CALLOUT_END);
713 0 if(result != GLOBUS_SUCCESS)
714 {
715 0 result = GlobusSoapMessageErrorSerializeFailed(
716 result, NULL, element_qname);
717 goto exit;
718 }
719 }
720
721 0 exit:
722
723 0 if(any_attr_keys)
724 {
725 0 globus_list_free(any_attr_keys);
726 }
727
728 0 GlobusSoapMessageDebugExit();
729 0 return result;
730 }
731
732
733
734 globus_result_t
735 wsp_OpenUsageType_deserialize_contents(
736 xsd_QName * element_qname, /* ignored */
737 wsp_OpenUsageType * inst,
738 globus_soap_message_handle_t message_handle,
739 globus_xsd_element_options_t options)
740 0 {
741 0 globus_result_t result = GLOBUS_SUCCESS;
742 GlobusFuncName(wsp_OpenUsageType_deserialize_contents);
743 0 GlobusSoapMessageDebugEnter();
744
745 0 result = wsp_OpenUsageType_deserialize(
746 NULL,
747 inst,
748 message_handle,
749 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
750 0 if(result != GLOBUS_SUCCESS)
751 {
752 0 result = GlobusSoapMessageErrorDeserializeFailed(
753 result, element_qname);
754 goto exit;
755 }
756
757 0 exit:
758
759 0 GlobusSoapMessageDebugExit();
760 0 return result;
761 }
762
763
764
765 globus_result_t
766 wsp_OpenUsageType_deserialize(
767 xsd_QName * element_qname,
768 wsp_OpenUsageType * instance,
769 globus_soap_message_handle_t message_handle,
770 globus_xsd_element_options_t options)
771 0 {
772 0 globus_result_t result = GLOBUS_SUCCESS;
773 xsd_QName subelement;
774 GlobusFuncName(wsp_OpenUsageType_deserialize);
775 0 GlobusSoapMessageDebugEnter();
776
777
778 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
779 {
780 0 result = globus_soap_message_deserialize_element(
781 message_handle, element_qname);
782 0 if(result != GLOBUS_SUCCESS)
783 {
784 0 result = GlobusSoapMessageErrorDeserializeFailed(
785 result, element_qname);
786 0 goto exit;
787 }
788
789 0 result = globus_soap_message_deserialize_element_begin_close(
790 message_handle);
791 0 if(result != GLOBUS_SUCCESS)
792 {
793 0 result = GlobusSoapMessageErrorDeserializeFailed(
794 result, element_qname);
795 0 goto fail_deserialize;
796 }
797 }
798
799 0 result = xsd_QName_deserialize_contents(
800 NULL,
801 (xsd_QName *)instance,
802 message_handle,
803 options);
804 0 if(result != GLOBUS_SUCCESS)
805 {
806 0 result = GlobusSoapMessageErrorDeserializeFailed(
807 result, element_qname);
808 0 goto base_value_destroy;
809 }
810
811 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
812 {
813 0 result = globus_soap_message_deserialize_element_end(
814 message_handle,
815 element_qname);
816 0 if(result != GLOBUS_SUCCESS)
817 {
818 0 result = GlobusSoapMessageErrorDeserializeFailed(
819 result, element_qname);
820 goto fail_deserialize;
821 }
822 }
823
824 goto exit;
825
826 0 fail_deserialize:
827
828 0 xsd_QName_destroy_contents((xsd_QName *)instance);
829 0 base_value_destroy:
830
831
832 0 exit:
833
834 0 GlobusSoapMessageDebugExit();
835 0 return result;
836 }
837
838
839
840 globus_result_t
841 wsp_OpenUsageType_deserialize_pointer(
842 xsd_QName * element_qname,
843 wsp_OpenUsageType ** ip,
844 globus_soap_message_handle_t message_handle,
845 globus_xsd_element_options_t options)
846 0 {
847 0 wsp_OpenUsageType * instance = NULL;
848 0 globus_result_t result = GLOBUS_SUCCESS;
849 xsd_QName subelement;
850 GlobusFuncName(wsp_OpenUsageType_deserialize_pointer);
851 0 GlobusSoapMessageDebugEnter();
852
853 0 *ip = NULL;
854
855
856 0 result = globus_soap_message_deserialize_element(
857 message_handle, element_qname);
858 0 if(GlobusSoapMessageStatusElementNotFoundCheck(result) ||
859 GlobusSoapMessageStatusFailedElementCheck(result) ||
860 GlobusSoapMessageStatusFailedWithTextCheck(result))
861 {
862 0 *ip = NULL;
863 0 result = GLOBUS_SUCCESS;
864 0 goto exit;
865 }
866
867 0 if(result != GLOBUS_SUCCESS)
868 {
869 0 result = GlobusSoapMessageErrorDeserializeFailed(
870 result, element_qname);
871 0 goto exit;
872 }
873
874 0 if(globus_soap_message_deserialize_element_is_empty(
875 message_handle))
876 {
877 0 *ip = NULL;
878 0 goto exit;
879 }
880
881 0 result = wsp_OpenUsageType_init(&instance);
882 0 if(result != GLOBUS_SUCCESS)
883 {
884 0 result = GlobusSoapMessageErrorDeserializeFailed(
885 result, element_qname);
886 0 goto exit;
887 }
888
889 0 result = globus_soap_message_deserialize_element_begin_close(
890 message_handle);
891 0 if(result != GLOBUS_SUCCESS)
892 {
893 0 result = GlobusSoapMessageErrorDeserializeFailed(
894 result, element_qname);
895 0 goto exit;
896 }
897
898
899
900 0 result = globus_soap_message_deserialize_element_end(
901 message_handle,
902 element_qname);
903 0 if(result != GLOBUS_SUCCESS)
904 {
905 0 result = GlobusSoapMessageErrorDeserializeFailed(
906 result, element_qname);
907 0 goto exit;
908 }
909
910 0 *ip = instance;
911
912 goto exit;
913
914 0 fail_deserialize:
915
916
917 0 exit:
918
919 0 GlobusSoapMessageDebugExit();
920 0 return result;
921 }
922
923
924
925 globus_result_t
926 wsp_OpenUsageType_array_init_contents(
927 wsp_OpenUsageType_array * array)
928 0 {
929 GlobusFuncName(wsp_OpenUsageType_array_init_contents);
930 0 GlobusSoapMessageDebugEnter();
931
932 0 memset(array, 0, sizeof(wsp_OpenUsageType_array));
933
934 0 GlobusSoapMessageDebugExit();
935 0 return GLOBUS_SUCCESS;
936 }
937
938 globus_result_t
939 wsp_OpenUsageType_array_init(
940 wsp_OpenUsageType_array ** arr)
941 0 {
942 wsp_OpenUsageType_array * array;
943 globus_result_t result;
944 GlobusFuncName(wsp_OpenUsageType_array_init);
945 0 GlobusSoapMessageDebugEnter();
946
947 0 array = (wsp_OpenUsageType_array *)
948 globus_malloc(sizeof(wsp_OpenUsageType_array));
949 0 if(!array)
950 {
951 0 result = GlobusSoapMessageErrorOutOfMemory;
952 0 GlobusSoapMessageDebugExit();
953 0 return result;
954 }
955
956 0 result = wsp_OpenUsageType_array_init_contents(array);
957 0 if(result != GLOBUS_SUCCESS)
958 {
959 0 globus_free(array);
960 0 array = NULL;
961
962 }
963
964 0 *arr = array;
965
966 0 GlobusSoapMessageDebugExit();
967 0 return result;
968 }
969
970 void
971 wsp_OpenUsageType_array_destroy_contents(
972 wsp_OpenUsageType_array * array)
973 0 {
974 0 int i = 0;
975 GlobusFuncName(wsp_OpenUsageType_array_destroy_contents);
976 0 GlobusSoapMessageDebugEnter();
977
978 0 for(; i < array->length; ++i)
979 {
980 0 wsp_OpenUsageType_destroy_contents(&array->elements[i]);
981 }
982
983 0 if(array->elements)
984 {
985 0 globus_free(array->elements);
986 0 array->elements = NULL;
987 }
988 0 array->length = 0;
989
990 0 GlobusSoapMessageDebugExit();
991 }
992
993 void
994 wsp_OpenUsageType_array_destroy(
995 wsp_OpenUsageType_array * array)
996 0 {
997 GlobusFuncName(wsp_OpenUsageType_array_destroy);
998 0 GlobusSoapMessageDebugEnter();
999
1000 0 wsp_OpenUsageType_array_destroy_contents(array);
1001 0 globus_free(array);
1002
1003 0 GlobusSoapMessageDebugExit();
1004 }
1005
1006 globus_result_t
1007 wsp_OpenUsageType_array_copy(
1008 wsp_OpenUsageType_array ** dest_arr,
1009 const wsp_OpenUsageType_array * src_arr)
1010 0 {
1011 wsp_OpenUsageType_array * array;
1012 globus_result_t result;
1013 GlobusFuncName(wsp_OpenUsageType_array_copy);
1014 0 GlobusSoapMessageDebugEnter();
1015
1016 0 array = (wsp_OpenUsageType_array *) malloc(
1017 sizeof(wsp_OpenUsageType_array));
1018 0 if(!array)
1019 {
1020 0 result = GlobusSoapMessageErrorOutOfMemory;
1021 0 GlobusSoapMessageDebugExit();
1022 0 return result;
1023 }
1024
1025 0 result = wsp_OpenUsageType_array_copy_contents(array, src_arr);
1026 0 if(result != GLOBUS_SUCCESS)
1027 {
1028 0 globus_free(array);
1029 0 GlobusSoapMessageDebugExit();
1030 0 return result;
1031 }
1032
1033 0 *dest_arr = array;
1034
1035 0 GlobusSoapMessageDebugExit();
1036 0 return GLOBUS_SUCCESS;
1037 }
1038
1039 globus_result_t
1040 wsp_OpenUsageType_array_copy_contents(
1041 wsp_OpenUsageType_array * dest_arr,
1042 const wsp_OpenUsageType_array * src_arr)
1043 0 {
1044 int i;
1045 0 globus_result_t result = GLOBUS_SUCCESS;
1046 GlobusFuncName(wsp_OpenUsageType_array_copy_contents);
1047 0 GlobusSoapMessageDebugEnter();
1048
1049 0 dest_arr->length = src_arr->length;
1050 0 if(dest_arr->length > 0)
1051 {
1052 0 dest_arr->elements = (wsp_OpenUsageType *) malloc(
1053 sizeof(wsp_OpenUsageType) * dest_arr->length);
1054 0 if(!dest_arr->elements)
1055 {
1056 0 result = GlobusSoapMessageErrorOutOfMemory;
1057 0 GlobusSoapMessageDebugExit();
1058 0 return result;
1059 }
1060 }
1061 else
1062 {
1063 0 dest_arr->elements = NULL;
1064 }
1065
1066 0 for(i = 0; i < dest_arr->length; i++)
1067 {
1068 0 result = wsp_OpenUsageType_copy_contents(
1069 &dest_arr->elements[i], &src_arr->elements[i]);
1070 0 if(result != GLOBUS_SUCCESS)
1071 {
1072 0 while(i--)
1073 {
1074 0 wsp_OpenUsageType_destroy_contents(&dest_arr->elements[i]);
1075 }
1076
1077 0 globus_free(dest_arr->elements);
1078 0 dest_arr->elements = NULL;
1079 0 dest_arr->length = 0;
1080 0 break;
1081 }
1082 }
1083
1084 0 GlobusSoapMessageDebugExit();
1085 0 return result;
1086 }
1087
1088 wsp_OpenUsageType *
1089 wsp_OpenUsageType_array_push(
1090 wsp_OpenUsageType_array * array)
1091 0 {
1092 GlobusFuncName(wsp_OpenUsageType_array_push);
1093 0 GlobusSoapMessageDebugEnter();
1094
1095 0 array->elements = realloc(array->elements,
1096 sizeof(wsp_OpenUsageType) *
1097 (array->length + 1));
1098 0 memset(&array->elements[array->length], 0, sizeof(wsp_OpenUsageType));
1099 0 array->length++;
1100
1101 0 GlobusSoapMessageDebugExit();
1102 0 return (&array->elements[array->length - 1]);
1103 }
1104
1105 void *
1106 wsp_OpenUsageType_array_push_wrapper(
1107 void * array)
1108 0 {
1109 0 return (void *) wsp_OpenUsageType_array_push((wsp_OpenUsageType_array *) array);
1110 }
1111
1112 globus_result_t
1113 wsp_OpenUsageType_array_serialize(
1114 xsd_QName * element_qname,
1115 wsp_OpenUsageType_array * array,
1116 globus_soap_message_handle_t message,
1117 globus_xsd_element_options_t options)
1118 0 {
1119 0 globus_result_t result = GLOBUS_SUCCESS;
1120 0 int i = 0;
1121 GlobusFuncName(wsp_OpenUsageType_array_serialize);
1122 0 GlobusSoapMessageDebugEnter();
1123
1124 0 for(; i < array->length; ++i)
1125 {
1126 0 result = wsp_OpenUsageType_serialize(
1127 element_qname,
1128 &array->elements[i],
1129 message,
1130 options);
1131 0 if(result != GLOBUS_SUCCESS)
1132 {
1133 0 goto exit;
1134 }
1135 }
1136
1137 0 exit:
1138
1139 0 GlobusSoapMessageDebugExit();
1140 0 return result;
1141 }
1142
1143 globus_result_t
1144 wsp_OpenUsageType_array_deserialize(
1145 xsd_QName * element_qname,
1146 wsp_OpenUsageType_array * array,
1147 globus_soap_message_handle_t message,
1148 globus_xsd_element_options_t options)
1149 0 {
1150 0 globus_result_t result = GLOBUS_SUCCESS;
1151 0 int i = 0;
1152 int pre_length;
1153 GlobusFuncName(wsp_OpenUsageType_array_deserialize);
1154 0 GlobusSoapMessageDebugEnter();
1155
1156 0 pre_length = array->length;
1157
1158 0 for(i = 0; i < pre_length; ++i)
1159 {
1160 0 result = wsp_OpenUsageType_deserialize(
1161 element_qname,
1162 &array->elements[i],
1163 message,
1164 options);
1165 0 if(result != GLOBUS_SUCCESS)
1166 {
1167 0 if(GlobusSoapMessageStatusFailedElementCheck(result) ||
1168 GlobusSoapMessageStatusElementNotFoundCheck(result) ||
1169 GlobusSoapMessageStatusFailedWithTextCheck(result))
1170 {
1171 0 result = GLOBUS_SUCCESS;
1172 0 break;
1173 }
1174
1175 0 result = GlobusSoapMessageErrorDeserializeFailed(
1176 result, element_qname);
1177 0 goto exit;
1178 }
1179 }
1180
1181 0 while(result == GLOBUS_SUCCESS)
1182 {
1183 wsp_OpenUsageType next;
1184 0 memset(&next, 0, sizeof(wsp_OpenUsageType));
1185
1186 0 result = wsp_OpenUsageType_deserialize(
1187 element_qname,
1188 &next,
1189 message,
1190 options);
1191 0 if(result != GLOBUS_SUCCESS)
1192 {
1193 0 if(GlobusSoapMessageStatusFailedElementCheck(result) ||
1194 GlobusSoapMessageStatusElementNotFoundCheck(result) ||
1195 GlobusSoapMessageStatusFailedWithTextCheck(result))
1196 {
1197 0 result = GLOBUS_SUCCESS;
1198 0 break;
1199 }
1200
1201 0 result = GlobusSoapMessageErrorDeserializeFailed(
1202 result, element_qname);
1203 0 goto exit;
1204 }
1205
1206 0 array->elements = realloc(
1207 array->elements,
1208 (array->length + 1) * sizeof(wsp_OpenUsageType));
1209 0 if(!array->elements)
1210 {
1211 0 result = GlobusSoapMessageErrorOutOfMemory;
1212 0 goto exit;
1213 }
1214 0 array->elements[array->length] = next;
1215 0 array->length++;
1216 0 ++i;
1217 }
1218
1219 0 exit:
1220
1221 0 if(result != GLOBUS_SUCCESS)
1222 {
1223 0 int di = 0;
1224 0 for(; di < i; ++di)
1225 {
1226 0 wsp_OpenUsageType_destroy_contents(
1227 &array->elements[di]);
1228 0 memset(&array->elements[di], 0, sizeof(wsp_OpenUsageType));
1229 }
1230 }
1231
1232 0 GlobusSoapMessageDebugExit();
1233 0 return result;
1234 }
1235
1236
1237 globus_result_t
1238 wsp_OpenUsageType_serialize_attribute(
1239 xsd_QName * attr_qname,
1240 wsp_OpenUsageType * val,
1241 globus_soap_message_handle_t handle,
1242 globus_xsd_element_options_t options)
1243 0 {
1244 0 globus_result_t result = GLOBUS_SUCCESS;
1245 GlobusFuncName(wsp_OpenUsageType_serialize_attribute);
1246 0 GlobusSoapMessageDebugEnter();
1247
1248
1249 0 result = xsd_QName_serialize_attribute(
1250 attr_qname, (xsd_QName *)val, handle, options);
1251 0 if(result != GLOBUS_SUCCESS)
1252 {
1253 0 result = GlobusSoapMessageErrorSerializeFailed(
1254 result, NULL, attr_qname);
1255 goto exit;
1256 }
1257
1258 0 exit:
1259
1260 0 GlobusSoapMessageDebugExit();
1261 0 return result;
1262 }
1263
1264 globus_result_t
1265 wsp_OpenUsageType_deserialize_attribute(
1266 xsd_QName * attr_qname,
1267 wsp_OpenUsageType * instance,
1268 globus_soap_message_handle_t message,
1269 globus_xsd_element_options_t options)
1270 0 {
1271 0 globus_result_t result = GLOBUS_SUCCESS;
1272 GlobusFuncName(wsp_OpenUsageType_deserialize_attribute);
1273 0 GlobusSoapMessageDebugEnter();
1274
1275
1276 0 result = xsd_QName_deserialize_attribute(
1277 attr_qname, (xsd_QName *)instance, message, options);
1278
1279 0 if(result != GLOBUS_SUCCESS)
1280 {
1281 0 result = GlobusSoapMessageErrorDeserializeFailed(
1282 result, attr_qname);
1283 goto exit;
1284 }
1285
1286 0 exit:
1287
1288 0 GlobusSoapMessageDebugExit();
1289 0 return result;
1290 }
1291
1292 globus_result_t
1293 wsp_OpenUsageType_deserialize_attribute_pointer(
1294 xsd_QName * attr_qname,
1295 wsp_OpenUsageType ** instance,
1296 globus_soap_message_handle_t message,
1297 globus_xsd_element_options_t options)
1298 0 {
1299 0 globus_result_t result = GLOBUS_SUCCESS;
1300 GlobusFuncName(wsp_OpenUsageType_deserialize_attribute_pointer);
1301 0 GlobusSoapMessageDebugEnter();
1302
1303
1304 0 result = xsd_QName_deserialize_attribute_pointer(
1305 attr_qname, (xsd_QName **)instance, message, options);
1306
1307 0 if(result != GLOBUS_SUCCESS)
1308 {
1309 0 result = GlobusSoapMessageErrorDeserializeFailed(
1310 result, attr_qname);
1311 goto exit;
1312 }
1313
1314 0 exit:
1315
1316 0 GlobusSoapMessageDebugExit();
1317 0 return result;