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