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