Warning: Can't synchronize with repository "(default)" (/disks/svn_mcs/repos/neams-ibm does not appear to be a Subversion repository.). Look in the Trac log for more information.

iMeshComponent: iMeshC_iMeshComponent_Impl.c

File iMeshC_iMeshComponent_Impl.c, 147.2 KB (added by billings, 14 years ago)

iMesh Component Implementation file

Line 
1/*
2 * File:          iMeshC_iMeshComponent_Impl.c
3 * Symbol:        iMeshC.iMeshComponent-v0.0
4 * Symbol Type:   class
5 * Babel Version: 1.0.8
6 * Description:   Server-side implementation for iMeshC.iMeshComponent
7 *
8 * WARNING: Automatically generated; only changes within splicers preserved
9 *
10 */
11
12/*
13 * DEVELOPERS ARE EXPECTED TO PROVIDE IMPLEMENTATIONS
14 * FOR THE FOLLOWING METHODS BETWEEN SPLICER PAIRS.
15 */
16
17/*
18 * Symbol "iMeshC.iMeshComponent" (version 0.0)
19 */
20
21#include "iMeshC_iMeshComponent_Impl.h"
22#include "sidl_NotImplementedException.h"
23#include "sidl_Exception.h"
24
25/* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent._includes) */
26
27/* Insert-UserCode-Here {iMeshC.iMeshComponent._includes} (includes and arbitrary code) */
28#include <iMesh.h>
29
30/* Bocca generated code. bocca.protected.begin(iMeshC.iMeshComponent._includes) */
31#include <stdlib.h>
32#include <string.h>
33#include "sidl_SIDLException.h"
34
35#define _BOCCA_CTOR_MESSAGES 0
36
37#ifdef _BOCCA_STDERR
38
39#define BOCCA_FPRINTF fprintf
40#include <stdio.h>
41#include "sidl_String.h"
42#ifdef _BOCCA_CTOR_PRINT
43#undef _BOCCA_CTOR_MESSAGES
44#define _BOCCA_CTOR_MESSAGES 1
45#endif /* _BOCCA_CTOR_PRINT */
46
47#else /* _BOCCA_STDERR */
48#define BOCCA_FPRINTF boccaPrintNothing
49#endif /* _BOCCA_STDERR */
50
51static int
52boccaPrintNothing(void *v, const char * s, ...)
53{
54  (void)v; (void)s;
55  return 0;
56}
57/* Bocca generated code. bocca.protected.end(iMeshC.iMeshComponent._includes) */
58
59/* Insert-UserCode-Here {iMeshC.iMeshComponent._includes} (includes and arbitrary code) */
60
61/* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent._includes) */
62
63#define SIDL_IOR_MAJOR_VERSION 1
64#define SIDL_IOR_MINOR_VERSION 0
65/*
66 * Static class initializer called exactly once before any user-defined method is dispatched
67 */
68
69#undef __FUNC__
70#define __FUNC__ "impl_iMeshC_iMeshComponent__load"
71
72#ifdef __cplusplus
73extern "C"
74#endif
75void
76impl_iMeshC_iMeshComponent__load(
77  /* out */ sidl_BaseInterface *_ex)
78{
79  *_ex = 0;
80  {
81    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent._load) */
82    /* Insert-Code-Here {iMeshC.iMeshComponent._load} (static class initializer method) */
83   
84    /* DO-DELETE-WHEN-IMPLEMENTING exception.begin() */
85    /*
86     * This method has not been implemented.
87     */
88    SIDL_THROW(*_ex, sidl_NotImplementedException,     "This method has not been implemented");
89  EXIT:;
90    /* DO-DELETE-WHEN-IMPLEMENTING exception.end() */
91   
92    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent._load) */
93  }
94}
95/*
96 * Class constructor called when the class is created.
97 */
98
99#undef __FUNC__
100#define __FUNC__ "impl_iMeshC_iMeshComponent__ctor"
101
102#ifdef __cplusplus
103extern "C"
104#endif
105void
106impl_iMeshC_iMeshComponent__ctor(
107  /* in */ iMeshC_iMeshComponent self,
108  /* out */ sidl_BaseInterface *_ex)
109{
110  *_ex = 0;
111  {
112  /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent._ctor) */
113
114  /* Insert-UserDecl-Here {iMeshC.iMeshComponent._ctor} (constructor method) */
115   
116  /* bocca-default-code. User may edit or delete.begin(iMeshC.iMeshComponent._ctor) */
117   struct iMeshC_iMeshComponent__data *dptr = 
118       (struct iMeshC_iMeshComponent__data*)malloc(sizeof(struct iMeshC_iMeshComponent__data));
119   if (dptr) {
120      memset(dptr, 0, sizeof(struct iMeshC_iMeshComponent__data));
121   }
122   iMeshC_iMeshComponent__set_data(self, dptr);
123   #if _BOCCA_CTOR_MESSAGES
124     BOCCA_FPRINTF(stderr, 
125        "CTOR iMeshC.iMeshComponent: %s constructed data %p in self %p\n", 
126        __FUNC__, dptr, self);
127   #endif /* _BOCCA_CTOR_MESSAGES */
128  /* bocca-default-code. User may edit or delete.end(iMeshC.iMeshComponent._ctor) */
129
130  /* initialize user elements of dptr here */
131  /* Insert-UserCode-Here {iMeshC.iMeshComponent._ctor} (constructor method) */
132
133  /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent._ctor) */
134  }
135}
136
137/*
138 * Special Class constructor called when the user wants to wrap his own private data.
139 */
140
141#undef __FUNC__
142#define __FUNC__ "impl_iMeshC_iMeshComponent__ctor2"
143
144#ifdef __cplusplus
145extern "C"
146#endif
147void
148impl_iMeshC_iMeshComponent__ctor2(
149  /* in */ iMeshC_iMeshComponent self,
150  /* in */ void* private_data,
151  /* out */ sidl_BaseInterface *_ex)
152{
153  *_ex = 0;
154  {
155    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent._ctor2) */
156    /* Insert-Code-Here {iMeshC.iMeshComponent._ctor2} (special constructor method) */
157   
158    /* DO-DELETE-WHEN-IMPLEMENTING exception.begin() */
159    /*
160     * This method has not been implemented.
161     */
162    SIDL_THROW(*_ex, sidl_NotImplementedException,     "This method has not been implemented");
163  EXIT:;
164    /* DO-DELETE-WHEN-IMPLEMENTING exception.end() */
165   
166    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent._ctor2) */
167  }
168}
169/*
170 * Class destructor called when the class is deleted.
171 */
172
173#undef __FUNC__
174#define __FUNC__ "impl_iMeshC_iMeshComponent__dtor"
175
176#ifdef __cplusplus
177extern "C"
178#endif
179void
180impl_iMeshC_iMeshComponent__dtor(
181  /* in */ iMeshC_iMeshComponent self,
182  /* out */ sidl_BaseInterface *_ex)
183{
184  *_ex = 0;
185  {
186  /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent._dtor) */
187
188  /* deinitialize user elements of dptr here */
189  /* Insert-UserCode-Here {iMeshC.iMeshComponent._dtor} (destructor method) */
190   
191  /* bocca-default-code. User may edit or delete.begin(iMeshC.iMeshComponent._dtor) */
192   struct iMeshC_iMeshComponent__data *dptr = 
193                iMeshC_iMeshComponent__get_data(self);
194   if (dptr) {
195      free(dptr);
196      iMeshC_iMeshComponent__set_data(self, NULL);
197   }
198   #if _BOCCA_CTOR_MESSAGES
199     BOCCA_FPRINTF(stderr, "DTOR iMeshC.iMeshComponent: %s freed data %p in self %p\n", 
200                   __FUNC__, dptr, self);
201   #endif /* _BOCCA_CTOR_MESSAGES */
202  /* bocca-default-code. User may edit or delete.end(iMeshC.iMeshComponent._dtor) */
203
204  /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent._dtor) */
205  }
206}
207
208/*
209 * Method:  boccaSetServices[]
210 */
211
212#undef __FUNC__
213#define __FUNC__ "impl_iMeshC_iMeshComponent_boccaSetServices"
214
215#ifdef __cplusplus
216extern "C"
217#endif
218void
219impl_iMeshC_iMeshComponent_boccaSetServices(
220  /* in */ iMeshC_iMeshComponent self,
221  /* in */ gov_cca_Services services,
222  /* out */ sidl_BaseInterface *_ex)
223{
224  *_ex = 0;
225  {
226/* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.boccaSetServices) */
227/* DO-NOT-EDIT-BOCCA */
228/* Bocca generated code. bocca.protected.begin(iMeshC.iMeshComponent.boccaSetServices) */
229   struct iMeshC_iMeshComponent__data *pd;
230   gov_cca_ComponentRelease   compRelease = NULL;
231   sidl_BaseInterface throwaway_excpt = NULL; /* for use in EXIT block only. */
232   int dr_services=0; /* assume releaseServices will not be called if setServices fails */
233   
234
235   gov_cca_TypeMap typeMap = NULL;
236   gov_cca_Port port = NULL;
237
238   pd = iMeshC_iMeshComponent__get_data(self);
239   if (pd == NULL) {
240     SIDL_THROW(*_ex, sidl_SIDLException, 
241          "NULL data pointer in iMeshC.iMeshComponent boccaSetServices");
242   }
243
244   pd->d_services = services;
245   gov_cca_Services_addRef(services, _ex); SIDL_CHECK(*_ex);
246   dr_services=1;
247
248
249  /* Create a typemap  */
250   typeMap = gov_cca_Services_createTypeMap(pd->d_services, _ex); 
251   SIDL_CHECK(*_ex);
252   /* We must pass the exception back up; the framework is hosed and not our problem. */
253
254  /* Cast myself to gov.cca.Port */
255   port = gov_cca_Port__cast(self, _ex); SIDL_CHECK(*_ex);
256
257   /* Provide a iMeshC.iMeshPort port with port name mesh */
258   gov_cca_Services_addProvidesPort(pd->d_services,   
259                                    port,               /* the implementing object */
260                                    "mesh", /* the name seen by the user */
261                                    "iMeshC.iMeshPort", /* sidl name of the port type. */
262                                    typeMap,            /* extra properties */
263                                    _ex); SIDL_CHECK(*_ex);
264
265   gov_cca_Port_deleteRef(port, _ex); port = NULL; SIDL_CHECK(*_ex);
266
267   gov_cca_TypeMap_deleteRef(typeMap,_ex); typeMap = NULL; SIDL_CHECK(*_ex);
268
269   /* Cast myself to gov.cca.ComponentRelease */
270   compRelease = gov_cca_ComponentRelease__cast(self, _ex); SIDL_CHECK(*_ex);
271   gov_cca_Services_registerForRelease(pd->d_services, 
272                                       compRelease, _ex);
273   SIDL_CHECK(*_ex);
274   gov_cca_ComponentRelease_deleteRef(compRelease, _ex); compRelease = NULL; 
275   SIDL_CHECK(*_ex);
276   return;
277
278   /* exceptions exit through here, where we clean up memory references. */
279EXIT:;
280   if (dr_services != 0) { 
281     gov_cca_Services_deleteRef(services, &throwaway_excpt); 
282     SIDL_CLEAR(throwaway_excpt);
283     services = NULL;
284   }
285   if (compRelease != NULL) {
286     gov_cca_ComponentRelease_deleteRef(compRelease, &throwaway_excpt); 
287     SIDL_CLEAR(throwaway_excpt);
288     compRelease = NULL;
289   }
290
291   if (typeMap != NULL) {
292     gov_cca_TypeMap_deleteRef(typeMap, &throwaway_excpt); 
293     SIDL_CLEAR(throwaway_excpt);
294     port = NULL;
295   }
296   if (port != NULL) {
297     gov_cca_Port_deleteRef(port, &throwaway_excpt); 
298     SIDL_CLEAR(throwaway_excpt);
299     port = NULL;
300   }
301
302   return;
303
304/* Bocca generated code. bocca.protected.end(iMeshC.iMeshComponent.boccaSetServices) */
305/* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.boccaSetServices) */
306  }
307}
308
309/*
310 * Method:  boccaReleaseServices[]
311 */
312
313#undef __FUNC__
314#define __FUNC__ "impl_iMeshC_iMeshComponent_boccaReleaseServices"
315
316#ifdef __cplusplus
317extern "C"
318#endif
319void
320impl_iMeshC_iMeshComponent_boccaReleaseServices(
321  /* in */ iMeshC_iMeshComponent self,
322  /* in */ gov_cca_Services services,
323  /* out */ sidl_BaseInterface *_ex)
324{
325  *_ex = 0;
326  {
327/*  DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.boccaReleaseServices) */
328/* DO-NOT-EDIT-BOCCA */
329/*  Bocca generated code. bocca.protected.begin(iMeshC.iMeshComponent.boccaReleaseServices) */
330
331   struct iMeshC_iMeshComponent__data *pd;
332   sidl_BaseInterface throwaway_excpt = NULL;
333   sidl_BaseInterface dummy_excpt = NULL;
334   char *errMsg=NULL;
335   /* our policy is to trap and optionally print all port-related messages,
336      attempting to eliminate all ports. */
337
338
339   /* UN-Provide a iMeshC.iMeshPort port with port name mesh */
340   gov_cca_Services_removeProvidesPort(services, "mesh", 
341                                       &throwaway_excpt);
342   errMsg = "Error: Could not removeProvidesPort(\"mesh\")";
343   iMeshC_iMeshComponent_checkException(self, throwaway_excpt, errMsg, FALSE, 
344                                   &dummy_excpt);
345
346   services = NULL;
347   pd = iMeshC_iMeshComponent__get_data(self);
348   if (pd == NULL) {
349     SIDL_THROW(*_ex, sidl_SIDLException, 
350        "NULL data pointer in iMeshC.iMeshComponent boccaSetServices");
351   }
352   gov_cca_Services_deleteRef(pd->d_services, _ex); 
353   SIDL_CHECK(*_ex);
354   pd->d_services = NULL;
355   return;
356
357EXIT:;
358   return;
359/*  Bocca generated code. bocca.protected.end(iMeshC.iMeshComponent.boccaReleaseServices) */
360/*  DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.boccaReleaseServices)) */
361  }
362}
363
364/*
365 * Method:  checkException[]
366 */
367
368#undef __FUNC__
369#define __FUNC__ "impl_iMeshC_iMeshComponent_checkException"
370
371#ifdef __cplusplus
372extern "C"
373#endif
374void
375impl_iMeshC_iMeshComponent_checkException(
376  /* in */ iMeshC_iMeshComponent self,
377  /* in */ sidl_BaseInterface excpt,
378  /* in */ const char* msg,
379  /* in */ sidl_bool fatal,
380  /* out */ sidl_BaseInterface *_ex)
381{
382  *_ex = 0;
383  {
384/*  DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.checkException) */
385/* DO-NOT-EDIT-BOCCA */
386/*  Bocca generated code. bocca.protected.begin(iMeshC.iMeshComponent.checkException) */
387#ifdef _BOCCA_STDERR
388   sidl_BaseException be = NULL;
389   char *etext=NULL;
390#endif
391   
392   if (SIDL_CATCH(excpt, "sidl.BaseException")) {
393#ifdef _BOCCA_STDERR
394      be  = sidl_BaseException__cast(excpt, _ex); SIDL_CLEAR(*_ex);
395      etext = sidl_BaseException_getNote(be, _ex); SIDL_CLEAR(*_ex);
396      fprintf(stderr, "iMeshC.iMeshComponent: %s \n%s\n", msg,etext);
397      sidl_String_free(etext);
398      if (be != NULL) { 
399        sidl_BaseException_deleteRef(be, _ex); SIDL_CLEAR(*_ex);
400        be = NULL;
401      }
402#endif
403      SIDL_CLEAR(excpt);
404      if (fatal) exit(1);
405   }
406   return;
407   
408/*  Bocca generated code. bocca.protected.end(iMeshC.iMeshComponent.checkException) */
409   
410/*  DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.checkException) */
411  }
412}
413
414/*
415 *  This function should never be called, but helps babel generate better code.
416 */
417
418#undef __FUNC__
419#define __FUNC__ "impl_iMeshC_iMeshComponent_boccaForceUsePortInclude"
420
421#ifdef __cplusplus
422extern "C"
423#endif
424void
425impl_iMeshC_iMeshComponent_boccaForceUsePortInclude(
426  /* in */ iMeshC_iMeshComponent self,
427  /* out */ sidl_BaseInterface *_ex)
428{
429  *_ex = 0;
430  {
431  /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.boccaForceUsePortInclude) */
432/* DO-NOT-EDIT-BOCCA */
433  /* Bocca generated code. bocca.protected.begin(iMeshC.iMeshComponent.boccaForceUsePortInclude) */
434    (void)self;
435
436  /* Bocca generated code. bocca.protected.end(iMeshC.iMeshComponent.boccaForceUsePortInclude) */
437  /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.boccaForceUsePortInclude) */
438  }
439}
440
441/*
442 *  Starts up a component presence in the calling framework.
443 * @param services the component instance's handle on the framework world.
444 * Contracts concerning services and setServices:
445 *
446 * The component interaction with the CCA framework
447 * and Ports begins on the call to setServices by the framework.
448 *
449 * This function is called exactly once for each instance created
450 * by the framework.
451 *
452 * The argument services will never be nil/null.
453 *
454 * Those uses ports which are automatically connected by the framework
455 * (so-called service-ports) may be obtained via getPort during
456 * setServices.
457 */
458
459#undef __FUNC__
460#define __FUNC__ "impl_iMeshC_iMeshComponent_setServices"
461
462#ifdef __cplusplus
463extern "C"
464#endif
465void
466impl_iMeshC_iMeshComponent_setServices(
467  /* in */ iMeshC_iMeshComponent self,
468  /* in */ gov_cca_Services services,
469  /* out */ sidl_BaseInterface *_ex)
470{
471  *_ex = 0;
472  {
473  /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setServices) */
474
475  /*  Insert-UserDecl-Here {iMeshC.iMeshComponent.setServices} (setServices method) */
476
477  /* bocca-default-code. User may edit or delete.begin(iMeshC.iMeshComponent.setServices) */
478    impl_iMeshC_iMeshComponent_boccaSetServices(self, services, _ex); SIDL_CHECK(*_ex);
479  /* bocca-default-code. User may edit or delete.end(iMeshC.iMeshComponent.setServices) */
480 
481  /*  Insert-UserCode-Here {iMeshC.iMeshComponent.setServices} (setServices method) */
482
483EXIT:;
484    /* Insert additional exception cleanup here if needed. */
485    return;
486
487  /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setServices) */
488  }
489}
490
491/*
492 * Shuts down a component presence in the calling framework.
493 * @param services the component instance's handle on the framework world.
494 * Contracts concerning services and setServices:
495 *
496 * This function is called exactly once for each callback registered
497 * through Services.
498 *
499 * The argument services will never be nil/null.
500 * The argument services will always be the same as that received in
501 * setServices.
502 *
503 * During this call the component should release any interfaces
504 * acquired by getPort().
505 *
506 * During this call the component should reset to nil any stored
507 * reference to services.
508 *
509 * After this call, the component instance will be removed from the
510 * framework. If the component instance was created by the
511 * framework, it will be destroyed, not recycled, The behavior of
512 * any port references obtained from this component instance and
513 * stored elsewhere becomes undefined.
514 *
515 * Notes for the component implementor:
516 * 1) The component writer may perform blocking activities
517 * within releaseServices, such as waiting for remote computations
518 * to shutdown.
519 * 2) It is good practice during releaseServices for the component
520 * writer to remove or unregister all the ports it defined.
521 */
522
523#undef __FUNC__
524#define __FUNC__ "impl_iMeshC_iMeshComponent_releaseServices"
525
526#ifdef __cplusplus
527extern "C"
528#endif
529void
530impl_iMeshC_iMeshComponent_releaseServices(
531  /* in */ iMeshC_iMeshComponent self,
532  /* in */ gov_cca_Services services,
533  /* out */ sidl_BaseInterface *_ex)
534{
535  *_ex = 0;
536  {
537  /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.releaseServices) */
538
539  /*  Insert-UserCode-Here {iMeshC.iMeshComponent.releaseServices} (releaseServices method) */
540
541  /* bocca-default-code. User may edit or delete.begin(iMeshC.iMeshComponent.releaseServices) */
542    impl_iMeshC_iMeshComponent_boccaReleaseServices(self, services, _ex); SIDL_CHECK(*_ex);
543    return;
544  /* bocca-default-code. User may edit or delete.end(iMeshC.iMeshComponent.releaseServices) */
545
546EXIT:;
547    /* Insert additional exception cleanup here if needed. */
548    return;
549
550  /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.releaseServices) */
551  }
552}
553
554/*
555 * Method:  newMesh[]
556 */
557
558#undef __FUNC__
559#define __FUNC__ "impl_iMeshC_iMeshComponent_newMesh"
560
561#ifdef __cplusplus
562extern "C"
563#endif
564void
565impl_iMeshC_iMeshComponent_newMesh(
566  /* in */ iMeshC_iMeshComponent self,
567  /* in */ const char* options,
568  /* out */ void** new_mesh,
569  /* out */ sidl_BaseInterface *_ex)
570{
571  *_ex = 0;
572  {
573    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.newMesh) */
574    /* Insert-Code-Here {iMeshC.iMeshComponent.newMesh} (newMesh method) */
575   
576    int err = 0;
577    if (options == NULL) {
578       iMesh_newMesh(NULL,new_mesh,&err,0);
579    } else {
580       iMesh_newMesh(options,new_mesh,&err,strlen(options));
581    }
582    if (err != iBase_SUCCESS) {
583       printf("Unable to allocate the mesh. Exiting with error # %d \n",err);
584       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
585    }
586  }
587
588  EXIT:; { 
589    return; 
590    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.newMesh) */
591  }
592}
593
594/*
595 * Method:  deleteMesh[]
596 */
597
598#undef __FUNC__
599#define __FUNC__ "impl_iMeshC_iMeshComponent_deleteMesh"
600
601#ifdef __cplusplus
602extern "C"
603#endif
604void
605impl_iMeshC_iMeshComponent_deleteMesh(
606  /* in */ iMeshC_iMeshComponent self,
607  /* in */ void* mesh,
608  /* out */ sidl_BaseInterface *_ex)
609{
610  *_ex = 0;
611  {
612    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.deleteMesh) */
613    /* Insert-Code-Here {iMeshC.iMeshComponent.deleteMesh} (deleteMesh method) */
614    int err = 0;
615    iMesh_dtor(mesh,&err);
616    if (err != iBase_SUCCESS) {
617       printf("Unable to delete mesh. Exiting with error # %d\n",err);
618       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
619    }
620  }
621  EXIT:; {
622    return; 
623    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.deleteMesh) */
624  }
625}
626
627/*
628 * Method:  load[]
629 */
630
631#undef __FUNC__
632#define __FUNC__ "impl_iMeshC_iMeshComponent_load"
633
634#ifdef __cplusplus
635extern "C"
636#endif
637void
638impl_iMeshC_iMeshComponent_load(
639  /* in */ iMeshC_iMeshComponent self,
640  /* in */ void* mesh,
641  /* in */ void* entity_set_handle,
642  /* in */ const char* name,
643  /* in */ const char* options,
644  /* out */ sidl_BaseInterface *_ex)
645{
646  *_ex = 0;
647  {
648    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.load) */
649    /* Insert-Code-Here {iMeshC.iMeshComponent.load} (load method) */
650   
651    int err = 0;
652    if (options == NULL) {
653       iMesh_load(mesh,entity_set_handle,name,NULL,&err,strlen(name),0);
654    } else {
655       printf("filename = %s, options = %s, %d %d\n",name,options,strlen(name),strlen(options));
656       iMesh_load(mesh,entity_set_handle,name,options,&err,strlen(name),
657                 strlen(options));
658    }
659    if (err != iBase_SUCCESS) {
660       printf("Unable to load the mesh at %s. Exiting with error # %d \n",
661             name,err);
662       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
663    }
664   
665  }
666  EXIT:; {
667    return;
668    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.load) */
669  }
670}
671
672/*
673 * Method:  save[]
674 */
675
676#undef __FUNC__
677#define __FUNC__ "impl_iMeshC_iMeshComponent_save"
678
679#ifdef __cplusplus
680extern "C"
681#endif
682void
683impl_iMeshC_iMeshComponent_save(
684  /* in */ iMeshC_iMeshComponent self,
685  /* in */ void* mesh,
686  /* in */ void* entity_set_handle,
687  /* in */ const char* name,
688  /* in */ const char* options,
689  /* out */ sidl_BaseInterface *_ex)
690{
691  *_ex = 0;
692  {
693    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.save) */
694    /* Insert-Code-Here {iMeshC.iMeshComponent.save} (save method) */
695    int err = 0;
696    if (options == NULL) {
697       iMesh_save(mesh,entity_set_handle,name,NULL,&err,strlen(name),0);
698    } else {
699       printf("filename = %s, options = %s, %d %d\n",name,options,strlen(name),strlen(options));
700       iMesh_save(mesh,entity_set_handle,name,options,&err,strlen(name),
701                 strlen(options));
702    }
703    if (err != iBase_SUCCESS) {
704       printf("Unable to save the mesh at %s. Exiting with error # %d \n",
705             name,err);
706       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
707    }
708  }
709  EXIT:; {
710    return;   
711    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.save) */
712  }
713}
714
715/*
716 * Method:  getRootSet[]
717 */
718
719#undef __FUNC__
720#define __FUNC__ "impl_iMeshC_iMeshComponent_getRootSet"
721
722#ifdef __cplusplus
723extern "C"
724#endif
725void
726impl_iMeshC_iMeshComponent_getRootSet(
727  /* in */ iMeshC_iMeshComponent self,
728  /* in */ void* mesh,
729  /* out */ void** root_set,
730  /* out */ sidl_BaseInterface *_ex)
731{
732  *_ex = 0;
733  {
734    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getRootSet) */
735    /* Insert-Code-Here {iMeshC.iMeshComponent.getRootSet} (getRootSet method) */
736    int err = 0;
737    iMesh_getRootSet(mesh,root_set,&err);
738    if (err != iBase_SUCCESS) {
739       printf("Unable to allocate the mesh. Exiting with error # %d \n",err);
740       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
741    }
742   
743  }
744  EXIT:; {
745    return; 
746    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getRootSet) */
747  }
748}
749
750/*
751 * Method:  getDfltStorage[]
752 */
753
754#undef __FUNC__
755#define __FUNC__ "impl_iMeshC_iMeshComponent_getDfltStorage"
756
757#ifdef __cplusplus
758extern "C"
759#endif
760void
761impl_iMeshC_iMeshComponent_getDfltStorage(
762  /* in */ iMeshC_iMeshComponent self,
763  /* in */ void* mesh,
764  /* out */ int32_t* dflt_storage,
765  /* out */ sidl_BaseInterface *_ex)
766{
767  *_ex = 0;
768  {
769    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getDfltStorage) */
770    /* Insert-Code-Here {iMeshC.iMeshComponent.getDfltStorage} (getDfltStorage method) */
771    int err = 0;
772    iMesh_getDfltStorage(mesh,dflt_storage,&err);
773    if (err != iBase_SUCCESS) {
774       printf("Unable to get default storage order. Exiting with error # %d \n",
775             err);
776       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
777    }
778  }
779  EXIT:; {
780    return;
781    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getDfltStorage) */
782  }
783}
784
785/*
786 * Method:  getAllVtxCoords[]
787 */
788
789#undef __FUNC__
790#define __FUNC__ "impl_iMeshC_iMeshComponent_getAllVtxCoords"
791
792#ifdef __cplusplus
793extern "C"
794#endif
795void
796impl_iMeshC_iMeshComponent_getAllVtxCoords(
797  /* in */ iMeshC_iMeshComponent self,
798  /* in */ void* mesh,
799  /* in */ void* entity_set,
800  /* out array<double> */ struct sidl_double__array** coords,
801  /* out */ int32_t* coords_size,
802  /* inout array<int> */ struct sidl_int__array** in_entity_set,
803  /* out */ int32_t* in_entity_set_size,
804  /* inout */ int32_t* storage_order,
805  /* out */ sidl_BaseInterface *_ex)
806{
807  *_ex = 0;
808  {
809    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getAllVtxCoords) */
810    /* Insert-Code-Here {iMeshC.iMeshComponent.getAllVtxCoords} (getAllVtxCoords method) */
811    int i, err = 0, coordsAllocated = 0, entitySetAllocated = 0, sidlSize;
812    int32_t lower[1], upper[1], stride[1], *in_entity_set2;
813    double *coords2;
814    iMesh_getAllVtxCoords(mesh,entity_set,&coords2,&coordsAllocated,coords_size,
815                         &in_entity_set2,&entitySetAllocated,
816                         in_entity_set_size,storage_order,&err);
817    if (err != iBase_SUCCESS) {
818       printf("Unable to get all vertex coordinates.");
819       printf("Exiting with error # %d \n",err);
820       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
821    } else {
822       lower[0] = 0;
823       upper[0] = *coords_size - 1;
824       stride[0] = 1;
825       *coords = sidl_double__array_borrow(coords2,1,lower,upper,stride);
826       *in_entity_set = sidl_int__array_borrow(in_entity_set2,1,lower,
827                                              upper,stride);
828    }
829  } 
830  EXIT:; {
831    return;
832    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getAllVtxCoords) */
833  }
834}
835
836/*
837 * Method:  getGeometricDim[]
838 */
839
840#undef __FUNC__
841#define __FUNC__ "impl_iMeshC_iMeshComponent_getGeometricDim"
842
843#ifdef __cplusplus
844extern "C"
845#endif
846void
847impl_iMeshC_iMeshComponent_getGeometricDim(
848  /* in */ iMeshC_iMeshComponent self,
849  /* in */ void* mesh,
850  /* out */ int32_t* dim,
851  /* out */ sidl_BaseInterface *_ex)
852{
853  *_ex = 0;
854  {
855    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getGeometricDim) */
856    /* Insert-Code-Here {iMeshC.iMeshComponent.getGeometricDim} (getGeometricDim method) */
857    int err = 0;
858    iMesh_getGeometricDimension(mesh,dim,&err);
859    if (err != iBase_SUCCESS) {
860       printf("Unable to get the geometric dimension of the mesh.");
861       printf("Exiting with error # %d \n",err);
862       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
863    }
864  }
865  EXIT:; {
866    return; 
867    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getGeometricDim) */
868  }
869}
870
871/*
872 * Method:  getAdjTable[]
873 */
874
875#undef __FUNC__
876#define __FUNC__ "impl_iMeshC_iMeshComponent_getAdjTable"
877
878#ifdef __cplusplus
879extern "C"
880#endif
881void
882impl_iMeshC_iMeshComponent_getAdjTable(
883  /* in */ iMeshC_iMeshComponent self,
884  /* in */ void* mesh,
885  /* out array<iMeshC.AdjacencyInfo> */ struct iMeshC_AdjacencyInfo__array** 
886    adjacency_table,
887  /* out */ int32_t* adjacency_table_size,
888  /* out */ sidl_BaseInterface *_ex)
889{
890  *_ex = 0;
891  {
892    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getAdjTable) */
893    /* Insert-Code-Here {iMeshC.iMeshComponent.getAdjTable} (getAdjTable method) */
894    int err = 0, allocated = 0, *adTable2 = NULL;
895    int lower[1], upper[1], stride[1];
896    iMesh_getAdjTable(mesh,&adTable2,&allocated,adjacency_table_size,&err);
897    if (err != iBase_SUCCESS) {
898       printf("Unable to get adjacency table.\n");
899       printf("Exiting with error # %d \n",err);
900       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
901    } else {
902       lower[0] = 0;
903       upper[0] = *adjacency_table_size - 1;
904       stride[0] = 1;
905       *adjacency_table = iMeshC_AdjacencyInfo__array_borrow(adTable2,1,
906                                 lower,upper,stride);
907    }
908  }
909  EXIT:; {
910    return; 
911    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getAdjTable) */
912  }
913}
914
915/*
916 * Method:  areEHValid[]
917 */
918
919#undef __FUNC__
920#define __FUNC__ "impl_iMeshC_iMeshComponent_areEHValid"
921
922#ifdef __cplusplus
923extern "C"
924#endif
925void
926impl_iMeshC_iMeshComponent_areEHValid(
927  /* in */ iMeshC_iMeshComponent self,
928  /* in */ void* mesh,
929  /* in */ int32_t reset,
930  /* out */ int32_t* are_valid,
931  /* out */ sidl_BaseInterface *_ex)
932{
933  *_ex = 0;
934  {
935    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.areEHValid) */
936    /* Insert-Code-Here {iMeshC.iMeshComponent.areEHValid} (areEHValid method) */
937    int err = 0;
938    iMesh_areEHValid(mesh,reset,are_valid,&err);
939    if (err != iBase_SUCCESS) {
940       printf("Unable to check validity of entity handles.\n");
941       printf("Exiting with error # %d \n",err);
942       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
943    } 
944  }
945  EXIT:; {
946    return;
947    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.areEHValid) */
948  }
949}
950
951/*
952 * Method:  getNumOfType[]
953 */
954
955#undef __FUNC__
956#define __FUNC__ "impl_iMeshC_iMeshComponent_getNumOfType"
957
958#ifdef __cplusplus
959extern "C"
960#endif
961void
962impl_iMeshC_iMeshComponent_getNumOfType(
963  /* in */ iMeshC_iMeshComponent self,
964  /* in */ void* mesh,
965  /* in */ void* entity_set_handle,
966  /* in */ enum iMeshC_EntityType__enum entity_type,
967  /* out */ int32_t* num_type,
968  /* out */ sidl_BaseInterface *_ex)
969{
970  *_ex = 0;
971  {
972    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getNumOfType) */
973    int err = 0;
974    iMesh_getNumOfType(mesh,entity_set_handle,entity_type,num_type,&err);
975    if (err != iBase_SUCCESS) {
976       printf("Unable to get the number of entities of type # %d.\n",
977             entity_type);
978       printf("Exiting with error # %d \n",err);
979       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
980    }
981  }
982  EXIT:; {
983    return;
984    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getNumOfType) */
985  }
986}
987
988/*
989 * Method:  getNumOfTopo[]
990 */
991
992#undef __FUNC__
993#define __FUNC__ "impl_iMeshC_iMeshComponent_getNumOfTopo"
994
995#ifdef __cplusplus
996extern "C"
997#endif
998void
999impl_iMeshC_iMeshComponent_getNumOfTopo(
1000  /* in */ iMeshC_iMeshComponent self,
1001  /* in */ void* mesh,
1002  /* in */ void* entity_set_handle,
1003  /* in */ enum iMeshC_EntityTopology__enum entity_topology,
1004  /* out */ int32_t* num_topo,
1005  /* out */ sidl_BaseInterface *_ex)
1006{
1007  *_ex = 0;
1008  {
1009    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getNumOfTopo) */
1010    /* Insert-Code-Here {iMeshC.iMeshComponent.getNumOfTopo} (getNumOfTopo method) */
1011    int err = 0;
1012    iMesh_getNumOfTopo(mesh,entity_set_handle,entity_topology,num_topo,&err);
1013    if (err != iBase_SUCCESS) {
1014       printf("Unable to get the number of topologies.\n");
1015       printf("Exiting with error # %d \n",err);
1016       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1017    }
1018  }
1019  EXIT:; {
1020    return;
1021    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getNumOfTopo) */
1022  }
1023}
1024
1025/*
1026 * Method:  getVtxCoordIndex[]
1027 */
1028
1029#undef __FUNC__
1030#define __FUNC__ "impl_iMeshC_iMeshComponent_getVtxCoordIndex"
1031
1032#ifdef __cplusplus
1033extern "C"
1034#endif
1035void
1036impl_iMeshC_iMeshComponent_getVtxCoordIndex(
1037  /* in */ iMeshC_iMeshComponent self,
1038  /* in */ void* mesh,
1039  /* in */ void* entity_set,
1040  /* in */ enum iMeshC_EntityType__enum requested_entity_type,
1041  /* in */ enum iMeshC_EntityTopology__enum requested_entity_topology,
1042  /* in */ enum iMeshC_EntityType__enum entity_adjacency_type,
1043  /* inout array<int> */ struct sidl_int__array** offset,
1044  /* out */ int32_t* offset_size,
1045  /* inout array<int> */ struct sidl_int__array** index,
1046  /* out */ int32_t* index_size,
1047  /* inout array<iMeshC.EntityTopology> */ struct 
1048    iMeshC_EntityTopology__array** entity_topologies,
1049  /* out */ int32_t* entity_topologies_size,
1050  /* out */ sidl_BaseInterface *_ex)
1051{
1052  *_ex = 0;
1053  {
1054    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getVtxCoordIndex) */
1055    /* Insert-Code-Here {iMeshC.iMeshComponent.getVtxCoordIndex} (getVtxCoordIndex method) */
1056    int err = 0, *index2 = NULL, indexAlloc = 0, *offset2, offsetAlloc = 0;
1057    int entTopoAlloc = 0, *entTopo = NULL;
1058    int lower[1], upper[1], stride[1];
1059    iMesh_getVtxCoordIndex(mesh,entity_set,requested_entity_type,
1060                          requested_entity_topology,entity_adjacency_type,
1061                          &offset2,&offsetAlloc,offset_size,
1062                          &index2,&indexAlloc,index_size,
1063                          &entTopo,&entTopoAlloc, 
1064                          entity_topologies_size,&err);
1065    if (err != iBase_SUCCESS) {
1066       printf("Unable to get vertex coordinate index. Exiting with error # ");
1067       printf("%d\n",err);
1068       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1069    } else {
1070       stride[0] = 1;
1071       lower[0] = 0;
1072       upper[0] = *offset_size - 1;
1073       *offset = sidl_int__array_borrow(offset2,1,lower,upper,stride);
1074       upper[0] = *index_size - 1;
1075       *index = sidl_int__array_borrow(index2,1,lower,upper,stride);
1076       upper[0] = *entity_topologies_size - 1;
1077       *entity_topologies = iMeshC_EntityTopology__array_borrow(entTopo,
1078                                 1,lower,upper,stride);
1079    }
1080    if (offsetAlloc != *offset_size) {
1081       printf("Number of offsets didn't agree with array size in ");
1082       printf("getVtxCoordIndex.\n");
1083       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1084    }
1085    if (indexAlloc != *index_size) {
1086       printf("Number of indices didn't agree with array size in ");
1087       printf("getVtxCoordIndex.\n");
1088       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1089    }
1090    if (entTopoAlloc != *entity_topologies_size) {
1091       printf("Number of topologies didn't agree with array size in ");
1092       printf("getVtxCoordIndex.\n");
1093       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1094    }
1095  }
1096  EXIT:; {
1097    return;
1098    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getVtxCoordIndex) */
1099  }
1100}
1101
1102/*
1103 * Method:  getEntities[]
1104 */
1105
1106#undef __FUNC__
1107#define __FUNC__ "impl_iMeshC_iMeshComponent_getEntities"
1108
1109#ifdef __cplusplus
1110extern "C"
1111#endif
1112void
1113impl_iMeshC_iMeshComponent_getEntities(
1114  /* in */ iMeshC_iMeshComponent self,
1115  /* in */ void* mesh,
1116  /* in */ void* entity_set,
1117  /* in */ enum iMeshC_EntityType__enum entity_type,
1118  /* in */ enum iMeshC_EntityTopology__enum entity_topology,
1119  /* inout array<opaque> */ struct sidl_opaque__array** entity_handles,
1120  /* out */ int32_t* entity_handles_size,
1121  /* out */ sidl_BaseInterface *_ex)
1122{
1123  *_ex = 0;
1124  {
1125    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEntities) */
1126    /* Insert-Code-Here {iMeshC.iMeshComponent.getEntities} (getEntities method) */
1127    iBase_EntityHandle *entityHandles2;
1128    int err = 0, allocated = 0;
1129    int lower[1], upper[1], stride[1];
1130    iMesh_getEntities(mesh,entity_set,entity_type,entity_topology,
1131                     &entityHandles2,&allocated,entity_handles_size,&err);
1132    if (err != iBase_SUCCESS) {
1133       printf("Unable to get entities. Exiting with error # %d\n",err);
1134       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1135    } else {
1136       lower[0] = 0;
1137       upper[0] = *entity_handles_size - 1;
1138       stride[0] = 1;
1139       *entity_handles = sidl_opaque__array_borrow(entityHandles2,1,lower,
1140                                                  upper,stride);
1141    }
1142  }
1143  EXIT:; {
1144    return;
1145    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEntities) */
1146  }
1147}
1148
1149/*
1150 * Method:  getVtxArrCoords[]
1151 */
1152
1153#undef __FUNC__
1154#define __FUNC__ "impl_iMeshC_iMeshComponent_getVtxArrCoords"
1155
1156#ifdef __cplusplus
1157extern "C"
1158#endif
1159void
1160impl_iMeshC_iMeshComponent_getVtxArrCoords(
1161  /* in */ iMeshC_iMeshComponent self,
1162  /* in */ void* mesh,
1163  /* in array<opaque> */ struct sidl_opaque__array* vertex_handles,
1164  /* in */ int32_t vertex_handles_size,
1165  /* inout */ int32_t* storage_order,
1166  /* inout array<double> */ struct sidl_double__array** coords,
1167  /* out */ int32_t* coords_size,
1168  /* out */ sidl_BaseInterface *_ex)
1169{
1170  *_ex = 0;
1171  {
1172    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getVtxArrCoords) */
1173    /* Insert-Code-Here {iMeshC.iMeshComponent.getVtxArrCoords} (getVtxArrCoords method) */
1174    iBase_EntityHandle *vertexHandles2 = NULL;
1175    double *coords2 = NULL;
1176    int i = 0, err = 0, allocated = 0;
1177    int lower[1], upper[1], stride[1];
1178    // Copy input handles from SIDL array to iBase_EntityHandles array
1179    if (sidlStride(vertex_handles,0) == 1) {
1180       iMesh_getVtxArrCoords(mesh,vertex_handles->d_firstElement,
1181                            vertex_handles_size,storage_order,&coords2,
1182                            &allocated,coords_size,&err);
1183    } else {
1184       vertexHandles2 = malloc(vertex_handles_size*
1185                              sizeof(iBase_EntityHandle));
1186       for (i = 0; i < vertex_handles_size; ++i) {
1187           vertexHandles2[i] = sidl_opaque__array_get1(vertex_handles,i); 
1188       }
1189       iMesh_getVtxArrCoords(mesh,vertexHandles2,vertex_handles_size,
1190                         storage_order,&coords2,&allocated,coords_size,&err);
1191    }
1192    if (err != iBase_SUCCESS) {
1193       printf("Unable to get entities. Exiting with error # %d\n",err);
1194       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1195    } else {
1196       lower[0] = 0;
1197       upper[0] = *coords_size - 1;
1198       stride[0] = 1;
1199       *coords = sidl_double__array_borrow(coords2,1,lower,upper,stride);
1200    }
1201    if (sidlStride(vertex_handles,0) != 1) {
1202       free(vertexHandles2);
1203    }
1204  }
1205  EXIT:; {
1206    return;
1207    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getVtxArrCoords) */
1208  }
1209}
1210
1211/*
1212 * Method:  getAdjEntities[]
1213 */
1214
1215#undef __FUNC__
1216#define __FUNC__ "impl_iMeshC_iMeshComponent_getAdjEntities"
1217
1218#ifdef __cplusplus
1219extern "C"
1220#endif
1221void
1222impl_iMeshC_iMeshComponent_getAdjEntities(
1223  /* in */ iMeshC_iMeshComponent self,
1224  /* in */ void* mesh,
1225  /* in */ void* entity_set,
1226  /* in */ enum iMeshC_EntityType__enum entity_type_requestor,
1227  /* in */ enum iMeshC_EntityTopology__enum entity_topology_requestor,
1228  /* in */ enum iMeshC_EntityType__enum entity_type_requested,
1229  /* inout array<opaque> */ struct sidl_opaque__array** adj_entity_handles,
1230  /* out */ int32_t* adj_entity_handles_size,
1231  /* inout array<int> */ struct sidl_int__array** offset,
1232  /* out */ int32_t* offset_size,
1233  /* inout array<int> */ struct sidl_int__array** in_entity_set,
1234  /* out */ int32_t* in_entity_set_size,
1235  /* out */ sidl_BaseInterface *_ex)
1236{
1237  *_ex = 0;
1238  {
1239    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getAdjEntities) */
1240    /* Insert-Code-Here {iMeshC.iMeshComponent.getAdjEntities} (getAdjEntities method) */
1241    iBase_EntityHandle *adjEntityHandles2 = NULL;
1242    int err = 0, offsetAllocated = 0, *offset2 = NULL, *inEntitySet2 = NULL;
1243    int inEntitySetAlloc = 0, adjEntityHandlesAlloc = 0;
1244    int lower[1], upper[1], stride[1];
1245    iMesh_getAdjEntities(mesh,entity_set,entity_type_requestor,
1246                        entity_topology_requestor,entity_type_requested,
1247                        &adjEntityHandles2,&adjEntityHandlesAlloc,
1248                        adj_entity_handles_size,&offset2,&offsetAllocated,
1249                        offset_size,&inEntitySet2,&inEntitySetAlloc,
1250                        in_entity_set_size,&err);
1251    if (err != iBase_SUCCESS) {
1252       printf("Unable to get adjacent entities. Exiting with error # %d\n",
1253             err);
1254       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1255    } else {
1256       stride[0] = 1;
1257       lower[0] = 0;
1258       upper[0] = *adj_entity_handles_size - 1;
1259       *adj_entity_handles = sidl_opaque__array_borrow(adjEntityHandles2,
1260                                                      1,lower,upper,stride);
1261       upper[0] = *offset_size - 1;
1262       *offset = sidl_int__array_borrow(offset2,1,lower,upper,stride);
1263       upper[0] = *in_entity_set_size - 1;
1264       *in_entity_set = sidl_int__array_borrow(inEntitySet2,1,lower,
1265                                              upper,stride);
1266    } 
1267    if (adjEntityHandlesAlloc != *adj_entity_handles_size ||
1268       offsetAllocated != *offset_size ||
1269       inEntitySetAlloc != *in_entity_set_size) {
1270       printf("Number of elements didn't agree with array size for an array ");
1271       printf("in connectivity_test.\n");
1272       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1273    }
1274  }
1275  EXIT:; {
1276    return;
1277    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getAdjEntities) */
1278  }
1279}
1280
1281/*
1282 * Method:  initEntIter[]
1283 */
1284
1285#undef __FUNC__
1286#define __FUNC__ "impl_iMeshC_iMeshComponent_initEntIter"
1287
1288#ifdef __cplusplus
1289extern "C"
1290#endif
1291void
1292impl_iMeshC_iMeshComponent_initEntIter(
1293  /* in */ iMeshC_iMeshComponent self,
1294  /* in */ void* mesh,
1295  /* in */ void* entity_set_handle,
1296  /* in */ enum iMeshC_EntityType__enum requested_entity_type,
1297  /* in */ enum iMeshC_EntityTopology__enum requested_entity_topology,
1298  /* out */ void** entity_iterator,
1299  /* out */ sidl_BaseInterface *_ex)
1300{
1301  *_ex = 0;
1302  {
1303    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.initEntIter) */
1304    /* Insert-Code-Here {iMeshC.iMeshComponent.initEntIter} (initEntIter method) */
1305    int err = 0;
1306    iMesh_initEntIter(mesh,entity_set_handle,requested_entity_type,
1307                     requested_entity_topology,entity_iterator,&err);
1308    if (err != iBase_SUCCESS) {
1309       printf("Unable to initialize entity iterator. ");
1310       printf("Exiting with error # %d\n",err);
1311       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1312    }
1313  }
1314  EXIT:; {
1315    return;
1316    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.initEntIter) */
1317  }
1318}
1319
1320/*
1321 * Method:  getNextEntIter[]
1322 */
1323
1324#undef __FUNC__
1325#define __FUNC__ "impl_iMeshC_iMeshComponent_getNextEntIter"
1326
1327#ifdef __cplusplus
1328extern "C"
1329#endif
1330void
1331impl_iMeshC_iMeshComponent_getNextEntIter(
1332  /* in */ iMeshC_iMeshComponent self,
1333  /* in */ void* mesh,
1334  /* in */ void* entity_iterator,
1335  /* out */ void** entity_handle,
1336  /* out */ int32_t* at_end,
1337  /* out */ sidl_BaseInterface *_ex)
1338{
1339  *_ex = 0;
1340  {
1341    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getNextEntIter) */
1342    /* Insert-Code-Here {iMeshC.iMeshComponent.getNextEntIter} (getNextEntIter method) */
1343    int err = 0;
1344    iMesh_getNextEntIter(mesh,entity_iterator,entity_handle,at_end,&err);
1345    if (err != iBase_SUCCESS) {
1346       printf("Unable to get next entity iterator. \
1347             Exiting with error # %d\n",err);
1348       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1349    }
1350  }
1351  EXIT:; {
1352    return;
1353    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getNextEntIter) */
1354  }
1355}
1356
1357/*
1358 * Method:  resetEntIter[]
1359 */
1360
1361#undef __FUNC__
1362#define __FUNC__ "impl_iMeshC_iMeshComponent_resetEntIter"
1363
1364#ifdef __cplusplus
1365extern "C"
1366#endif
1367void
1368impl_iMeshC_iMeshComponent_resetEntIter(
1369  /* in */ iMeshC_iMeshComponent self,
1370  /* in */ void* mesh,
1371  /* in */ void* entity_iterator,
1372  /* out */ sidl_BaseInterface *_ex)
1373{
1374  *_ex = 0;
1375  {
1376    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.resetEntIter) */
1377    /* Insert-Code-Here {iMeshC.iMeshComponent.resetEntIter} (resetEntIter method) */
1378    int err = 0;
1379    iMesh_resetEntIter(mesh,entity_iterator,&err);
1380    if (err != iBase_SUCCESS) {
1381       printf("Unable to reset entity iterator. \
1382             Exiting with error # %d\n",err);
1383       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1384    }
1385  }
1386  EXIT:; {
1387    return;
1388    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.resetEntIter) */
1389  }
1390}
1391
1392/*
1393 * Method:  endEntIter[]
1394 */
1395
1396#undef __FUNC__
1397#define __FUNC__ "impl_iMeshC_iMeshComponent_endEntIter"
1398
1399#ifdef __cplusplus
1400extern "C"
1401#endif
1402void
1403impl_iMeshC_iMeshComponent_endEntIter(
1404  /* in */ iMeshC_iMeshComponent self,
1405  /* in */ void* mesh,
1406  /* in */ void* entity_iterator,
1407  /* out */ sidl_BaseInterface *_ex)
1408{
1409  *_ex = 0;
1410  {
1411    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.endEntIter) */
1412    /* Insert-Code-Here {iMeshC.iMeshComponent.endEntIter} (endEntIter method) */
1413    int err = 0;
1414    iMesh_endEntIter(mesh,entity_iterator,&err);
1415    if (err != iBase_SUCCESS) {
1416       printf("Unable to destroy entity iterator. \
1417             Exiting with error # %d\n",err);
1418       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1419    }
1420  }
1421  EXIT:; {
1422    return;
1423    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.endEntIter) */
1424  }
1425}
1426
1427/*
1428 * Method:  getEntTopo[]
1429 */
1430
1431#undef __FUNC__
1432#define __FUNC__ "impl_iMeshC_iMeshComponent_getEntTopo"
1433
1434#ifdef __cplusplus
1435extern "C"
1436#endif
1437void
1438impl_iMeshC_iMeshComponent_getEntTopo(
1439  /* in */ iMeshC_iMeshComponent self,
1440  /* in */ void* mesh,
1441  /* in */ void* entity_handle,
1442  /* out */ enum iMeshC_EntityTopology__enum* ent_topo,
1443  /* out */ sidl_BaseInterface *_ex)
1444{
1445  *_ex = 0;
1446  {
1447    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEntTopo) */
1448    /* Insert-Code-Here {iMeshC.iMeshComponent.getEntTopo} (getEntTopo method) */
1449    int32_t err = 0, topo = 0;
1450    iMesh_getEntTopo(mesh,entity_handle,&topo,&err);
1451    *ent_topo = topo;
1452    if (err != iBase_SUCCESS) {
1453       printf("Unable to get entity topology. \
1454             Exiting with error # %d\n",err);
1455       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1456    }
1457  }
1458  EXIT:; {
1459    return;
1460    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEntTopo) */
1461  }
1462}
1463
1464/*
1465 * Method:  getEntType[]
1466 */
1467
1468#undef __FUNC__
1469#define __FUNC__ "impl_iMeshC_iMeshComponent_getEntType"
1470
1471#ifdef __cplusplus
1472extern "C"
1473#endif
1474void
1475impl_iMeshC_iMeshComponent_getEntType(
1476  /* in */ iMeshC_iMeshComponent self,
1477  /* in */ void* mesh,
1478  /* in */ void* entity_handle,
1479  /* out */ enum iMeshC_EntityType__enum* ent_type,
1480  /* out */ sidl_BaseInterface *_ex)
1481{
1482  *_ex = 0;
1483  {
1484    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEntType) */
1485    /* Insert-Code-Here {iMeshC.iMeshComponent.getEntType} (getEntType method) */
1486    int err = 0, type = 0;
1487    iMesh_getEntType(mesh,entity_handle,&type,&err);
1488    *ent_type = type;
1489    if (err != iBase_SUCCESS) {
1490       printf("Unable to get entity type. \
1491             Exiting with error # %d\n",err);
1492       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1493    }
1494  }
1495  EXIT:; {
1496    return;
1497    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEntType) */
1498  }
1499}
1500
1501/*
1502 * Method:  getVtxCoord[]
1503 */
1504
1505#undef __FUNC__
1506#define __FUNC__ "impl_iMeshC_iMeshComponent_getVtxCoord"
1507
1508#ifdef __cplusplus
1509extern "C"
1510#endif
1511void
1512impl_iMeshC_iMeshComponent_getVtxCoord(
1513  /* in */ iMeshC_iMeshComponent self,
1514  /* in */ void* mesh,
1515  /* in */ void* vertex_handle,
1516  /* out */ double* x,
1517  /* out */ double* y,
1518  /* out */ double* z,
1519  /* out */ sidl_BaseInterface *_ex)
1520{
1521  *_ex = 0;
1522  {
1523    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getVtxCoord) */
1524    /* Insert-Code-Here {iMeshC.iMeshComponent.getVtxCoord} (getVtxCoord method) */
1525    int err = 0;
1526    iMesh_getVtxCoord(mesh,vertex_handle,x,y,z,&err);
1527    if (err != iBase_SUCCESS) {
1528       printf("Unable to get vertex coordinates. \
1529             Exiting with error # %d\n",err);
1530       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1531    }
1532  }
1533  EXIT:; {
1534    return;
1535    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getVtxCoord) */
1536  }
1537}
1538
1539/*
1540 * Method:  getEntAdj[]
1541 */
1542
1543#undef __FUNC__
1544#define __FUNC__ "impl_iMeshC_iMeshComponent_getEntAdj"
1545
1546#ifdef __cplusplus
1547extern "C"
1548#endif
1549void
1550impl_iMeshC_iMeshComponent_getEntAdj(
1551  /* in */ iMeshC_iMeshComponent self,
1552  /* in */ void* mesh,
1553  /* in */ void* entity_handle,
1554  /* in */ enum iMeshC_EntityType__enum entity_type_requested,
1555  /* inout array<opaque> */ struct sidl_opaque__array** adj_entity_handles,
1556  /* out */ int32_t* adj_entity_handles_size,
1557  /* out */ sidl_BaseInterface *_ex)
1558{
1559  *_ex = 0;
1560  {
1561    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEntAdj) */
1562    /* Insert-Code-Here {iMeshC.iMeshComponent.getEntAdj} (getEntAdj method) */
1563    iBase_EntityHandle *adjEntityHandles2 = NULL;
1564    int err = 0, alloc = 0;
1565    int lower[1], upper[1], stride[1];
1566    iMesh_getEntAdj(mesh,entity_handle,entity_type_requested,
1567                   &adjEntityHandles2,&alloc,adj_entity_handles_size,&err);
1568    if (err != iBase_SUCCESS) {
1569       printf("Unable to get entity adjacencies. \
1570             Exiting with error # %d\n",err);
1571       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1572    } else {
1573      lower[0] = 0;
1574      upper[0] = *adj_entity_handles_size - 1;
1575      stride[0] = 1;
1576      *adj_entity_handles = sidl_opaque__array_borrow(adjEntityHandles2,1,
1577                                                     lower,upper,stride);
1578    }
1579  }
1580  EXIT:; {
1581    return;
1582    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEntAdj) */
1583  }
1584}
1585
1586/*
1587 * Method:  getEnt2ndAdj[]
1588 */
1589
1590#undef __FUNC__
1591#define __FUNC__ "impl_iMeshC_iMeshComponent_getEnt2ndAdj"
1592
1593#ifdef __cplusplus
1594extern "C"
1595#endif
1596void
1597impl_iMeshC_iMeshComponent_getEnt2ndAdj(
1598  /* in */ iMeshC_iMeshComponent self,
1599  /* in */ void* mesh,
1600  /* in */ void* entity_handle,
1601  /* in */ enum iMeshC_EntityType__enum order_adjacent_key,
1602  /* in */ enum iMeshC_EntityType__enum entity_type_requested,
1603  /* inout array<opaque> */ struct sidl_opaque__array** adj_entity_handles,
1604  /* out */ int32_t* adj_entity_handles_size,
1605  /* out */ sidl_BaseInterface *_ex)
1606{
1607  *_ex = 0;
1608  {
1609    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEnt2ndAdj) */
1610    /* Insert-Code-Here {iMeshC.iMeshComponent.getEnt2ndAdj} (getEnt2ndAdj method) */
1611    iBase_EntityHandle *adjEntityHandles2 = NULL;
1612    int err = 0, allocated = 0;
1613    int lower[1], upper[1], stride[1];
1614    iMesh_getEnt2ndAdj(mesh,entity_handle,order_adjacent_key,
1615                      entity_type_requested,&adjEntityHandles2,&allocated,
1616                      adj_entity_handles_size,&err);
1617    if (err != iBase_SUCCESS) {
1618       printf("Unable to get entity second adjacencies. \
1619             Exiting with error # %d\n",err);
1620       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1621    } else {
1622      lower[0] = 0;
1623      upper[0] = *adj_entity_handles_size - 1;
1624      stride[0] = 1;
1625      *adj_entity_handles = sidl_opaque__array_borrow(adjEntityHandles2,1,
1626                                                     lower,upper,stride);
1627    }
1628  }
1629  EXIT:; {
1630    return;
1631    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEnt2ndAdj) */
1632  }
1633}
1634
1635/*
1636 * Method:  initEntArrIter[]
1637 */
1638
1639#undef __FUNC__
1640#define __FUNC__ "impl_iMeshC_iMeshComponent_initEntArrIter"
1641
1642#ifdef __cplusplus
1643extern "C"
1644#endif
1645void
1646impl_iMeshC_iMeshComponent_initEntArrIter(
1647  /* in */ iMeshC_iMeshComponent self,
1648  /* in */ void* mesh,
1649  /* in */ void* entity_set_handle,
1650  /* in */ enum iMeshC_EntityType__enum requested_entity_type,
1651  /* in */ enum iMeshC_EntityTopology__enum requested_entity_topology,
1652  /* in */ int32_t requested_array_size,
1653  /* out */ void** entArr_iterator,
1654  /* out */ sidl_BaseInterface *_ex)
1655{
1656  *_ex = 0;
1657  {
1658    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.initEntArrIter) */
1659    /* Insert-Code-Here {iMeshC.iMeshComponent.initEntArrIter} (initEntArrIter method) */
1660    int err = 0;
1661    iMesh_initEntArrIter(mesh,entity_set_handle,requested_entity_type,
1662                        requested_entity_topology,requested_array_size,
1663                        entArr_iterator,&err);
1664    if (err != iBase_SUCCESS) {
1665       printf("Unable to initialize entity array iterator. \
1666             Exiting with error # %d\n",err);
1667       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1668    }
1669  }
1670  EXIT:; {
1671    return;
1672    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.initEntArrIter) */
1673  }
1674}
1675
1676/*
1677 * Method:  getNextEntArrIter[]
1678 */
1679
1680#undef __FUNC__
1681#define __FUNC__ "impl_iMeshC_iMeshComponent_getNextEntArrIter"
1682
1683#ifdef __cplusplus
1684extern "C"
1685#endif
1686void
1687impl_iMeshC_iMeshComponent_getNextEntArrIter(
1688  /* in */ iMeshC_iMeshComponent self,
1689  /* in */ void* mesh,
1690  /* in */ void* entArr_iterator,
1691  /* inout array<opaque> */ struct sidl_opaque__array** entity_handles,
1692  /* out */ int32_t* entity_handles_size,
1693  /* out */ int32_t* at_end,
1694  /* out */ sidl_BaseInterface *_ex)
1695{
1696  *_ex = 0;
1697  {
1698    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getNextEntArrIter) */
1699    /* Insert-Code-Here {iMeshC.iMeshComponent.getNextEntArrIter} (getNextEntArrIter method) */
1700    iBase_EntityHandle *entityHandles2 = NULL;
1701    int err = 0, allocated = 0;
1702    int lower[1], upper[1], stride[1];
1703    iMesh_getNextEntArrIter(mesh,entArr_iterator,&entityHandles2,&allocated,
1704                           entity_handles_size,at_end,&err);
1705    if (err != iBase_SUCCESS) {
1706       printf("Unable to get next entity array iterator. \
1707             Exiting with error # %d\n",err);
1708       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1709    } else {
1710      lower[0] = 0;
1711      upper[0] = *entity_handles_size - 1;
1712      stride[0] = 1;
1713      *entity_handles = sidl_opaque__array_borrow(entityHandles2,1,
1714                                                     lower,upper,stride);
1715    }
1716  }
1717  EXIT:; {
1718    return;
1719    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getNextEntArrIter) */
1720  }
1721}
1722
1723/*
1724 * Method:  resetEntArrIter[]
1725 */
1726
1727#undef __FUNC__
1728#define __FUNC__ "impl_iMeshC_iMeshComponent_resetEntArrIter"
1729
1730#ifdef __cplusplus
1731extern "C"
1732#endif
1733void
1734impl_iMeshC_iMeshComponent_resetEntArrIter(
1735  /* in */ iMeshC_iMeshComponent self,
1736  /* in */ void* mesh,
1737  /* in */ void* entArr_iterator,
1738  /* out */ sidl_BaseInterface *_ex)
1739{
1740  *_ex = 0;
1741  {
1742    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.resetEntArrIter) */
1743    /* Insert-Code-Here {iMeshC.iMeshComponent.resetEntArrIter} (resetEntArrIter method) */
1744    int err = 0;
1745    iMesh_resetEntArrIter(mesh,entArr_iterator,&err);
1746    if (err != iBase_SUCCESS) {
1747       printf("Unable to reset array iterator. Exiting with error # %d\n",err);
1748       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1749    }
1750  }
1751  EXIT:; {
1752    return;
1753    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.resetEntArrIter) */
1754  }
1755}
1756
1757/*
1758 * Method:  endEntArrIter[]
1759 */
1760
1761#undef __FUNC__
1762#define __FUNC__ "impl_iMeshC_iMeshComponent_endEntArrIter"
1763
1764#ifdef __cplusplus
1765extern "C"
1766#endif
1767void
1768impl_iMeshC_iMeshComponent_endEntArrIter(
1769  /* in */ iMeshC_iMeshComponent self,
1770  /* in */ void* mesh,
1771  /* in */ void* entArr_iterator,
1772  /* out */ sidl_BaseInterface *_ex)
1773{
1774  *_ex = 0;
1775  {
1776    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.endEntArrIter) */
1777    /* Insert-Code-Here {iMeshC.iMeshComponent.endEntArrIter} (endEntArrIter method) */
1778    int err = 0;
1779    iMesh_endEntArrIter(mesh,entArr_iterator,&err);
1780    if (err != iBase_SUCCESS) {
1781       printf("Unable to destroy array iterator. Exiting with error # %d\n",
1782              err);
1783       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1784    }
1785  }
1786  EXIT:; {
1787    return;
1788    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.endEntArrIter) */
1789  }
1790}
1791
1792/*
1793 * Method:  getEntArrTopo[]
1794 */
1795
1796#undef __FUNC__
1797#define __FUNC__ "impl_iMeshC_iMeshComponent_getEntArrTopo"
1798
1799#ifdef __cplusplus
1800extern "C"
1801#endif
1802void
1803impl_iMeshC_iMeshComponent_getEntArrTopo(
1804  /* in */ iMeshC_iMeshComponent self,
1805  /* in */ void* mesh,
1806  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
1807  /* in */ int32_t entity_handles_size,
1808  /* inout array<iMeshC.EntityTopology> */ struct 
1809    iMeshC_EntityTopology__array** topology,
1810  /* out */ int32_t* topology_size,
1811  /* out */ sidl_BaseInterface *_ex)
1812{
1813  *_ex = 0;
1814  {
1815    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEntArrTopo) */
1816    /* Insert-Code-Here {iMeshC.iMeshComponent.getEntArrTopo} (getEntArrTopo method) */
1817    iBase_EntityHandle *entityHandles2 = NULL;
1818    int i = 0, err = 0, allocated = 0, *topology2 = NULL;
1819    int lower[1], upper[1], stride[1];
1820    if (sidlStride(entity_handles,0) == 1) {
1821       iMesh_getEntArrTopo(mesh,entity_handles->d_firstElement,
1822                          entity_handles_size,&topology2,&allocated,
1823                          topology_size,&err);
1824    } else {
1825       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
1826       for (i = 0; i < entity_handles_size; ++i) {
1827           entityHandles2[i] = sidl_opaque__array_get1(entity_handles,i);
1828       }
1829       iMesh_getEntArrTopo(mesh,entityHandles2,entity_handles_size,
1830                      &topology2,&allocated,topology_size,&err);
1831    }
1832    if (err != iBase_SUCCESS) {
1833       printf("Unable to get entity array topology. \
1834             Exiting with error # %d\n",err);
1835       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1836    } else {
1837      lower[0] = 0;
1838      upper[0] = *topology_size - 1;
1839      stride[0] = 1;
1840      *topology = iMeshC_EntityTopology__array_borrow(topology2,1,lower,
1841                                                           upper,stride);
1842    }
1843    if (sidlStride(entity_handles,0) != 1) {
1844       free(entityHandles2);
1845    }
1846  }
1847  EXIT:; {
1848    return;
1849    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEntArrTopo) */
1850  }
1851}
1852
1853/*
1854 * Method:  getEntArrType[]
1855 */
1856
1857#undef __FUNC__
1858#define __FUNC__ "impl_iMeshC_iMeshComponent_getEntArrType"
1859
1860#ifdef __cplusplus
1861extern "C"
1862#endif
1863void
1864impl_iMeshC_iMeshComponent_getEntArrType(
1865  /* in */ iMeshC_iMeshComponent self,
1866  /* in */ void* mesh,
1867  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
1868  /* in */ int32_t entity_handles_size,
1869  /* inout array<iMeshC.EntityType> */ struct iMeshC_EntityType__array** type,
1870  /* out */ int32_t* type_size,
1871  /* out */ sidl_BaseInterface *_ex)
1872{
1873  *_ex = 0;
1874  {
1875    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEntArrType) */
1876    /* Insert-Code-Here {iMeshC.iMeshComponent.getEntArrType} (getEntArrType method) */
1877    iBase_EntityHandle *entityHandles2 = NULL;
1878    int i = 0, err = 0, allocated = 0, *type2 = NULL;
1879    int lower[1], upper[1], stride[1];
1880    if (sidlStride(entity_handles,0) == 1) {
1881       iMesh_getEntArrType(mesh,entity_handles->d_firstElement,
1882                          entity_handles_size,&type2,&allocated,
1883                          type_size,&err);
1884    } else {
1885       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
1886       for (i = 0; i < entity_handles_size; ++i) {
1887           entityHandles2[i] = sidl_opaque__array_get1(entity_handles,i);
1888       }
1889       iMesh_getEntArrType(mesh,entityHandles2,entity_handles_size,
1890                          &type2,&allocated,type_size,&err);
1891    }
1892    if (err != iBase_SUCCESS) {
1893       printf("Unable to get entity array type. \
1894             Exiting with error # %d\n",err);
1895       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1896    } else {
1897      lower[0] = 0;
1898      upper[0] = *type_size - 1;
1899      stride[0] = 1;
1900      *type = iMeshC_EntityType__array_borrow(type2,1,lower,
1901                                                           upper,stride);
1902    }
1903    if (sidlStride(entity_handles,0) != 1) {
1904       free(entityHandles2);
1905    }
1906  }
1907  EXIT:; {
1908    return;
1909    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEntArrType) */
1910  }
1911}
1912
1913/*
1914 * Method:  getEntArrAdj[]
1915 */
1916
1917#undef __FUNC__
1918#define __FUNC__ "impl_iMeshC_iMeshComponent_getEntArrAdj"
1919
1920#ifdef __cplusplus
1921extern "C"
1922#endif
1923void
1924impl_iMeshC_iMeshComponent_getEntArrAdj(
1925  /* in */ iMeshC_iMeshComponent self,
1926  /* in */ void* mesh,
1927  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
1928  /* in */ int32_t entity_handles_size,
1929  /* in */ enum iMeshC_EntityType__enum entity_type_requested,
1930  /* inout array<opaque> */ struct sidl_opaque__array** adj_entity_handles,
1931  /* out */ int32_t* adj_entity_handles_size,
1932  /* inout array<int> */ struct sidl_int__array** offset,
1933  /* out */ int32_t* offset_size,
1934  /* out */ sidl_BaseInterface *_ex)
1935{
1936  *_ex = 0;
1937  {
1938    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEntArrAdj) */
1939    /* Insert-Code-Here {iMeshC.iMeshComponent.getEntArrAdj} (getEntArrAdj method) */
1940    iBase_EntityHandle *entityHandles2 = NULL, *adjEntityHandles2 = NULL;
1941    int i = 0, err = 0, allocated = 0, *offset2 = NULL, offsetAlloc = 0;
1942    int lower[1], upper[1], stride[1];
1943    if (sidlStride(entity_handles,0) == 1) {
1944       iMesh_getEntArrAdj(mesh,entity_handles->d_firstElement,
1945                         entity_handles_size,entity_type_requested,
1946                         &adjEntityHandles2,&allocated,adj_entity_handles_size,
1947                         &offset2,&offsetAlloc,offset_size,&err);
1948    } else {
1949       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
1950       for (i = 0; i < entity_handles_size; ++i) {
1951           entityHandles2[i] = sidl_opaque__array_get1(entity_handles,i);
1952       }
1953       iMesh_getEntArrAdj(mesh,entityHandles2,entity_handles_size,
1954                      entity_type_requested,&adjEntityHandles2,&allocated,
1955                      adj_entity_handles_size,&offset2,&offsetAlloc,
1956                      offset_size,&err);
1957    }
1958    if (err != iBase_SUCCESS) {
1959       printf("Unable to get entity array adjacencies. \
1960             Exiting with error # %d\n",err);
1961       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
1962    } else {
1963      stride[0] = 1;
1964      lower[0] = 0;
1965      upper[0] = *adj_entity_handles_size - 1;
1966      *adj_entity_handles = sidl_opaque__array_borrow(adjEntityHandles2,1,
1967                                                     lower,upper,stride);
1968      upper[0] = *offset_size - 1;
1969      *offset = sidl_int__array_borrow(offset2,1,lower,upper,stride);
1970    }
1971    if (sidlStride(entity_handles,0) != 1) {
1972       free(entityHandles2);
1973    }
1974  }
1975  EXIT:; {
1976    return;
1977    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEntArrAdj) */
1978  }
1979}
1980
1981/*
1982 * Method:  getEntArr2ndAdj[]
1983 */
1984
1985#undef __FUNC__
1986#define __FUNC__ "impl_iMeshC_iMeshComponent_getEntArr2ndAdj"
1987
1988#ifdef __cplusplus
1989extern "C"
1990#endif
1991void
1992impl_iMeshC_iMeshComponent_getEntArr2ndAdj(
1993  /* in */ iMeshC_iMeshComponent self,
1994  /* in */ void* mesh,
1995  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
1996  /* in */ int32_t entity_handles_size,
1997  /* in */ enum iMeshC_EntityType__enum order_adjacent_key,
1998  /* in */ enum iMeshC_EntityType__enum entity_type_requested,
1999  /* inout array<opaque> */ struct sidl_opaque__array** adj_entity_handles,
2000  /* out */ int32_t* adj_entity_handles_size,
2001  /* inout array<int> */ struct sidl_int__array** offset,
2002  /* out */ int32_t* offset_size,
2003  /* out */ sidl_BaseInterface *_ex)
2004{
2005  *_ex = 0;
2006  {
2007    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEntArr2ndAdj) */
2008    /* Insert-Code-Here {iMeshC.iMeshComponent.getEntArr2ndAdj} (getEntArr2ndAdj method) */
2009    iBase_EntityHandle *entityHandles2 = NULL, *adjEntityHandles2 = NULL;
2010    int i = 0, err = 0, allocated = 0, *offset2 = NULL, offsetAlloc = 0;
2011    int lower[1], upper[1], stride[1];
2012    if (sidlStride(entity_handles,0) == 1) {
2013       iMesh_getEntArr2ndAdj(mesh,entity_handles->d_firstElement,
2014                            entity_handles_size,order_adjacent_key,
2015                            entity_type_requested,&adjEntityHandles2,
2016                            &allocated,adj_entity_handles_size,
2017                            &offset2,&offsetAlloc,offset_size,&err);
2018    } else {
2019       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
2020       for (i = 0; i < entity_handles_size; ++i) {
2021           entityHandles2[i] = sidl_opaque__array_get1(entity_handles,i);
2022       }
2023       iMesh_getEntArr2ndAdj(mesh,entityHandles2,entity_handles_size,
2024                         order_adjacent_key,entity_type_requested,
2025                         &adjEntityHandles2,&allocated,adj_entity_handles_size,
2026                         &offset2,&offsetAlloc,offset_size,&err);
2027    }
2028    if (err != iBase_SUCCESS) {
2029       printf("Unable to get entity array second adjacencies. \
2030             Exiting with error # %d\n",err);
2031       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2032    } else {
2033       stride[0] = 1;
2034       lower[0] = 0;
2035       upper[0] = *adj_entity_handles_size - 1;
2036       *adj_entity_handles = sidl_opaque__array_borrow(adjEntityHandles2,1,
2037                                                     lower,upper,stride);
2038       upper[0] = *offset_size - 1;
2039       *offset = sidl_int__array_borrow(offset2,1,lower,upper,stride);
2040    }
2041    if (sidlStride(entity_handles,0) != 1) {
2042       free(entityHandles2);
2043    }
2044  }
2045  EXIT:; {
2046    return;
2047    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEntArr2ndAdj) */
2048  }
2049}
2050
2051/*
2052 * Method:  setVtxCoords[]
2053 */
2054
2055#undef __FUNC__
2056#define __FUNC__ "impl_iMeshC_iMeshComponent_setVtxCoords"
2057
2058#ifdef __cplusplus
2059extern "C"
2060#endif
2061void
2062impl_iMeshC_iMeshComponent_setVtxCoords(
2063  /* in */ iMeshC_iMeshComponent self,
2064  /* in */ void* mesh,
2065  /* in */ void* vertex_handle,
2066  /* in */ double x,
2067  /* in */ double y,
2068  /* in */ double z,
2069  /* out */ sidl_BaseInterface *_ex)
2070{
2071  *_ex = 0;
2072  {
2073    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setVtxCoords) */
2074    /* Insert-Code-Here {iMeshC.iMeshComponent.setVtxCoords} (setVtxCoords method) */
2075    int err = 0;
2076    iMesh_setVtxCoords(mesh,vertex_handle,x,y,z,&err);
2077    if (err != iBase_SUCCESS) {
2078       printf("Unable to set vertex coordinates. \
2079             Exiting with error # %d\n",err);
2080       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2081    }
2082  }
2083  EXIT:; {
2084    return;
2085    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setVtxCoords) */
2086  }
2087}
2088
2089/*
2090 * Method:  createVtx[]
2091 */
2092
2093#undef __FUNC__
2094#define __FUNC__ "impl_iMeshC_iMeshComponent_createVtx"
2095
2096#ifdef __cplusplus
2097extern "C"
2098#endif
2099void
2100impl_iMeshC_iMeshComponent_createVtx(
2101  /* in */ iMeshC_iMeshComponent self,
2102  /* in */ void* mesh,
2103  /* in */ double x,
2104  /* in */ double y,
2105  /* in */ double z,
2106  /* out */ void** new_vertex_handle,
2107  /* out */ sidl_BaseInterface *_ex)
2108{
2109  *_ex = 0;
2110  {
2111    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.createVtx) */
2112    /* Insert-Code-Here {iMeshC.iMeshComponent.createVtx} (createVtx method) */
2113    int err = 0;
2114    iMesh_createVtx(mesh,x,y,z,new_vertex_handle,&err);
2115    if (err != iBase_SUCCESS) {
2116       printf("Unable to create vertex. Exiting with error # %d\n",err);
2117       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2118    }
2119  }
2120  EXIT:; {
2121    return;
2122    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.createVtx) */
2123  }
2124}
2125
2126/*
2127 * Method:  createEnt[]
2128 */
2129
2130#undef __FUNC__
2131#define __FUNC__ "impl_iMeshC_iMeshComponent_createEnt"
2132
2133#ifdef __cplusplus
2134extern "C"
2135#endif
2136void
2137impl_iMeshC_iMeshComponent_createEnt(
2138  /* in */ iMeshC_iMeshComponent self,
2139  /* in */ void* mesh,
2140  /* in */ enum iMeshC_EntityTopology__enum new_entity_topology,
2141  /* in array<opaque> */ struct sidl_opaque__array* lower_order_entity_handles,
2142  /* in */ int32_t lower_order_entity_handles_size,
2143  /* out */ void** new_entity_handle,
2144  /* out */ enum iMeshC_CreationStatus__enum* status,
2145  /* out */ sidl_BaseInterface *_ex)
2146{
2147  *_ex = 0;
2148  {
2149    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.createEnt) */
2150    /* Insert-Code-Here {iMeshC.iMeshComponent.createEnt} (createEnt method) */
2151    iBase_EntityHandle *lowerOrderEntityHandles2;
2152    int i ,err = 0, status2 = 0;
2153    int lower[1], upper[1], stride[1];
2154    if (sidlStride(lower_order_entity_handles,0) == 1) {
2155       iMesh_createEnt(mesh,new_entity_topology,
2156                      lower_order_entity_handles->d_firstElement,
2157                      lower_order_entity_handles_size,new_entity_handle,
2158                      &status2,&err);
2159    } else {
2160       lowerOrderEntityHandles2 = malloc(lower_order_entity_handles_size*
2161                                        sizeof(iBase_EntityHandle));
2162       for (i = 0; i < lower_order_entity_handles_size; ++i) {
2163           lowerOrderEntityHandles2[i] = sidl_opaque__array_get1(
2164                                         lower_order_entity_handles,i);
2165       }
2166       iMesh_createEnt(mesh,new_entity_topology,lowerOrderEntityHandles2,
2167                   lower_order_entity_handles_size,new_entity_handle,
2168                   &status2,&err);
2169    }
2170    *status = status2;
2171    if (err != iBase_SUCCESS) {
2172       printf("Unable to create entity. Exiting with error # %d\n",err);
2173       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2174    }
2175    if (sidlStride(lower_order_entity_handles,0) != 1) {
2176       free(lowerOrderEntityHandles2);
2177    }
2178  }
2179  EXIT:; {
2180    return;
2181    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.createEnt) */
2182  }
2183}
2184
2185/*
2186 * Method:  deleteEnt[]
2187 */
2188
2189#undef __FUNC__
2190#define __FUNC__ "impl_iMeshC_iMeshComponent_deleteEnt"
2191
2192#ifdef __cplusplus
2193extern "C"
2194#endif
2195void
2196impl_iMeshC_iMeshComponent_deleteEnt(
2197  /* in */ iMeshC_iMeshComponent self,
2198  /* in */ void* mesh,
2199  /* in */ void* entity_handle,
2200  /* out */ sidl_BaseInterface *_ex)
2201{
2202  *_ex = 0;
2203  {
2204    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.deleteEnt) */
2205    /* Insert-Code-Here {iMeshC.iMeshComponent.deleteEnt} (deleteEnt method) */
2206    int err = 0; 
2207    iMesh_deleteEnt(mesh,entity_handle,&err);
2208    if (err != iBase_SUCCESS) {
2209       printf("Unable to delete entity. Exiting with error # %d\n",err);
2210       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2211    }
2212  }
2213  EXIT:; {
2214    return;
2215    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.deleteEnt) */
2216  }
2217}
2218
2219/*
2220 * Method:  setVtxArrCoords[]
2221 */
2222
2223#undef __FUNC__
2224#define __FUNC__ "impl_iMeshC_iMeshComponent_setVtxArrCoords"
2225
2226#ifdef __cplusplus
2227extern "C"
2228#endif
2229void
2230impl_iMeshC_iMeshComponent_setVtxArrCoords(
2231  /* in */ iMeshC_iMeshComponent self,
2232  /* in */ void* mesh,
2233  /* in array<opaque> */ struct sidl_opaque__array* vertex_handles,
2234  /* in */ int32_t vertex_handles_size,
2235  /* in */ enum iMeshC_StorageOrder__enum storage_order,
2236  /* in array<double> */ struct sidl_double__array* new_coords,
2237  /* in */ int32_t new_coords_size,
2238  /* out */ sidl_BaseInterface *_ex)
2239{
2240  *_ex = 0;
2241  {
2242    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setVtxArrCoords) */
2243    /* Insert-Code-Here {iMeshC.iMeshComponent.setVtxArrCoords} (setVtxArrCoords method) */
2244    double *coords2 = NULL;
2245    iBase_EntityHandle *vertexHandles2 = NULL;
2246    int i = 0, err = 0;
2247    if (sidlStride(vertex_handles,0) == 1 && sidlStride(new_coords,0) == 1) {
2248       iMesh_setVtxArrCoords(mesh,vertex_handles->d_firstElement,
2249                            vertex_handles_size,storage_order,
2250                            new_coords->d_firstElement,new_coords_size,&err);
2251    } else {
2252       vertexHandles2 = malloc(vertex_handles_size*sizeof(iBase_EntityHandle));
2253       for (i = 0; i < vertex_handles_size; ++i) {
2254           vertexHandles2[i] = sidl_opaque__array_get1(vertex_handles,i);
2255       }
2256       coords2 = malloc(new_coords_size*sizeof(double));
2257       for (i = 0; i < new_coords_size; ++i) {
2258           coords2[i] = sidl_double__array_get1(new_coords,i);
2259       }
2260       iMesh_setVtxArrCoords(mesh,vertexHandles2,vertex_handles_size,
2261                         storage_order,coords2,new_coords_size,&err);
2262    }
2263    if (err != iBase_SUCCESS) {
2264       printf("Unable to set vertex array coordinates. \
2265              Exiting with error # %d\n",err);
2266       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2267    } 
2268    if (sidlStride(vertex_handles,0) != 1 || sidlStride(new_coords,0) != 1) {
2269       free(vertexHandles2);
2270       free(coords2);
2271    }
2272  } 
2273  EXIT:; {
2274    return; 
2275    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setVtxArrCoords) */
2276  }
2277}
2278
2279/*
2280 * Method:  createVtxArr[]
2281 */
2282
2283#undef __FUNC__
2284#define __FUNC__ "impl_iMeshC_iMeshComponent_createVtxArr"
2285
2286#ifdef __cplusplus
2287extern "C"
2288#endif
2289void
2290impl_iMeshC_iMeshComponent_createVtxArr(
2291  /* in */ iMeshC_iMeshComponent self,
2292  /* in */ void* mesh,
2293  /* in */ int32_t num_verts,
2294  /* in */ enum iMeshC_StorageOrder__enum storage_order,
2295  /* in array<double> */ struct sidl_double__array* new_coords,
2296  /* in */ int32_t new_coords_size,
2297  /* inout array<opaque> */ struct sidl_opaque__array** new_vertex_handles,
2298  /* out */ int32_t* new_vertex_handles_size,
2299  /* out */ sidl_BaseInterface *_ex)
2300{
2301  *_ex = 0;
2302  {
2303    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.createVtxArr) */
2304    /* Insert-Code-Here {iMeshC.iMeshComponent.createVtxArr} (createVtxArr method) */
2305    double *coords2;
2306    iBase_EntityHandle *vertexHandles = NULL;
2307    int i = 0, err = 0, alloc = 0, stride[1], lower[1], upper[1];
2308    if (sidlStride(new_coords,0) == 1) {
2309       iMesh_createVtxArr(mesh,num_verts,storage_order,
2310                         new_coords->d_firstElement,new_coords_size,
2311                         &vertexHandles,&alloc,new_vertex_handles_size,&err);
2312    } else {
2313       coords2 = malloc(new_coords_size*sizeof(double));
2314       for (i = 0; i < new_coords_size; ++i) {
2315           coords2[i] = sidl_double__array_get1(new_coords,i);
2316       }
2317       iMesh_createVtxArr(mesh,num_verts,storage_order,coords2,new_coords_size,
2318                         &vertexHandles,&alloc,new_vertex_handles_size,&err);
2319    }
2320    if (err != iBase_SUCCESS) {
2321       printf("Unable to create vertex array coordinates. \
2322              Exiting with error # %d\n",err);
2323       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2324    } else {
2325       stride[0] = 1;
2326       lower[0] = 0;
2327       upper[0] = *new_vertex_handles_size - 1;
2328       *new_vertex_handles = sidl_opaque__array_borrow(vertexHandles,1,
2329                                                      lower,upper,stride);
2330
2331    }
2332    if (sidlStride(new_coords,0) != 1) {
2333       free(coords2);
2334    }
2335  }
2336  EXIT:; {
2337    return;
2338    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.createVtxArr) */
2339  }
2340}
2341
2342/*
2343 * Method:  createEntArr[]
2344 */
2345
2346#undef __FUNC__
2347#define __FUNC__ "impl_iMeshC_iMeshComponent_createEntArr"
2348
2349#ifdef __cplusplus
2350extern "C"
2351#endif
2352void
2353impl_iMeshC_iMeshComponent_createEntArr(
2354  /* in */ iMeshC_iMeshComponent self,
2355  /* in */ void* mesh,
2356  /* in */ enum iMeshC_EntityTopology__enum new_entity_topology,
2357  /* in array<opaque> */ struct sidl_opaque__array* lower_order_entity_handles,
2358  /* in */ int32_t lower_order_entity_handles_size,
2359  /* inout array<opaque> */ struct sidl_opaque__array** new_entity_handles,
2360  /* out */ int32_t* new_entity_handles_size,
2361  /* inout array<int> */ struct sidl_int__array** status,
2362  /* out */ int32_t* status_size,
2363  /* out */ sidl_BaseInterface *_ex)
2364{
2365  *_ex = 0;
2366  {
2367    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.createEntArr) */
2368    /* Insert-Code-Here {iMeshC.iMeshComponent.createEntArr} (createEntArr method) */
2369    iBase_EntityHandle *lowOrderEntityHandles2 = NULL;
2370    iBase_EntityHandle *newEntityHandles2 = NULL;
2371    int i = 0, err = 0, alloc = 0, *status2 = NULL, statusAlloc = 0;
2372    int lower[1], upper[1], stride[1];
2373    if (sidlStride(lower_order_entity_handles,0) == 1) {
2374       iMesh_createEntArr(mesh,new_entity_topology,
2375                         lower_order_entity_handles->d_firstElement,
2376                         lower_order_entity_handles_size,&newEntityHandles2,
2377                         &alloc,new_entity_handles_size,&status2,&statusAlloc,
2378                         status_size,&err);
2379    } else {
2380       lowOrderEntityHandles2 = malloc(lower_order_entity_handles_size*
2381                                      sizeof(iBase_EntityHandle));
2382       for (i = 0; i < lower_order_entity_handles_size; ++i) {
2383           lowOrderEntityHandles2[i] = sidl_opaque__array_get1(
2384                                    lower_order_entity_handles,i);
2385       }
2386       iMesh_createEntArr(mesh,new_entity_topology,lowOrderEntityHandles2,
2387                         lower_order_entity_handles_size,&newEntityHandles2,
2388                         &alloc,new_entity_handles_size,&status2,&statusAlloc,
2389                         status_size,&err);
2390    }
2391    if (err != iBase_SUCCESS) {
2392       printf("Unable to create entity array. Exiting with error # %d\n",err);
2393       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2394    } else {
2395       stride[0] = 1;
2396       lower[0] = 0;
2397       upper[0] = *new_entity_handles_size - 1;
2398       *new_entity_handles = sidl_opaque__array_borrow(newEntityHandles2,1,
2399                                                      lower,upper,stride);
2400       upper[0] = *status_size - 1;
2401       *status = sidl_int__array_borrow(status2,1,lower,upper,stride);
2402    }
2403    if (sidlStride(lower_order_entity_handles,0) != 1) {
2404       free(lowOrderEntityHandles2);
2405    }
2406  }
2407  EXIT:; {
2408    return;
2409    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.createEntArr) */
2410  }
2411}
2412
2413/*
2414 * Method:  deleteEntArr[]
2415 */
2416
2417#undef __FUNC__
2418#define __FUNC__ "impl_iMeshC_iMeshComponent_deleteEntArr"
2419
2420#ifdef __cplusplus
2421extern "C"
2422#endif
2423void
2424impl_iMeshC_iMeshComponent_deleteEntArr(
2425  /* in */ iMeshC_iMeshComponent self,
2426  /* in */ void* mesh,
2427  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
2428  /* in */ int32_t entity_handles_size,
2429  /* out */ sidl_BaseInterface *_ex)
2430{
2431  *_ex = 0;
2432  {
2433    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.deleteEntArr) */
2434    /* Insert-Code-Here {iMeshC.iMeshComponent.deleteEntArr} (deleteEntArr method) */
2435    iBase_EntityHandle *entityHandles2 = NULL;
2436    int i = 0, err = 0;
2437    if (sidlStride(entity_handles,0) == 1) {
2438       iMesh_deleteEntArr(mesh,entity_handles->d_firstElement,
2439                         entity_handles_size,&err);
2440    } else {
2441       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
2442       for (i = 0; i < entity_handles_size; ++i) {
2443           entityHandles2[i] = sidl_opaque__array_get1(entity_handles,i);
2444       }
2445       iMesh_deleteEntArr(mesh,entityHandles2,entity_handles_size,&err);
2446    }
2447    if (err != iBase_SUCCESS) {
2448       printf("Unable to delete entity array. Exiting with error # %d\n",err);
2449       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2450    }
2451    if (sidlStride(entity_handles,0) != 1) {
2452       free(entityHandles2);
2453    }
2454  }
2455  EXIT:; {
2456    return;
2457    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.deleteEntArr) */
2458  }
2459}
2460
2461/*
2462 * Method:  createTag[]
2463 */
2464
2465#undef __FUNC__
2466#define __FUNC__ "impl_iMeshC_iMeshComponent_createTag"
2467
2468#ifdef __cplusplus
2469extern "C"
2470#endif
2471void
2472impl_iMeshC_iMeshComponent_createTag(
2473  /* in */ iMeshC_iMeshComponent self,
2474  /* in */ void* mesh,
2475  /* in */ const char* tag_name,
2476  /* in */ int32_t number_of_values,
2477  /* in */ enum iMeshC_TagValueType__enum tag_type,
2478  /* out */ void** tag_handle,
2479  /* out */ sidl_BaseInterface *_ex)
2480{
2481  *_ex = 0;
2482  {
2483    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.createTag) */
2484    /* Insert-Code-Here {iMeshC.iMeshComponent.createTag} (createTag method) */
2485    int err = 0;
2486    iMesh_createTag(mesh,tag_name,number_of_values,tag_type,
2487                   tag_handle,&err,strlen(tag_name));
2488    if (err != iBase_SUCCESS) {
2489       printf("Unable to create tag. Exiting with error # %d\n",err);
2490       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2491    }
2492  }
2493  EXIT:; {
2494    return;
2495    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.createTag) */
2496  }
2497}
2498
2499/*
2500 * Method:  destroyTag[]
2501 */
2502
2503#undef __FUNC__
2504#define __FUNC__ "impl_iMeshC_iMeshComponent_destroyTag"
2505
2506#ifdef __cplusplus
2507extern "C"
2508#endif
2509void
2510impl_iMeshC_iMeshComponent_destroyTag(
2511  /* in */ iMeshC_iMeshComponent self,
2512  /* in */ void* mesh,
2513  /* in */ void* tag_handle,
2514  /* in */ sidl_bool forced,
2515  /* out */ sidl_BaseInterface *_ex)
2516{
2517  *_ex = 0;
2518  {
2519    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.destroyTag) */
2520    /* Insert-Code-Here {iMeshC.iMeshComponent.destroyTag} (destroyTag method) */
2521    int err = 0;
2522    iMesh_destroyTag(mesh,tag_handle,forced,&err);
2523    if (err != iBase_SUCCESS) {
2524       printf("Unable to destroy tag. Exiting with error # %d\n",err);
2525       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2526    }
2527  }
2528  EXIT:; {
2529    return;
2530    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.destroyTag) */
2531  }
2532}
2533
2534/*
2535 * Method:  getTagName[]
2536 */
2537
2538#undef __FUNC__
2539#define __FUNC__ "impl_iMeshC_iMeshComponent_getTagName"
2540
2541#ifdef __cplusplus
2542extern "C"
2543#endif
2544void
2545impl_iMeshC_iMeshComponent_getTagName(
2546  /* in */ iMeshC_iMeshComponent self,
2547  /* in */ void* mesh,
2548  /* in */ void* tag_handle,
2549  /* out */ char* tag_name,
2550  /* out */ sidl_BaseInterface *_ex)
2551{
2552  *_ex = 0;
2553  {
2554    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getTagName) */
2555    /* Insert-Code-Here {iMeshC.iMeshComponent.getTagName} (getTagName method) */
2556    int err = 0, len = strlen(tag_name);
2557    iMesh_getTagName(mesh,tag_handle,tag_name,&err,len);
2558    if (err != iBase_SUCCESS) {
2559       printf("Unable to get tag name. Exiting with error # %d\n",err);
2560       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2561    }
2562  }
2563  EXIT:; {
2564    return;   
2565    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getTagName) */
2566  }
2567}
2568
2569/*
2570 * Method:  getTagSizeValues[]
2571 */
2572
2573#undef __FUNC__
2574#define __FUNC__ "impl_iMeshC_iMeshComponent_getTagSizeValues"
2575
2576#ifdef __cplusplus
2577extern "C"
2578#endif
2579void
2580impl_iMeshC_iMeshComponent_getTagSizeValues(
2581  /* in */ iMeshC_iMeshComponent self,
2582  /* in */ void* mesh,
2583  /* in */ void* tag_handle,
2584  /* out */ int32_t* size_values,
2585  /* out */ sidl_BaseInterface *_ex)
2586{
2587  *_ex = 0;
2588  {
2589    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getTagSizeValues) */
2590    /* Insert-Code-Here {iMeshC.iMeshComponent.getTagSizeValues} (getTagSizeValues method) */
2591    int err = 0;
2592    iMesh_getTagSizeValues(mesh,tag_handle,size_values,&err);
2593    if (err != iBase_SUCCESS) {
2594       printf("Unable to get tag size (values). Exiting with error # %d\n",
2595             err);
2596       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2597    }
2598  }
2599  EXIT:; {
2600    return;
2601    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getTagSizeValues) */
2602  }
2603}
2604
2605/*
2606 * Method:  getTagSizeBytes[]
2607 */
2608
2609#undef __FUNC__
2610#define __FUNC__ "impl_iMeshC_iMeshComponent_getTagSizeBytes"
2611
2612#ifdef __cplusplus
2613extern "C"
2614#endif
2615void
2616impl_iMeshC_iMeshComponent_getTagSizeBytes(
2617  /* in */ iMeshC_iMeshComponent self,
2618  /* in */ void* mesh,
2619  /* in */ void* tag_handle,
2620  /* out */ int32_t* size_bytes,
2621  /* out */ sidl_BaseInterface *_ex)
2622{
2623  *_ex = 0;
2624  {
2625    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getTagSizeBytes) */
2626    /* Insert-Code-Here {iMeshC.iMeshComponent.getTagSizeBytes} (getTagSizeBytes method) */
2627    int err = 0;
2628    iMesh_getTagSizeBytes(mesh,tag_handle,size_bytes,&err);
2629    if (err != iBase_SUCCESS) {
2630       printf("Unable to get tag size (bytes). Exiting with error # %d\n",err);
2631       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2632    }
2633  }
2634  EXIT:; {
2635    return;
2636    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getTagSizeBytes) */
2637  }
2638}
2639
2640/*
2641 * Method:  getTagHandle[]
2642 */
2643
2644#undef __FUNC__
2645#define __FUNC__ "impl_iMeshC_iMeshComponent_getTagHandle"
2646
2647#ifdef __cplusplus
2648extern "C"
2649#endif
2650void
2651impl_iMeshC_iMeshComponent_getTagHandle(
2652  /* in */ iMeshC_iMeshComponent self,
2653  /* in */ void* mesh,
2654  /* in */ const char* tag_name,
2655  /* out */ void** tag_handle,
2656  /* out */ sidl_BaseInterface *_ex)
2657{
2658  *_ex = 0;
2659  {
2660    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getTagHandle) */
2661    /* Insert-Code-Here {iMeshC.iMeshComponent.getTagHandle} (getTagHandle method) */
2662    int err = 0;
2663    iMesh_getTagHandle(mesh,tag_name,tag_handle,&err,strlen(tag_name));
2664    if (err != iBase_SUCCESS) {
2665       printf("Unable to get tag handle. Exiting with error # %d\n",err);
2666       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2667    }
2668  }
2669  EXIT:; {
2670    return;
2671    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getTagHandle) */
2672  }
2673}
2674
2675/*
2676 * Method:  getTagType[]
2677 */
2678
2679#undef __FUNC__
2680#define __FUNC__ "impl_iMeshC_iMeshComponent_getTagType"
2681
2682#ifdef __cplusplus
2683extern "C"
2684#endif
2685void
2686impl_iMeshC_iMeshComponent_getTagType(
2687  /* in */ iMeshC_iMeshComponent self,
2688  /* in */ void* mesh,
2689  /* in */ void* tag_handle,
2690  /* out */ enum iMeshC_TagValueType__enum* tag_data_type,
2691  /* out */ sidl_BaseInterface *_ex)
2692{
2693  *_ex = 0;
2694  {
2695    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getTagType) */
2696    /* Insert-Code-Here {iMeshC.iMeshComponent.getTagType} (getTagType method) */
2697    int err = 0, type = 0;
2698    iMesh_getTagType(mesh,tag_handle,&type,&err);
2699    *tag_data_type = type;
2700    if (err != iBase_SUCCESS) {
2701       printf("Unable to get tag type. Exiting with error # %d\n",err);
2702       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2703    }
2704  }
2705  EXIT:; {
2706    return;
2707    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getTagType) */
2708  }
2709}
2710
2711/*
2712 * Method:  getData[]
2713 */
2714
2715#undef __FUNC__
2716#define __FUNC__ "impl_iMeshC_iMeshComponent_getData"
2717
2718#ifdef __cplusplus
2719extern "C"
2720#endif
2721void
2722impl_iMeshC_iMeshComponent_getData(
2723  /* in */ iMeshC_iMeshComponent self,
2724  /* in */ void* mesh,
2725  /* in */ void* entity_handle,
2726  /* in */ void* tag_handle,
2727  /* inout array<char> */ struct sidl_char__array** tag_value,
2728  /* out */ int32_t* tag_value_size,
2729  /* out */ sidl_BaseInterface *_ex)
2730{
2731  *_ex = 0;
2732  {
2733    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getData) */
2734    /* Insert-Code-Here {iMeshC.iMeshComponent.getData} (getData method) */
2735    char *tagValue2 = NULL;
2736    int err = 0, alloc = 0;
2737    int lower[1], upper[1], stride[1];
2738    iMesh_getData(mesh,entity_handle,tag_handle,&tagValue2,&alloc,
2739                 tag_value_size,&err);
2740    if (err != iBase_SUCCESS) {
2741       printf("Unable to get data. Exiting with error # %d\n",err);
2742       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2743    } else {
2744       lower[0] = 0;
2745       upper[0] = *tag_value_size - 1;
2746       stride[0] = 0;
2747       *tag_value = sidl_char__array_borrow(tagValue2,1,lower,upper,stride);
2748    }
2749  }
2750  EXIT:; {
2751    return;
2752    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getData) */
2753  }
2754}
2755
2756/*
2757 * Method:  getIntData[]
2758 */
2759
2760#undef __FUNC__
2761#define __FUNC__ "impl_iMeshC_iMeshComponent_getIntData"
2762
2763#ifdef __cplusplus
2764extern "C"
2765#endif
2766void
2767impl_iMeshC_iMeshComponent_getIntData(
2768  /* in */ iMeshC_iMeshComponent self,
2769  /* in */ void* mesh,
2770  /* in */ void* entity_handle,
2771  /* in */ void* tag_handle,
2772  /* out */ int32_t* int_data,
2773  /* out */ sidl_BaseInterface *_ex)
2774{
2775  *_ex = 0;
2776  {
2777    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getIntData) */
2778    /* Insert-Code-Here {iMeshC.iMeshComponent.getIntData} (getIntData method) */
2779    int err = 0;
2780    iMesh_getIntData(mesh,entity_handle,tag_handle,int_data,&err);
2781    if (err != iBase_SUCCESS) {
2782       printf("Unable to get IntData. Exiting with error # %d\n",err);
2783       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2784    }
2785  }
2786  EXIT:; {
2787    return;
2788    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getIntData) */
2789  }
2790}
2791
2792/*
2793 * Method:  getDblData[]
2794 */
2795
2796#undef __FUNC__
2797#define __FUNC__ "impl_iMeshC_iMeshComponent_getDblData"
2798
2799#ifdef __cplusplus
2800extern "C"
2801#endif
2802void
2803impl_iMeshC_iMeshComponent_getDblData(
2804  /* in */ iMeshC_iMeshComponent self,
2805  /* in */ void* mesh,
2806  /* in */ void* entity_handle,
2807  /* in */ void* tag_handle,
2808  /* out */ double* dbl_data,
2809  /* out */ sidl_BaseInterface *_ex)
2810{
2811  *_ex = 0;
2812  {
2813    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getDblData) */
2814    /* Insert-Code-Here {iMeshC.iMeshComponent.getDblData} (getDblData method) */
2815    int err = 0;
2816    iMesh_getDblData(mesh,entity_handle,tag_handle,dbl_data,&err);
2817    if (err != iBase_SUCCESS) {
2818       printf("Unable to get DblData. Exiting with error # %d\n",err);
2819       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2820    }
2821  }
2822  EXIT:; {
2823    return;
2824    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getDblData) */
2825  }
2826}
2827
2828/*
2829 * Method:  getEHData[]
2830 */
2831
2832#undef __FUNC__
2833#define __FUNC__ "impl_iMeshC_iMeshComponent_getEHData"
2834
2835#ifdef __cplusplus
2836extern "C"
2837#endif
2838void
2839impl_iMeshC_iMeshComponent_getEHData(
2840  /* in */ iMeshC_iMeshComponent self,
2841  /* in */ void* mesh,
2842  /* in */ void* entity_handle,
2843  /* in */ void* tag_handle,
2844  /* out */ void** eh_data,
2845  /* out */ sidl_BaseInterface *_ex)
2846{
2847  *_ex = 0;
2848  {
2849    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEHData) */
2850    /* Insert-Code-Here {iMeshC.iMeshComponent.getEHData} (getEHData method) */
2851    int err = 0;
2852    iMesh_getEHData(mesh,entity_handle,tag_handle,eh_data,&err);
2853    if (err != iBase_SUCCESS) {
2854       printf("Unable to get EHData. Exiting with error # %d\n",err);
2855       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2856    }
2857  }
2858  EXIT:; {
2859    return;
2860    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEHData) */
2861  }
2862}
2863
2864/*
2865 * Method:  setData[]
2866 */
2867
2868#undef __FUNC__
2869#define __FUNC__ "impl_iMeshC_iMeshComponent_setData"
2870
2871#ifdef __cplusplus
2872extern "C"
2873#endif
2874void
2875impl_iMeshC_iMeshComponent_setData(
2876  /* in */ iMeshC_iMeshComponent self,
2877  /* in */ void* mesh,
2878  /* in */ void* entity_handle,
2879  /* in */ void* tag_handle,
2880  /* in array<char> */ struct sidl_char__array* tag_value,
2881  /* in */ int32_t tag_value_size,
2882  /* out */ sidl_BaseInterface *_ex)
2883{
2884  *_ex = 0;
2885  {
2886    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setData) */
2887    /* Insert-Code-Here {iMeshC.iMeshComponent.setData} (setData method) */
2888    char *tagValue2 = NULL;
2889    int i = 0, err = 0;
2890    if (sidlStride(tag_value,0) == 1) {
2891       iMesh_setData(mesh,entity_handle,tag_handle,tag_value->d_firstElement,
2892                    tag_value_size,&err);
2893    } else {
2894       tagValue2 = malloc(tag_value_size*sizeof(char));
2895       for (i = 0; i < tag_value_size; ++i) {
2896           tagValue2[i]  = sidl_char__array_get1(tag_value,i);
2897       } 
2898       iMesh_setData(mesh,entity_handle,tag_handle,tagValue2,tag_value_size,
2899                    &err);
2900    }
2901    if (err != iBase_SUCCESS) {
2902       printf("Unable to set data. Exiting with error # %d\n",err);
2903       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2904    }
2905    if (sidlStride(tag_value,0) != 1) {
2906       free(tagValue2);
2907    }
2908  }
2909  EXIT:; {
2910    return;
2911    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setData) */
2912  }
2913}
2914
2915/*
2916 * Method:  setIntData[]
2917 */
2918
2919#undef __FUNC__
2920#define __FUNC__ "impl_iMeshC_iMeshComponent_setIntData"
2921
2922#ifdef __cplusplus
2923extern "C"
2924#endif
2925void
2926impl_iMeshC_iMeshComponent_setIntData(
2927  /* in */ iMeshC_iMeshComponent self,
2928  /* in */ void* mesh,
2929  /* in */ void* entity_handle,
2930  /* in */ void* tag_handle,
2931  /* in */ int32_t tag_value,
2932  /* out */ sidl_BaseInterface *_ex)
2933{
2934  *_ex = 0;
2935  {
2936    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setIntData) */
2937    /* Insert-Code-Here {iMeshC.iMeshComponent.setIntData} (setIntData method) */
2938    int err = 0;
2939    iMesh_setIntData(mesh,entity_handle,tag_handle,tag_value,&err);
2940    if (err != iBase_SUCCESS) {
2941       printf("Unable to set IntData. Exiting with error # %d\n",err);
2942       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2943    }
2944  }
2945  EXIT:; {
2946    return;
2947    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setIntData) */
2948  }
2949}
2950
2951/*
2952 * Method:  setDblData[]
2953 */
2954
2955#undef __FUNC__
2956#define __FUNC__ "impl_iMeshC_iMeshComponent_setDblData"
2957
2958#ifdef __cplusplus
2959extern "C"
2960#endif
2961void
2962impl_iMeshC_iMeshComponent_setDblData(
2963  /* in */ iMeshC_iMeshComponent self,
2964  /* in */ void* mesh,
2965  /* in */ void* entity_handle,
2966  /* in */ void* tag_handle,
2967  /* in */ double tag_value,
2968  /* out */ sidl_BaseInterface *_ex)
2969{
2970  *_ex = 0;
2971  {
2972    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setDblData) */
2973    /* Insert-Code-Here {iMeshC.iMeshComponent.setDblData} (setDblData method) */
2974    int err = 0;
2975    iMesh_setDblData(mesh,entity_handle,tag_handle,tag_value,&err);
2976    if (err != iBase_SUCCESS) {
2977       printf("Unable to set DblData. Exiting with error # %d\n",err);
2978       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
2979    }
2980  }
2981  EXIT:; {
2982    return;
2983    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setDblData) */
2984  }
2985}
2986
2987/*
2988 * Method:  setEHData[]
2989 */
2990
2991#undef __FUNC__
2992#define __FUNC__ "impl_iMeshC_iMeshComponent_setEHData"
2993
2994#ifdef __cplusplus
2995extern "C"
2996#endif
2997void
2998impl_iMeshC_iMeshComponent_setEHData(
2999  /* in */ iMeshC_iMeshComponent self,
3000  /* in */ void* mesh,
3001  /* in */ void* entity_handle,
3002  /* in */ void* tag_handle,
3003  /* in */ void* tag_value,
3004  /* out */ sidl_BaseInterface *_ex)
3005{
3006  *_ex = 0;
3007  {
3008    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setEHData) */
3009    /* Insert-Code-Here {iMeshC.iMeshComponent.setEHData} (setEHData method) */
3010    int err = 0;
3011    iMesh_setEHData(mesh,entity_handle,tag_handle,tag_value,&err);
3012    if (err != iBase_SUCCESS) {
3013       printf("Unable to set EHData. Exiting with error # %d\n",err);
3014       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3015    }
3016  }
3017  EXIT:; {
3018    return;
3019    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setEHData) */
3020  }
3021}
3022
3023/*
3024 * Method:  getAllTags[]
3025 */
3026
3027#undef __FUNC__
3028#define __FUNC__ "impl_iMeshC_iMeshComponent_getAllTags"
3029
3030#ifdef __cplusplus
3031extern "C"
3032#endif
3033void
3034impl_iMeshC_iMeshComponent_getAllTags(
3035  /* in */ iMeshC_iMeshComponent self,
3036  /* in */ void* mesh,
3037  /* in */ void* entity_handle,
3038  /* inout array<opaque> */ struct sidl_opaque__array** tag_handles,
3039  /* out */ int32_t* tag_handles_size,
3040  /* out */ sidl_BaseInterface *_ex)
3041{
3042  *_ex = 0;
3043  {
3044    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getAllTags) */
3045    /* Insert-Code-Here {iMeshC.iMeshComponent.getAllTags} (getAllTags method) */
3046    iBase_EntityHandle *tagHandles2 = NULL;
3047    int err = 0, alloc = 0;
3048    int lower[1], upper[1], stride[1];
3049    iMesh_getAllTags(mesh,entity_handle,&tagHandles2,&alloc,tag_handles_size,
3050                    &err);
3051    if (err != iBase_SUCCESS) {
3052       printf("Unable to get all tags. Exiting with error # %d\n",err);
3053       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3054    } else {
3055       lower[0] = 0;
3056       upper[0] = *tag_handles_size - 1;
3057       stride[0] = 1;
3058       *tag_handles = sidl_opaque__array_borrow(tagHandles2,1,lower,upper,
3059                                               stride);
3060  }
3061  EXIT:;
3062    return;
3063    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getAllTags) */
3064  }
3065}
3066
3067/*
3068 * Method:  rmvTag[]
3069 */
3070
3071#undef __FUNC__
3072#define __FUNC__ "impl_iMeshC_iMeshComponent_rmvTag"
3073
3074#ifdef __cplusplus
3075extern "C"
3076#endif
3077void
3078impl_iMeshC_iMeshComponent_rmvTag(
3079  /* in */ iMeshC_iMeshComponent self,
3080  /* in */ void* mesh,
3081  /* in */ void* entity_handle,
3082  /* in */ void* tag_handle,
3083  /* out */ sidl_BaseInterface *_ex)
3084{
3085  *_ex = 0;
3086  {
3087    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.rmvTag) */
3088    /* Insert-Code-Here {iMeshC.iMeshComponent.rmvTag} (rmvTag method) */
3089    int err = 0;
3090    iMesh_rmvTag(mesh,entity_handle,tag_handle,&err);
3091    if (err != iBase_SUCCESS) {
3092       printf("Unable to remove tag. Exiting with error # %d\n",err);
3093       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3094    }
3095  }
3096  EXIT:; {
3097    return;
3098    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.rmvTag) */
3099  }
3100}
3101
3102/*
3103 * Method:  getArrData[]
3104 */
3105
3106#undef __FUNC__
3107#define __FUNC__ "impl_iMeshC_iMeshComponent_getArrData"
3108
3109#ifdef __cplusplus
3110extern "C"
3111#endif
3112void
3113impl_iMeshC_iMeshComponent_getArrData(
3114  /* in */ iMeshC_iMeshComponent self,
3115  /* in */ void* mesh,
3116  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
3117  /* in */ int32_t entity_handles_size,
3118  /* in */ void* tag_handle,
3119  /* inout */ char** value_array,
3120  /* out */ int32_t* value_array_size,
3121  /* out */ sidl_BaseInterface *_ex)
3122{
3123  *_ex = 0;
3124  {
3125    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getArrData) */
3126    /* Insert-Code-Here {iMeshC.iMeshComponent.getArrData} (getArrData method) */
3127    iBase_EntityHandle *entityHandles2 = NULL;
3128    int i = 0, err = 0, alloc = 0;
3129    int lower[1], upper[1], stride[1];
3130    if (sidlStride(entity_handles,0) == 1) {
3131       iMesh_getArrData(mesh,entity_handles->d_firstElement,
3132                       entity_handles_size,tag_handle,
3133                       value_array,&alloc,value_array_size,&err);
3134    } else {
3135       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
3136       for (i = 0; i < entity_handles_size; ++i) {
3137           entityHandles2[i]  = sidl_opaque__array_get1(entity_handles,i);
3138       }
3139       iMesh_getArrData(mesh,entityHandles2,entity_handles_size,tag_handle,
3140                       value_array,&alloc,value_array_size,&err);
3141    }
3142    if (err != iBase_SUCCESS) {
3143       printf("Unable to get data by array. Exiting with error # %d\n",err);
3144       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3145    }
3146    if (sidlStride(entity_handles,0) != 1) {
3147       free(entityHandles2);
3148    }
3149  }
3150  EXIT:; {
3151    return;
3152    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getArrData) */
3153  }
3154}
3155
3156/*
3157 * Method:  getIntArrData[]
3158 */
3159
3160#undef __FUNC__
3161#define __FUNC__ "impl_iMeshC_iMeshComponent_getIntArrData"
3162
3163#ifdef __cplusplus
3164extern "C"
3165#endif
3166void
3167impl_iMeshC_iMeshComponent_getIntArrData(
3168  /* in */ iMeshC_iMeshComponent self,
3169  /* in */ void* mesh,
3170  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
3171  /* in */ int32_t entity_handles_size,
3172  /* in */ void* tag_handle,
3173  /* inout array<int> */ struct sidl_int__array** value_array,
3174  /* out */ int32_t* value_array_size,
3175  /* out */ sidl_BaseInterface *_ex)
3176{
3177  *_ex = 0;
3178  {
3179    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getIntArrData) */
3180    /* Insert-Code-Here {iMeshC.iMeshComponent.getIntArrData} (getIntArrData method) */
3181    iBase_EntityHandle *entityHandles2 = NULL;
3182    int i = 0, err = 0, alloc = 0, *tagValues = NULL;
3183    int lower[1], upper[1], stride[1];
3184    if (sidlStride(entity_handles,0) == 1) {
3185       iMesh_getIntArrData(mesh,entity_handles->d_firstElement,
3186                          entity_handles_size,tag_handle,
3187                          &tagValues,&alloc,value_array_size,&err);
3188    } else {
3189       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
3190       for (i = 0; i < entity_handles_size; ++i) {
3191           entityHandles2[i]  = sidl_opaque__array_get1(entity_handles,i);
3192       } 
3193       iMesh_getIntArrData(mesh,entityHandles2,entity_handles_size,tag_handle,
3194                          &tagValues,&alloc,value_array_size,&err);
3195    }
3196    if (err != iBase_SUCCESS) {
3197       printf("Unable to get IntData by array. Exiting with error # %d\n",err);
3198       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3199    } else {
3200       lower[0] = 0;
3201       upper[0] = *value_array_size - 1;
3202       stride[0] = 1;
3203       *value_array = sidl_int__array_borrow(tagValues,1,lower,upper,stride);
3204    }
3205    if (sidlStride(entity_handles,0) != 1) {
3206       free(entityHandles2);
3207    }
3208  }
3209  EXIT:; {
3210    return;
3211    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getIntArrData) */
3212  }
3213}
3214
3215/*
3216 * Method:  getDblArrData[]
3217 */
3218
3219#undef __FUNC__
3220#define __FUNC__ "impl_iMeshC_iMeshComponent_getDblArrData"
3221
3222#ifdef __cplusplus
3223extern "C"
3224#endif
3225void
3226impl_iMeshC_iMeshComponent_getDblArrData(
3227  /* in */ iMeshC_iMeshComponent self,
3228  /* in */ void* mesh,
3229  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
3230  /* in */ int32_t entity_handles_size,
3231  /* in */ void* tag_handle,
3232  /* inout array<double> */ struct sidl_double__array** value_array,
3233  /* out */ int32_t* value_array_size,
3234  /* out */ sidl_BaseInterface *_ex)
3235{
3236  *_ex = 0;
3237  {
3238    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getDblArrData) */
3239    /* Insert-Code-Here {iMeshC.iMeshComponent.getDblArrData} (getDblArrData method) */
3240    iBase_EntityHandle *entityHandles2 = NULL;
3241    double *tagValues = NULL;
3242    int i = 0, err = 0, alloc = 0;
3243    int lower[1], upper[1], stride[1];
3244    if (sidlStride(entity_handles,0) == 1) {
3245       iMesh_getDblArrData(mesh,entity_handles->d_firstElement,
3246                          entity_handles_size,tag_handle,
3247                          &tagValues,&alloc,value_array_size,&err);
3248    } else {
3249       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
3250       for (i = 0; i < entity_handles_size; ++i) {
3251           entityHandles2[i]  = sidl_opaque__array_get1(entity_handles,i);
3252       } 
3253       iMesh_getDblArrData(mesh,entityHandles2,entity_handles_size,tag_handle,
3254                    &tagValues,&alloc,value_array_size,&err);
3255    }
3256    if (err != iBase_SUCCESS) {
3257       printf("Unable to get DblData by array. Exiting with error # %d\n",err);
3258       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3259    } else {
3260       lower[0] = 0;
3261       upper[0] = *value_array_size - 1;
3262       stride[0] = 1;
3263       *value_array = sidl_double__array_borrow(tagValues,1,lower,upper,
3264                                               stride);
3265    }
3266    if (sidlStride(entity_handles,0) != 1) {
3267       free(entityHandles2);
3268    }
3269  }
3270  EXIT:; {
3271    return;
3272    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getDblArrData) */
3273  }
3274}
3275
3276/*
3277 * Method:  getEHArrData[]
3278 */
3279
3280#undef __FUNC__
3281#define __FUNC__ "impl_iMeshC_iMeshComponent_getEHArrData"
3282
3283#ifdef __cplusplus
3284extern "C"
3285#endif
3286void
3287impl_iMeshC_iMeshComponent_getEHArrData(
3288  /* in */ iMeshC_iMeshComponent self,
3289  /* in */ void* mesh,
3290  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
3291  /* in */ int32_t entity_handles_size,
3292  /* in */ void* tag_handle,
3293  /* inout array<opaque> */ struct sidl_opaque__array** value_array,
3294  /* out */ int32_t* value_array_size,
3295  /* out */ sidl_BaseInterface *_ex)
3296{
3297  *_ex = 0;
3298  {
3299    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEHArrData) */
3300    /* Insert-Code-Here {iMeshC.iMeshComponent.getEHArrData} (getEHArrData method) */
3301    iBase_EntityHandle *entityHandles2 = NULL, *tagValues = NULL;
3302    int i = 0, err = 0, alloc = 0;
3303    int lower[1], upper[1], stride[1];
3304    if (sidlStride(entity_handles,0) == 1) {
3305       iMesh_getEHArrData(mesh,entity_handles->d_firstElement,
3306                         entity_handles_size,tag_handle,
3307                         &tagValues,&alloc,value_array_size,&err);
3308    } else {
3309       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
3310       for (i = 0; i < entity_handles_size; ++i) {
3311           entityHandles2[i]  = sidl_opaque__array_get1(entity_handles,i);
3312       } 
3313       iMesh_getEHArrData(mesh,entityHandles2,entity_handles_size,tag_handle,
3314                         &tagValues,&alloc,value_array_size,&err);
3315    }
3316    if (err != iBase_SUCCESS) {
3317       printf("Unable to get EHData by array. Exiting with error # %d\n",err);
3318       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3319    } else {
3320       lower[0] = 0;
3321       upper[0] = *value_array_size - 1;
3322       stride[0] = 1;
3323       *value_array = sidl_opaque__array_borrow(tagValues,1,lower,upper,
3324                                               stride);
3325    }
3326    if (sidlStride(entity_handles,0) != 1) {
3327       free(entityHandles2);
3328    }
3329  }
3330  EXIT:; {
3331    return;
3332    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEHArrData) */
3333  }
3334}
3335
3336/*
3337 * Method:  setArrData[]
3338 */
3339
3340#undef __FUNC__
3341#define __FUNC__ "impl_iMeshC_iMeshComponent_setArrData"
3342
3343#ifdef __cplusplus
3344extern "C"
3345#endif
3346void
3347impl_iMeshC_iMeshComponent_setArrData(
3348  /* in */ iMeshC_iMeshComponent self,
3349  /* in */ void* mesh,
3350  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
3351  /* in */ int32_t entity_handles_size,
3352  /* in */ void* tag_handle,
3353  /* in */ const char* value_array,
3354  /* in */ int32_t value_array_size,
3355  /* out */ sidl_BaseInterface *_ex)
3356{
3357  *_ex = 0;
3358  {
3359    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setArrData) */
3360    /* Insert-Code-Here {iMeshC.iMeshComponent.setArrData} (setArrData method) */
3361    iBase_EntityHandle *entityHandles2 = NULL;
3362    int i = 0, err = 0;
3363    if (sidlStride(entity_handles,0) == 1) {
3364       iMesh_setArrData(mesh,entity_handles->d_firstElement,
3365                       entity_handles_size,tag_handle,
3366                       value_array,value_array_size,&err);
3367    } else {
3368       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
3369       for (i = 0; i < entity_handles_size; ++i) {
3370           entityHandles2[i]  = sidl_opaque__array_get1(entity_handles,i);
3371       } 
3372       iMesh_setArrData(mesh,entityHandles2,entity_handles_size,tag_handle,
3373                       value_array,value_array_size,&err);
3374    }
3375    if (err != iBase_SUCCESS) {
3376       printf("Unable to set data by array. Exiting with error # %d\n",err);
3377       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3378    }
3379    if (sidlStride(entity_handles,0) != 1) {
3380       free(entityHandles2);
3381    }
3382  }
3383  EXIT:; {
3384    return;
3385    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setArrData) */
3386  }
3387}
3388
3389/*
3390 * Method:  setIntArrData[]
3391 */
3392
3393#undef __FUNC__
3394#define __FUNC__ "impl_iMeshC_iMeshComponent_setIntArrData"
3395
3396#ifdef __cplusplus
3397extern "C"
3398#endif
3399void
3400impl_iMeshC_iMeshComponent_setIntArrData(
3401  /* in */ iMeshC_iMeshComponent self,
3402  /* in */ void* mesh,
3403  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
3404  /* in */ int32_t entity_handles_size,
3405  /* in */ void* tag_handle,
3406  /* in array<int> */ struct sidl_int__array* value_array,
3407  /* in */ int32_t value_array_size,
3408  /* out */ sidl_BaseInterface *_ex)
3409{
3410  *_ex = 0;
3411  {
3412    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setIntArrData) */
3413    /* Insert-Code-Here {iMeshC.iMeshComponent.setIntArrData} (setIntArrData method) */
3414    iBase_EntityHandle *entityHandles2 = NULL;
3415    int i = 0, err = 0, *tagValues = NULL;
3416    if (sidlStride(entity_handles,0) == 1 && sidlStride(value_array,0) == 1) {
3417       iMesh_setIntArrData(mesh,entity_handles->d_firstElement,
3418                          entity_handles_size,tag_handle,
3419                          value_array->d_firstElement,value_array_size,&err);
3420    } else {
3421       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
3422       for (i = 0; i < entity_handles_size; ++i) {
3423           entityHandles2[i]  = sidl_opaque__array_get1(entity_handles,i);
3424       } 
3425       tagValues = malloc(value_array_size*sizeof(int));
3426       for (i = 0; i < value_array_size; ++i) {
3427           tagValues[i]  = sidl_int__array_get1(value_array,i);
3428       } 
3429       iMesh_setIntArrData(mesh,entityHandles2,entity_handles_size,tag_handle,
3430                          tagValues,value_array_size,&err);
3431    }
3432    if (err != iBase_SUCCESS) {
3433       printf("Unable to set IntData by array. Exiting with error # %d\n",err);
3434       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3435    }
3436    if (sidlStride(entity_handles,0) != 1 || sidlStride(value_array,0) != 1) {
3437       free(entityHandles2);
3438       free(tagValues);
3439    }
3440  }
3441  EXIT:; {
3442    return;
3443    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setIntArrData) */
3444  }
3445}
3446
3447/*
3448 * Method:  setDblArrData[]
3449 */
3450
3451#undef __FUNC__
3452#define __FUNC__ "impl_iMeshC_iMeshComponent_setDblArrData"
3453
3454#ifdef __cplusplus
3455extern "C"
3456#endif
3457void
3458impl_iMeshC_iMeshComponent_setDblArrData(
3459  /* in */ iMeshC_iMeshComponent self,
3460  /* in */ void* mesh,
3461  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
3462  /* in */ int32_t entity_handles_size,
3463  /* in */ void* tag_handle,
3464  /* in array<double> */ struct sidl_double__array* value_array,
3465  /* in */ int32_t value_array_size,
3466  /* out */ sidl_BaseInterface *_ex)
3467{
3468  *_ex = 0;
3469  {
3470    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setDblArrData) */
3471    /* Insert-Code-Here {iMeshC.iMeshComponent.setDblArrData} (setDblArrData method) */
3472    double *tagValues = NULL;
3473    iBase_EntityHandle *entityHandles2 = NULL;
3474    int i = 0, err = 0;
3475    if (sidlStride(entity_handles,0) == 1 && sidlStride(value_array,0) == 1) {
3476       iMesh_setDblArrData(mesh,entity_handles->d_firstElement,
3477                          entity_handles_size,tag_handle,
3478                          value_array->d_firstElement,value_array_size,&err);
3479    } else {
3480       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
3481       for (i = 0; i < entity_handles_size; ++i) {
3482           entityHandles2[i]  = sidl_opaque__array_get1(entity_handles,i);
3483       } 
3484       tagValues = malloc(value_array_size*sizeof(double));
3485       for (i = 0; i < value_array_size; ++i) {
3486           tagValues[i]  = sidl_double__array_get1(value_array,i);
3487       } 
3488       iMesh_setDblArrData(mesh,entityHandles2,entity_handles_size,tag_handle,
3489                          tagValues,value_array_size,&err);
3490    } 
3491    if (err != iBase_SUCCESS) {
3492       printf("Unable to set DblData by array. Exiting with error # %d\n",err);
3493       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3494    }
3495    if (sidlStride(entity_handles,0) != 1 || sidlStride(value_array,0) != 1) {
3496       free(entityHandles2);
3497       free(tagValues);
3498    }
3499  }
3500  EXIT:; {
3501    return;
3502    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setDblArrData) */
3503  }
3504}
3505
3506/*
3507 * Method:  setEHArrData[]
3508 */
3509
3510#undef __FUNC__
3511#define __FUNC__ "impl_iMeshC_iMeshComponent_setEHArrData"
3512
3513#ifdef __cplusplus
3514extern "C"
3515#endif
3516void
3517impl_iMeshC_iMeshComponent_setEHArrData(
3518  /* in */ iMeshC_iMeshComponent self,
3519  /* in */ void* mesh,
3520  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
3521  /* in */ int32_t entity_handles_size,
3522  /* in */ void* tag_handle,
3523  /* in array<opaque> */ struct sidl_opaque__array* value_array,
3524  /* in */ int32_t value_array_size,
3525  /* out */ sidl_BaseInterface *_ex)
3526{
3527  *_ex = 0;
3528  {
3529    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setEHArrData) */
3530    /* Insert-Code-Here {iMeshC.iMeshComponent.setEHArrData} (setEHArrData method) */
3531    iBase_EntityHandle *entityHandles2 = NULL, *tagValues = NULL;
3532    int i = 0, err = 0;
3533    if (sidlStride(entity_handles,0) == 1 && sidlStride(value_array,0) == 1) {
3534       iMesh_setEHArrData(mesh,entity_handles->d_firstElement,
3535                         entity_handles_size,tag_handle,
3536                         value_array->d_firstElement,value_array_size,&err);
3537    } else {
3538       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
3539       for (i = 0; i < entity_handles_size; ++i) {
3540           entityHandles2[i]  = sidl_opaque__array_get1(entity_handles,i);
3541       } 
3542       tagValues = malloc(value_array_size*sizeof(iBase_EntityHandle));
3543       for (i = 0; i < value_array_size; ++i) {
3544           tagValues[i]  = sidl_opaque__array_get1(value_array,i);
3545       } 
3546       iMesh_setEHArrData(mesh,entityHandles2,entity_handles_size,tag_handle,
3547                         tagValues,value_array_size,&err);
3548    }
3549    if (err != iBase_SUCCESS) {
3550       printf("Unable to set EHData by array. Exiting with error # %d\n",err);
3551       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3552    }
3553    if (sidlStride(entity_handles,0) != 1 || sidlStride(value_array,0) != 1) {
3554       free(entityHandles2);
3555       free(tagValues);
3556    }
3557  }
3558  EXIT:; {
3559    return;
3560    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setEHArrData) */
3561  }
3562}
3563
3564/*
3565 * Method:  rmvArrTag[]
3566 */
3567
3568#undef __FUNC__
3569#define __FUNC__ "impl_iMeshC_iMeshComponent_rmvArrTag"
3570
3571#ifdef __cplusplus
3572extern "C"
3573#endif
3574void
3575impl_iMeshC_iMeshComponent_rmvArrTag(
3576  /* in */ iMeshC_iMeshComponent self,
3577  /* in */ void* mesh,
3578  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
3579  /* in */ int32_t entity_handles_size,
3580  /* in */ void* tag_handle,
3581  /* out */ sidl_BaseInterface *_ex)
3582{
3583  *_ex = 0;
3584  {
3585    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.rmvArrTag) */
3586    /* Insert-Code-Here {iMeshC.iMeshComponent.rmvArrTag} (rmvArrTag method) */
3587    iBase_EntityHandle *entityHandles2 = NULL, *tagValues = NULL;
3588    int i = 0, err = 0;
3589    if (sidlStride(entity_handles,0) == 1) {
3590       iMesh_rmvArrTag(mesh,entity_handles->d_firstElement,
3591                      entity_handles_size,tag_handle,&err);
3592    } else {
3593       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
3594       for (i = 0; i < entity_handles_size; ++i) {
3595           entityHandles2[i]  = sidl_opaque__array_get1(entity_handles,i);
3596       } 
3597       iMesh_rmvArrTag(mesh,entityHandles2,entity_handles_size,tag_handle,
3598                      &err);
3599    }
3600    if (err != iBase_SUCCESS) {
3601       printf("Unable to remove tags by array. Exiting with error # %d\n",
3602             err);
3603       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3604    }
3605    if (sidlStride(entity_handles,0) != 1) {
3606       free(entityHandles2);
3607    }
3608  }
3609  EXIT:; {
3610    return;
3611    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.rmvArrTag) */
3612  }
3613}
3614
3615/*
3616 * Method:  setEntSetData[]
3617 */
3618
3619#undef __FUNC__
3620#define __FUNC__ "impl_iMeshC_iMeshComponent_setEntSetData"
3621
3622#ifdef __cplusplus
3623extern "C"
3624#endif
3625void
3626impl_iMeshC_iMeshComponent_setEntSetData(
3627  /* in */ iMeshC_iMeshComponent self,
3628  /* in */ void* mesh,
3629  /* in */ void* entity_set,
3630  /* in */ void* tag_handle,
3631  /* in */ const char* tag_value,
3632  /* in */ int32_t tag_value_size,
3633  /* out */ sidl_BaseInterface *_ex)
3634{
3635  *_ex = 0;
3636  {
3637    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setEntSetData) */
3638    /* Insert-Code-Here {iMeshC.iMeshComponent.setEntSetData} (setEntSetData method) */
3639    char *tagValues = NULL;
3640    int i = 0, err = 0;
3641    /*if (sidlStride(tag_value,0) == 1) {
3642       iMesh_setEntSetData(mesh,entity_set,tag_handle,
3643                          tag_value->d_firstElement,tag_value_size,&err);
3644    } else {
3645       tagValues = malloc(tag_value_size*sizeof(char));
3646       for (i = 0; i < tag_value_size; ++i) {
3647           tagValues[i]  = sidl_char__array_get1(tag_value,i);
3648       }
3649       iMesh_setEntSetData(mesh,entity_set,tag_handle,tagValues,tag_value_size,
3650                          &err);
3651    }*/
3652       iMesh_setEntSetData(mesh,entity_set,tag_handle,
3653                          tag_value,tag_value_size,&err);
3654    if (err != iBase_SUCCESS) {
3655       printf("Unable to set entity set data. Exiting with error # %d\n",
3656             err);
3657       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3658    }
3659   /* if (sidlStride(tag_value,0) != 1) {
3660       free(tagValues);
3661    }*/
3662  }
3663  EXIT:; {
3664    return; 
3665    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setEntSetData) */
3666  }
3667}
3668
3669/*
3670 * Method:  setEntSetIntData[]
3671 */
3672
3673#undef __FUNC__
3674#define __FUNC__ "impl_iMeshC_iMeshComponent_setEntSetIntData"
3675
3676#ifdef __cplusplus
3677extern "C"
3678#endif
3679void
3680impl_iMeshC_iMeshComponent_setEntSetIntData(
3681  /* in */ iMeshC_iMeshComponent self,
3682  /* in */ void* mesh,
3683  /* in */ void* entity_set,
3684  /* in */ void* tag_handle,
3685  /* in */ int32_t tag_value,
3686  /* out */ sidl_BaseInterface *_ex)
3687{
3688  *_ex = 0;
3689  {
3690    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setEntSetIntData) */
3691    /* Insert-Code-Here {iMeshC.iMeshComponent.setEntSetIntData} (setEntSetIntData method) */
3692    int i = 0, err = 0;
3693    iMesh_setEntSetIntData(mesh,entity_set,tag_handle,tag_value,&err);
3694    if (err != iBase_SUCCESS) {
3695       printf("Unable to set entity set data. Exiting with error # %d\n",
3696             err);
3697       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3698    }
3699  }
3700  EXIT:; {
3701    return; 
3702    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setEntSetIntData) */
3703  }
3704}
3705
3706/*
3707 * Method:  setEntSetDblData[]
3708 */
3709
3710#undef __FUNC__
3711#define __FUNC__ "impl_iMeshC_iMeshComponent_setEntSetDblData"
3712
3713#ifdef __cplusplus
3714extern "C"
3715#endif
3716void
3717impl_iMeshC_iMeshComponent_setEntSetDblData(
3718  /* in */ iMeshC_iMeshComponent self,
3719  /* in */ void* mesh,
3720  /* in */ void* entity_set,
3721  /* in */ void* tag_handle,
3722  /* in */ double tag_value,
3723  /* out */ sidl_BaseInterface *_ex)
3724{
3725  *_ex = 0;
3726  {
3727    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setEntSetDblData) */
3728    /* Insert-Code-Here {iMeshC.iMeshComponent.setEntSetDblData} (setEntSetDblData method) */
3729    int i = 0, err = 0;
3730    iMesh_setEntSetDblData(mesh,entity_set,tag_handle,tag_value,&err);
3731    if (err != iBase_SUCCESS) {
3732       printf("Unable to set entity set data. Exiting with error # %d\n",
3733             err);
3734       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3735    }
3736  }
3737  EXIT:; {
3738    return; 
3739    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setEntSetDblData) */
3740  }
3741}
3742
3743/*
3744 * Method:  setEntSetEHData[]
3745 */
3746
3747#undef __FUNC__
3748#define __FUNC__ "impl_iMeshC_iMeshComponent_setEntSetEHData"
3749
3750#ifdef __cplusplus
3751extern "C"
3752#endif
3753void
3754impl_iMeshC_iMeshComponent_setEntSetEHData(
3755  /* in */ iMeshC_iMeshComponent self,
3756  /* in */ void* mesh,
3757  /* in */ void* entity_set,
3758  /* in */ void* tag_handle,
3759  /* in */ void* tag_value,
3760  /* out */ sidl_BaseInterface *_ex)
3761{
3762  *_ex = 0;
3763  {
3764    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.setEntSetEHData) */
3765    /* Insert-Code-Here {iMeshC.iMeshComponent.setEntSetEHData} (setEntSetEHData method) */
3766    int i = 0, err = 0;
3767    iMesh_setEntSetEHData(mesh,entity_set,tag_handle,tag_value,&err);
3768    if (err != iBase_SUCCESS) {
3769       printf("Unable to set entity set data. Exiting with error # %d\n",
3770             err);
3771       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3772    }
3773  }
3774  EXIT:; {
3775    return; 
3776    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.setEntSetEHData) */
3777  }
3778}
3779
3780/*
3781 * Method:  getEntSetData[]
3782 */
3783
3784#undef __FUNC__
3785#define __FUNC__ "impl_iMeshC_iMeshComponent_getEntSetData"
3786
3787#ifdef __cplusplus
3788extern "C"
3789#endif
3790void
3791impl_iMeshC_iMeshComponent_getEntSetData(
3792  /* in */ iMeshC_iMeshComponent self,
3793  /* in */ void* mesh,
3794  /* in */ void* entity_set,
3795  /* in */ void* tag_handle,
3796  /* inout */ char** tag_value,
3797  /* out */ int32_t* tag_value_size,
3798  /* out */ sidl_BaseInterface *_ex)
3799{
3800  *_ex = 0;
3801  {
3802    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEntSetData) */
3803    /* Insert-Code-Here {iMeshC.iMeshComponent.getEntSetData} (getEntSetData method) */
3804    char *tagValue2 = NULL;
3805    int i = 0, err = 0, alloc = 0;
3806    int lower[1], upper[1], stride[1];
3807    //iMesh_getEntSetData(mesh,entity_set,tag_handle,&tagValue2,&alloc,
3808      //                 tag_value_size,&err);
3809    iMesh_getEntSetData(mesh,entity_set,tag_handle,tag_value,&alloc,
3810                       tag_value_size,&err);
3811    if (err != iBase_SUCCESS) {
3812       printf("Unable to get entity set data. Exiting with error # %d\n",
3813             err);
3814       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3815    } /*else {
3816       lower[0] = 0;
3817       upper[0] = *tag_value_size - 1;
3818       stride[0] = 1;
3819       *tag_value = sidl_char__array_borrow(tagValue2,1,lower,upper,stride);
3820    }*/
3821  }
3822  EXIT:; {
3823    return;
3824    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEntSetData) */
3825  }
3826}
3827
3828/*
3829 * Method:  getEntSetIntData[]
3830 */
3831
3832#undef __FUNC__
3833#define __FUNC__ "impl_iMeshC_iMeshComponent_getEntSetIntData"
3834
3835#ifdef __cplusplus
3836extern "C"
3837#endif
3838void
3839impl_iMeshC_iMeshComponent_getEntSetIntData(
3840  /* in */ iMeshC_iMeshComponent self,
3841  /* in */ void* mesh,
3842  /* in */ void* entity_set,
3843  /* in */ void* tag_handle,
3844  /* out */ int32_t* int_data,
3845  /* out */ sidl_BaseInterface *_ex)
3846{
3847  *_ex = 0;
3848  {
3849    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEntSetIntData) */
3850    /* Insert-Code-Here {iMeshC.iMeshComponent.getEntSetIntData} (getEntSetIntData method) */
3851    int err = 0, alloc = 0;
3852    iMesh_getEntSetIntData(mesh,entity_set,tag_handle,int_data,&err);
3853    if (err != iBase_SUCCESS) {
3854       printf("Unable to get entity set IntData. Exiting with error # %d\n",
3855             err);
3856       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3857    }
3858  }
3859  EXIT:; {
3860    return;
3861    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEntSetIntData) */
3862  }
3863}
3864
3865/*
3866 * Method:  getEntSetDblData[]
3867 */
3868
3869#undef __FUNC__
3870#define __FUNC__ "impl_iMeshC_iMeshComponent_getEntSetDblData"
3871
3872#ifdef __cplusplus
3873extern "C"
3874#endif
3875void
3876impl_iMeshC_iMeshComponent_getEntSetDblData(
3877  /* in */ iMeshC_iMeshComponent self,
3878  /* in */ void* mesh,
3879  /* in */ void* entity_set,
3880  /* in */ void* tag_handle,
3881  /* out */ double* dbl_data,
3882  /* out */ sidl_BaseInterface *_ex)
3883{
3884  *_ex = 0;
3885  {
3886    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEntSetDblData) */
3887    /* Insert-Code-Here {iMeshC.iMeshComponent.getEntSetDblData} (getEntSetDblData method) */
3888    int err = 0, alloc = 0;
3889    iMesh_getEntSetDblData(mesh,entity_set,tag_handle,dbl_data,&err);
3890    if (err != iBase_SUCCESS) {
3891       printf("Unable to get entity set DblData. Exiting with error # %d\n",
3892             err);
3893       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3894    }
3895  }
3896  EXIT:; {
3897    return;
3898    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEntSetDblData) */
3899  }
3900}
3901
3902/*
3903 * Method:  getEntSetEHData[]
3904 */
3905
3906#undef __FUNC__
3907#define __FUNC__ "impl_iMeshC_iMeshComponent_getEntSetEHData"
3908
3909#ifdef __cplusplus
3910extern "C"
3911#endif
3912void
3913impl_iMeshC_iMeshComponent_getEntSetEHData(
3914  /* in */ iMeshC_iMeshComponent self,
3915  /* in */ void* mesh,
3916  /* in */ void* entity_set,
3917  /* in */ void* tag_handle,
3918  /* out */ void** eh_data,
3919  /* out */ sidl_BaseInterface *_ex)
3920{
3921  *_ex = 0;
3922  {
3923    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEntSetEHData) */
3924    /* Insert-Code-Here {iMeshC.iMeshComponent.getEntSetEHData} (getEntSetEHData method) */
3925    int err = 0, alloc = 0;
3926    iMesh_getEntSetEHData(mesh,entity_set,tag_handle,eh_data,&err);
3927    if (err != iBase_SUCCESS) {
3928       printf("Unable to get entity set EHData. Exiting with error # %d\n",
3929             err);
3930       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3931    }
3932  }
3933  EXIT:; {
3934    return;
3935    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEntSetEHData) */
3936  }
3937}
3938
3939/*
3940 * Method:  getAllEntSetTags[]
3941 */
3942
3943#undef __FUNC__
3944#define __FUNC__ "impl_iMeshC_iMeshComponent_getAllEntSetTags"
3945
3946#ifdef __cplusplus
3947extern "C"
3948#endif
3949void
3950impl_iMeshC_iMeshComponent_getAllEntSetTags(
3951  /* in */ iMeshC_iMeshComponent self,
3952  /* in */ void* mesh,
3953  /* in */ void* entity_set,
3954  /* inout array<opaque> */ struct sidl_opaque__array** tag_handles,
3955  /* out */ int32_t* tag_handles_size,
3956  /* out */ sidl_BaseInterface *_ex)
3957{
3958  *_ex = 0;
3959  {
3960    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getAllEntSetTags) */
3961    /* Insert-Code-Here {iMeshC.iMeshComponent.getAllEntSetTags} (getAllEntSetTags method) */
3962    iBase_EntityHandle *tagHandles2;
3963    int err = 0, alloc = 0, lower[1], upper[1], stride[1];
3964    iMesh_getAllEntSetTags(mesh,entity_set,&tagHandles2,&alloc,
3965                          tag_handles_size,&err);
3966    if (err != iBase_SUCCESS) {
3967       printf("Unable to get all entity set data. Exiting with error # %d\n",
3968             err);
3969       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
3970    } else {
3971       lower[0] = 0;
3972       upper[0] = *tag_handles_size - 1;
3973       stride[0] = 1;
3974       *tag_handles = sidl_opaque__array_borrow(tagHandles2,1,lower,upper,stride);
3975    }
3976  }
3977  EXIT:; {
3978    return;
3979    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getAllEntSetTags) */
3980  }
3981}
3982
3983/*
3984 * Method:  rmvEntSetTag[]
3985 */
3986
3987#undef __FUNC__
3988#define __FUNC__ "impl_iMeshC_iMeshComponent_rmvEntSetTag"
3989
3990#ifdef __cplusplus
3991extern "C"
3992#endif
3993void
3994impl_iMeshC_iMeshComponent_rmvEntSetTag(
3995  /* in */ iMeshC_iMeshComponent self,
3996  /* in */ void* mesh,
3997  /* in */ void* entity_set,
3998  /* in */ void* tag_handle,
3999  /* out */ sidl_BaseInterface *_ex)
4000{
4001  *_ex = 0;
4002  {
4003    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.rmvEntSetTag) */
4004    /* Insert-Code-Here {iMeshC.iMeshComponent.rmvEntSetTag} (rmvEntSetTag method) */
4005    int err = 0;
4006    iMesh_rmvEntSetTag(mesh,entity_set,tag_handle,&err);
4007    if (err != iBase_SUCCESS) {
4008       printf("Unable to remove entity set tag. Exiting with error # %d\n",
4009             err);
4010       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4011    }
4012  }
4013  EXIT:; {
4014    return;
4015    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.rmvEntSetTag) */
4016  }
4017}
4018
4019/*
4020 * Method:  createEntSet[]
4021 */
4022
4023#undef __FUNC__
4024#define __FUNC__ "impl_iMeshC_iMeshComponent_createEntSet"
4025
4026#ifdef __cplusplus
4027extern "C"
4028#endif
4029void
4030impl_iMeshC_iMeshComponent_createEntSet(
4031  /* in */ iMeshC_iMeshComponent self,
4032  /* in */ void* mesh,
4033  /* in */ sidl_bool isList,
4034  /* out */ void** entity_set,
4035  /* out */ sidl_BaseInterface *_ex)
4036{
4037  *_ex = 0;
4038  {
4039    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.createEntSet) */
4040    /* Insert-Code-Here {iMeshC.iMeshComponent.createEntSet} (createEntSet method) */
4041    int err = 0;
4042    iMesh_createEntSet(mesh,isList,entity_set,&err);
4043    if (err != iBase_SUCCESS) {
4044       printf("Unable to create entity set. Exiting with error # %d\n",
4045             err);
4046       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4047    }
4048  }
4049  EXIT:; {
4050    return;
4051    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.createEntSet) */
4052  }
4053}
4054
4055/*
4056 * Method:  destroyEntSet[]
4057 */
4058
4059#undef __FUNC__
4060#define __FUNC__ "impl_iMeshC_iMeshComponent_destroyEntSet"
4061
4062#ifdef __cplusplus
4063extern "C"
4064#endif
4065void
4066impl_iMeshC_iMeshComponent_destroyEntSet(
4067  /* in */ iMeshC_iMeshComponent self,
4068  /* in */ void* mesh,
4069  /* in */ void* entity_set,
4070  /* out */ sidl_BaseInterface *_ex)
4071{
4072  *_ex = 0;
4073  {
4074    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.destroyEntSet) */
4075    /* Insert-Code-Here {iMeshC.iMeshComponent.destroyEntSet} (destroyEntSet method) */
4076    int err = 0;
4077    iMesh_destroyEntSet(mesh,entity_set,&err);
4078    if (err != iBase_SUCCESS) {
4079       printf("Unable to destroy entity set. Exiting with error # %d\n",
4080             err);
4081       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4082    }
4083  }
4084  EXIT:; {
4085    return;
4086    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.destroyEntSet) */
4087  }
4088}
4089
4090/*
4091 * Method:  isList[]
4092 */
4093
4094#undef __FUNC__
4095#define __FUNC__ "impl_iMeshC_iMeshComponent_isList"
4096
4097#ifdef __cplusplus
4098extern "C"
4099#endif
4100void
4101impl_iMeshC_iMeshComponent_isList(
4102  /* in */ iMeshC_iMeshComponent self,
4103  /* in */ void* mesh,
4104  /* in */ void* entity_set,
4105  /* out */ int32_t* is_list,
4106  /* out */ sidl_BaseInterface *_ex)
4107{
4108  *_ex = 0;
4109  {
4110    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.isList) */
4111    /* Insert-Code-Here {iMeshC.iMeshComponent.isList} (isList method) */
4112    int err = 0;
4113    iMesh_isList(mesh,entity_set,is_list,&err);
4114    if (err != iBase_SUCCESS) {
4115       printf("Unable to check list (isList). Exiting with error # %d\n",
4116             err);
4117       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4118    }
4119  }
4120  EXIT:; {
4121    return;
4122    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.isList) */
4123  }
4124}
4125
4126/*
4127 * Method:  getNumEntSets[]
4128 */
4129
4130#undef __FUNC__
4131#define __FUNC__ "impl_iMeshC_iMeshComponent_getNumEntSets"
4132
4133#ifdef __cplusplus
4134extern "C"
4135#endif
4136void
4137impl_iMeshC_iMeshComponent_getNumEntSets(
4138  /* in */ iMeshC_iMeshComponent self,
4139  /* in */ void* mesh,
4140  /* in */ void* entity_set,
4141  /* in */ int32_t num_hops,
4142  /* out */ int32_t* num_sets,
4143  /* out */ sidl_BaseInterface *_ex)
4144{
4145  *_ex = 0;
4146  {
4147    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getNumEntSets) */
4148    /* Insert-Code-Here {iMeshC.iMeshComponent.getNumEntSets} (getNumEntSets method) */
4149    int err = 0;
4150    iMesh_getNumEntSets(mesh,entity_set,num_hops,num_sets,&err);
4151    if (err != iBase_SUCCESS) {
4152       printf("Unable to get the number of sets. Exiting with error # %d\n",
4153             err);
4154       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4155    }
4156  }
4157  EXIT:; {
4158    return;
4159    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getNumEntSets) */
4160  }
4161}
4162
4163/*
4164 * Method:  getEntSets[]
4165 */
4166
4167#undef __FUNC__
4168#define __FUNC__ "impl_iMeshC_iMeshComponent_getEntSets"
4169
4170#ifdef __cplusplus
4171extern "C"
4172#endif
4173void
4174impl_iMeshC_iMeshComponent_getEntSets(
4175  /* in */ iMeshC_iMeshComponent self,
4176  /* in */ void* mesh,
4177  /* in */ void* entity_set,
4178  /* in */ int32_t num_hops,
4179  /* inout array<opaque> */ struct sidl_opaque__array** 
4180    contained_entset_handles,
4181  /* out */ int32_t* contained_entset_handles_size,
4182  /* out */ sidl_BaseInterface *_ex)
4183{
4184  *_ex = 0;
4185  {
4186    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getEntSets) */
4187    /* Insert-Code-Here {iMeshC.iMeshComponent.getEntSets} (getEntSets method) */
4188    iBase_EntityHandle *entitySetsHandles;
4189    int err = 0, alloc = 0, lower[1], upper[1], stride[1];
4190    iMesh_getEntSets(mesh,entity_set,num_hops,&entitySetsHandles,&alloc,
4191                    contained_entset_handles_size,&err);
4192    if (err != iBase_SUCCESS) {
4193       printf("Unable to get the of sets. Exiting with error # %d\n",
4194             err);
4195       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4196    } else {
4197       lower[0] = 0;
4198       upper[0] = *contained_entset_handles_size - 1;
4199       stride[0] = 1;
4200       *contained_entset_handles = sidl_opaque__array_borrow(entitySetsHandles,
4201                                     1,lower,upper,stride);
4202    }
4203  }
4204  EXIT:; {
4205    return;
4206    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getEntSets) */
4207  }
4208}
4209
4210/*
4211 * Method:  addEntToSet[]
4212 */
4213
4214#undef __FUNC__
4215#define __FUNC__ "impl_iMeshC_iMeshComponent_addEntToSet"
4216
4217#ifdef __cplusplus
4218extern "C"
4219#endif
4220void
4221impl_iMeshC_iMeshComponent_addEntToSet(
4222  /* in */ iMeshC_iMeshComponent self,
4223  /* in */ void* mesh,
4224  /* in */ void* entity_handle,
4225  /* inout */ void** entity_set,
4226  /* out */ sidl_BaseInterface *_ex)
4227{
4228  *_ex = 0;
4229  {
4230    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.addEntToSet) */
4231    /* Insert-Code-Here {iMeshC.iMeshComponent.addEntToSet} (addEntToSet method) */
4232    int err = 0;
4233    iMesh_addEntToSet(mesh,entity_handle,entity_set,&err);
4234    if (err != iBase_SUCCESS) {
4235       printf("Unable to add the entity to the set. Exiting with error # %d\n",
4236             err);
4237       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4238    }
4239  }
4240  EXIT:; {
4241    return;
4242    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.addEntToSet) */
4243  }
4244}
4245
4246/*
4247 * Method:  rmvEntFromSet[]
4248 */
4249
4250#undef __FUNC__
4251#define __FUNC__ "impl_iMeshC_iMeshComponent_rmvEntFromSet"
4252
4253#ifdef __cplusplus
4254extern "C"
4255#endif
4256void
4257impl_iMeshC_iMeshComponent_rmvEntFromSet(
4258  /* in */ iMeshC_iMeshComponent self,
4259  /* in */ void* mesh,
4260  /* in */ void* entity_handle,
4261  /* inout */ void** entity_set,
4262  /* out */ sidl_BaseInterface *_ex)
4263{
4264  *_ex = 0;
4265  {
4266    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.rmvEntFromSet) */
4267    /* Insert-Code-Here {iMeshC.iMeshComponent.rmvEntFromSet} (rmvEntFromSet method) */
4268    int err = 0;
4269    iMesh_rmvEntFromSet(mesh,entity_handle,entity_set,&err);
4270    if (err != iBase_SUCCESS) {
4271       printf("Unable to delete the entity from the set. ");
4272       printf("Exiting with error # %d\n",err);
4273       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4274    }
4275  }
4276  EXIT:; {
4277    return;
4278    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.rmvEntFromSet) */
4279  }
4280}
4281
4282/*
4283 * Method:  addEntArrToSet[]
4284 */
4285
4286#undef __FUNC__
4287#define __FUNC__ "impl_iMeshC_iMeshComponent_addEntArrToSet"
4288
4289#ifdef __cplusplus
4290extern "C"
4291#endif
4292void
4293impl_iMeshC_iMeshComponent_addEntArrToSet(
4294  /* in */ iMeshC_iMeshComponent self,
4295  /* in */ void* mesh,
4296  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
4297  /* in */ int32_t entity_handles_size,
4298  /* inout */ void** entity_set,
4299  /* out */ sidl_BaseInterface *_ex)
4300{
4301  *_ex = 0;
4302  {
4303    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.addEntArrToSet) */
4304    /* Insert-Code-Here {iMeshC.iMeshComponent.addEntArrToSet} (addEntArrToSet method) */
4305    iBase_EntityHandle *entityHandles2 = NULL;
4306    int i = 0, err = 0;
4307    if (sidlStride(entity_handles,0) == 1) {
4308       iMesh_addEntArrToSet(mesh,entity_handles->d_firstElement,
4309                           entity_handles_size,entity_set,&err);
4310    } else {
4311       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
4312       for (i = 0; i < entity_handles_size; ++i) {
4313           entityHandles2[i] = sidl_opaque__array_get1(entity_handles,i);
4314       }
4315       iMesh_addEntArrToSet(mesh,entityHandles2,entity_handles_size,entity_set,
4316                        &err);
4317    }
4318    if (err != iBase_SUCCESS) {
4319       printf("Unable to add the entity array to the set. ");
4320       printf("Exiting with error # %d\n",err);
4321       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4322    }
4323    if (sidlStride(entity_handles,0) != 1) {
4324       free(entityHandles2);
4325    }
4326  }
4327  EXIT:; {
4328    return;
4329    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.addEntArrToSet) */
4330  }
4331}
4332
4333/*
4334 * Method:  rmvEntArrFromSet[]
4335 */
4336
4337#undef __FUNC__
4338#define __FUNC__ "impl_iMeshC_iMeshComponent_rmvEntArrFromSet"
4339
4340#ifdef __cplusplus
4341extern "C"
4342#endif
4343void
4344impl_iMeshC_iMeshComponent_rmvEntArrFromSet(
4345  /* in */ iMeshC_iMeshComponent self,
4346  /* in */ void* mesh,
4347  /* in array<opaque> */ struct sidl_opaque__array* entity_handles,
4348  /* in */ int32_t entity_handles_size,
4349  /* inout */ void** entity_set,
4350  /* out */ sidl_BaseInterface *_ex)
4351{
4352  *_ex = 0;
4353  {
4354    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.rmvEntArrFromSet) */
4355    /* Insert-Code-Here {iMeshC.iMeshComponent.rmvEntArrFromSet} (rmvEntArrFromSet method) */
4356    iBase_EntityHandle *entityHandles2 = NULL;
4357    int i = 0, err = 0;
4358    if (sidlStride(entity_handles,0) == 1) {
4359       iMesh_rmvEntArrFromSet(mesh,entity_handles->d_firstElement,
4360                             entity_handles_size,entity_set,&err);
4361    } else {
4362       entityHandles2 = malloc(entity_handles_size*sizeof(iBase_EntityHandle));
4363       for (i = 0; i < entity_handles_size; ++i) {
4364           entityHandles2[i] = sidl_opaque__array_get1(entity_handles,i);
4365       }
4366       iMesh_rmvEntArrFromSet(mesh,entityHandles2,entity_handles_size,
4367                             entity_set,&err);
4368    }
4369    if (err != iBase_SUCCESS) {
4370       printf("Unable to remove the entity array from the set. ");
4371       printf("Exiting with error # %d\n",err);
4372       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4373    }
4374    if (sidlStride(entity_handles,0) != 1) {
4375       free(entityHandles2);
4376    }
4377  }
4378  EXIT:; {
4379    return;
4380    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.rmvEntArrFromSet) */
4381  }
4382}
4383
4384/*
4385 * Method:  addEntSet[]
4386 */
4387
4388#undef __FUNC__
4389#define __FUNC__ "impl_iMeshC_iMeshComponent_addEntSet"
4390
4391#ifdef __cplusplus
4392extern "C"
4393#endif
4394void
4395impl_iMeshC_iMeshComponent_addEntSet(
4396  /* in */ iMeshC_iMeshComponent self,
4397  /* in */ void* mesh,
4398  /* in */ void* entity_set_to_add,
4399  /* inout */ void** entity_set_handle,
4400  /* out */ sidl_BaseInterface *_ex)
4401{
4402  *_ex = 0;
4403  {
4404    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.addEntSet) */
4405    /* Insert-Code-Here {iMeshC.iMeshComponent.addEntSet} (addEntSet method) */
4406    int err = 0;
4407    iMesh_addEntSet(mesh,entity_set_to_add,entity_set_handle,&err);
4408    if (err != iBase_SUCCESS) {
4409       printf("Unable to add the entity set. ");
4410       printf("Exiting with error # %d\n",err);
4411       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4412    }
4413  }
4414  EXIT:; {
4415    return;
4416    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.addEntSet) */
4417  }
4418}
4419
4420/*
4421 * Method:  rmvEntSet[]
4422 */
4423
4424#undef __FUNC__
4425#define __FUNC__ "impl_iMeshC_iMeshComponent_rmvEntSet"
4426
4427#ifdef __cplusplus
4428extern "C"
4429#endif
4430void
4431impl_iMeshC_iMeshComponent_rmvEntSet(
4432  /* in */ iMeshC_iMeshComponent self,
4433  /* in */ void* mesh,
4434  /* in */ void* entity_set_to_remove,
4435  /* inout */ void** entity_set_handle,
4436  /* out */ sidl_BaseInterface *_ex)
4437{
4438  *_ex = 0;
4439  {
4440    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.rmvEntSet) */
4441    /* Insert-Code-Here {iMeshC.iMeshComponent.rmvEntSet} (rmvEntSet method) */
4442    int err = 0;
4443    iMesh_rmvEntSet(mesh,entity_set_to_remove,entity_set_handle,&err);
4444    if (err != iBase_SUCCESS) {
4445       printf("Unable to remove the entity set. ");
4446       printf("Exiting with error # %d\n",err);
4447       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4448    }
4449  }
4450  EXIT:; {
4451    return;
4452    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.rmvEntSet) */
4453  }
4454}
4455
4456/*
4457 * Method:  isEntContained[]
4458 */
4459
4460#undef __FUNC__
4461#define __FUNC__ "impl_iMeshC_iMeshComponent_isEntContained"
4462
4463#ifdef __cplusplus
4464extern "C"
4465#endif
4466void
4467impl_iMeshC_iMeshComponent_isEntContained(
4468  /* in */ iMeshC_iMeshComponent self,
4469  /* in */ void* mesh,
4470  /* in */ void* containing_entity_set,
4471  /* in */ void* entity_handle,
4472  /* out */ int32_t* is_contained,
4473  /* out */ sidl_BaseInterface *_ex)
4474{
4475  *_ex = 0;
4476  {
4477    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.isEntContained) */
4478    /* Insert-Code-Here {iMeshC.iMeshComponent.isEntContained} (isEntContained method) */
4479    int err = 0;
4480    iMesh_isEntContained(mesh,containing_entity_set,entity_handle,
4481                        is_contained,&err);
4482    if (err != iBase_SUCCESS) {
4483       printf("Unable to check containment (isEntContained). ");
4484       printf("Exiting with error # %d\n",err);
4485       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4486    }
4487  }
4488  EXIT:; {
4489    return;
4490    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.isEntContained) */
4491  }
4492}
4493
4494/*
4495 * Method:  isEntSetContained[]
4496 */
4497
4498#undef __FUNC__
4499#define __FUNC__ "impl_iMeshC_iMeshComponent_isEntSetContained"
4500
4501#ifdef __cplusplus
4502extern "C"
4503#endif
4504void
4505impl_iMeshC_iMeshComponent_isEntSetContained(
4506  /* in */ iMeshC_iMeshComponent self,
4507  /* in */ void* mesh,
4508  /* in */ void* containing_entity_set,
4509  /* in */ void* contained_entity_set,
4510  /* out */ int32_t* is_contained,
4511  /* out */ sidl_BaseInterface *_ex)
4512{
4513  *_ex = 0;
4514  {
4515    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.isEntSetContained) */
4516    /* Insert-Code-Here {iMeshC.iMeshComponent.isEntSetContained} (isEntSetContained method) */
4517    int err = 0;
4518    iMesh_isEntSetContained(mesh,containing_entity_set,contained_entity_set,
4519                        is_contained,&err);
4520    if (err != iBase_SUCCESS) {
4521       printf("Unable to check set containment (isEntSetContained). ");
4522       printf("Exiting with error # %d\n",err);
4523       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4524    }
4525  }
4526  EXIT:; {
4527    return;
4528    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.isEntSetContained) */
4529  }
4530}
4531
4532/*
4533 * Method:  addPrntChld[]
4534 */
4535
4536#undef __FUNC__
4537#define __FUNC__ "impl_iMeshC_iMeshComponent_addPrntChld"
4538
4539#ifdef __cplusplus
4540extern "C"
4541#endif
4542void
4543impl_iMeshC_iMeshComponent_addPrntChld(
4544  /* in */ iMeshC_iMeshComponent self,
4545  /* in */ void* mesh,
4546  /* inout */ void** parent_entity_set,
4547  /* inout */ void** child_entity_set,
4548  /* out */ sidl_BaseInterface *_ex)
4549{
4550  *_ex = 0;
4551  {
4552    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.addPrntChld) */
4553    /* Insert-Code-Here {iMeshC.iMeshComponent.addPrntChld} (addPrntChld method) */
4554    int err = 0;
4555    iMesh_addPrntChld(mesh,parent_entity_set,child_entity_set,&err);
4556    if (err != iBase_SUCCESS) {
4557       printf("Unable to addPrntChld. ");
4558       printf("Exiting with error # %d\n",err);
4559       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4560    }
4561  }
4562  EXIT:; {
4563    return;
4564    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.addPrntChld) */
4565  }
4566}
4567
4568/*
4569 * Method:  rmvPrntChld[]
4570 */
4571
4572#undef __FUNC__
4573#define __FUNC__ "impl_iMeshC_iMeshComponent_rmvPrntChld"
4574
4575#ifdef __cplusplus
4576extern "C"
4577#endif
4578void
4579impl_iMeshC_iMeshComponent_rmvPrntChld(
4580  /* in */ iMeshC_iMeshComponent self,
4581  /* in */ void* mesh,
4582  /* inout */ void** parent_entity_set,
4583  /* inout */ void** child_entity_set,
4584  /* out */ sidl_BaseInterface *_ex)
4585{
4586  *_ex = 0;
4587  {
4588    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.rmvPrntChld) */
4589    /* Insert-Code-Here {iMeshC.iMeshComponent.rmvPrntChld} (rmvPrntChld method) */
4590    int err = 0;
4591    iMesh_rmvPrntChld(mesh,parent_entity_set,child_entity_set,&err);
4592    if (err != iBase_SUCCESS) {
4593       printf("Unable to rmvPrntChild. ");
4594       printf("Exiting with error # %d\n",err);
4595       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4596    }
4597  }
4598  EXIT:; {
4599    return;
4600    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.rmvPrntChld) */
4601  }
4602}
4603
4604/*
4605 * Method:  isChildOf[]
4606 */
4607
4608#undef __FUNC__
4609#define __FUNC__ "impl_iMeshC_iMeshComponent_isChildOf"
4610
4611#ifdef __cplusplus
4612extern "C"
4613#endif
4614void
4615impl_iMeshC_iMeshComponent_isChildOf(
4616  /* in */ iMeshC_iMeshComponent self,
4617  /* in */ void* mesh,
4618  /* in */ void* parent_entity_set,
4619  /* in */ void* child_entity_set,
4620  /* out */ int32_t* is_child,
4621  /* out */ sidl_BaseInterface *_ex)
4622{
4623  *_ex = 0;
4624  {
4625    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.isChildOf) */
4626    /* Insert-Code-Here {iMeshC.iMeshComponent.isChildOf} (isChildOf method) */
4627    int err = 0;
4628    iMesh_isChildOf(mesh,parent_entity_set,child_entity_set,is_child,&err);
4629    if (err != iBase_SUCCESS) {
4630       printf("Unable to check isChildOf. ");
4631       printf("Exiting with error # %d\n",err);
4632       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4633    }
4634  }
4635  EXIT:; {
4636    return;
4637    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.isChildOf) */
4638  }
4639}
4640
4641/*
4642 * Method:  getNumChld[]
4643 */
4644
4645#undef __FUNC__
4646#define __FUNC__ "impl_iMeshC_iMeshComponent_getNumChld"
4647
4648#ifdef __cplusplus
4649extern "C"
4650#endif
4651void
4652impl_iMeshC_iMeshComponent_getNumChld(
4653  /* in */ iMeshC_iMeshComponent self,
4654  /* in */ void* mesh,
4655  /* in */ void* entity_set,
4656  /* in */ int32_t num_hops,
4657  /* out */ int32_t* num_child,
4658  /* out */ sidl_BaseInterface *_ex)
4659{
4660  *_ex = 0;
4661  {
4662    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getNumChld) */
4663    /* Insert-Code-Here {iMeshC.iMeshComponent.getNumChld} (getNumChld method) */
4664    int err = 0;
4665    iMesh_getNumChld(mesh,entity_set,num_hops,num_child,&err);
4666    if (err != iBase_SUCCESS) {
4667       printf("Unable to get the number of children. ");
4668       printf("Exiting with error # %d\n",err);
4669       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4670    }
4671  }
4672  EXIT:; {
4673    return;
4674    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getNumChld) */
4675  }
4676}
4677
4678/*
4679 * Method:  getNumPrnt[]
4680 */
4681
4682#undef __FUNC__
4683#define __FUNC__ "impl_iMeshC_iMeshComponent_getNumPrnt"
4684
4685#ifdef __cplusplus
4686extern "C"
4687#endif
4688void
4689impl_iMeshC_iMeshComponent_getNumPrnt(
4690  /* in */ iMeshC_iMeshComponent self,
4691  /* in */ void* mesh,
4692  /* in */ void* entity_set,
4693  /* in */ int32_t num_hops,
4694  /* out */ int32_t* num_parent,
4695  /* out */ sidl_BaseInterface *_ex)
4696{
4697  *_ex = 0;
4698  {
4699    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getNumPrnt) */
4700    /* Insert-Code-Here {iMeshC.iMeshComponent.getNumPrnt} (getNumPrnt method) */
4701    int err = 0;
4702    iMesh_getNumPrnt(mesh,entity_set,num_hops,num_parent,&err);
4703    if (err != iBase_SUCCESS) {
4704       printf("Unable to get the number of parents. ");
4705       printf("Exiting with error # %d\n",err);
4706       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4707    }
4708  }
4709  EXIT:; {
4710    return;
4711    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getNumPrnt) */
4712  }
4713}
4714
4715/*
4716 * Method:  getChldn[]
4717 */
4718
4719#undef __FUNC__
4720#define __FUNC__ "impl_iMeshC_iMeshComponent_getChldn"
4721
4722#ifdef __cplusplus
4723extern "C"
4724#endif
4725void
4726impl_iMeshC_iMeshComponent_getChldn(
4727  /* in */ iMeshC_iMeshComponent self,
4728  /* in */ void* mesh,
4729  /* in */ void* from_entity_set,
4730  /* in */ int32_t num_hops,
4731  /* inout array<opaque> */ struct sidl_opaque__array** child_handles,
4732  /* out */ int32_t* child_handles_size,
4733  /* out */ sidl_BaseInterface *_ex)
4734{
4735  *_ex = 0;
4736  {
4737    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getChldn) */
4738    /* Insert-Code-Here {iMeshC.iMeshComponent.getChldn} (getChldn method) */
4739    iBase_EntityHandle *entityHandles = NULL;
4740    int err = 0, alloc = 0, lower[0], upper[0], stride[0];
4741    iMesh_getChldn(mesh,from_entity_set,num_hops,&entityHandles,&alloc,
4742                  child_handles_size,&err);
4743    if (err != iBase_SUCCESS) {
4744       printf("Unable to get children. ");
4745       printf("Exiting with error # %d\n",err);
4746       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4747    } else {
4748      lower[0] = 0;
4749      upper[0] = *child_handles_size - 1;
4750      stride[0] = 1;
4751      *child_handles = sidl_opaque__array_borrow(entityHandles,1,lower,upper,
4752                                                stride);
4753    }
4754  }
4755  EXIT:; {
4756    return;
4757    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getChldn) */
4758  }
4759}
4760
4761/*
4762 * Method:  getPrnts[]
4763 */
4764
4765#undef __FUNC__
4766#define __FUNC__ "impl_iMeshC_iMeshComponent_getPrnts"
4767
4768#ifdef __cplusplus
4769extern "C"
4770#endif
4771void
4772impl_iMeshC_iMeshComponent_getPrnts(
4773  /* in */ iMeshC_iMeshComponent self,
4774  /* in */ void* mesh,
4775  /* in */ void* from_entity_set,
4776  /* in */ int32_t num_hops,
4777  /* inout array<opaque> */ struct sidl_opaque__array** parent_handles,
4778  /* out */ int32_t* parent_handles_size,
4779  /* out */ sidl_BaseInterface *_ex)
4780{
4781  *_ex = 0;
4782  {
4783    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.getPrnts) */
4784    /* Insert-Code-Here {iMeshC.iMeshComponent.getPrnts} (getPrnts method) */
4785    iBase_EntityHandle *entityHandles = NULL;
4786    int err = 0, alloc = 0, lower[0], upper[0], stride[0];
4787    iMesh_getPrnts(mesh,from_entity_set,num_hops,&entityHandles,&alloc,
4788                  parent_handles_size,&err);
4789    if (err != iBase_SUCCESS) {
4790       printf("Unable to get parents. ");
4791       printf("Exiting with error # %d\n",err);
4792       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4793    } else {
4794      lower[0] = 0;
4795      upper[0] = *parent_handles_size - 1;
4796      stride[0] = 1;
4797      *parent_handles = sidl_opaque__array_borrow(entityHandles,1,lower,upper,
4798                                                stride);
4799    }
4800  }
4801  EXIT:; {
4802    return;
4803    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.getPrnts) */
4804  }
4805}
4806
4807/*
4808 * Method:  subtract[]
4809 */
4810
4811#undef __FUNC__
4812#define __FUNC__ "impl_iMeshC_iMeshComponent_subtract"
4813
4814#ifdef __cplusplus
4815extern "C"
4816#endif
4817void
4818impl_iMeshC_iMeshComponent_subtract(
4819  /* in */ iMeshC_iMeshComponent self,
4820  /* in */ void* mesh,
4821  /* in */ void* entity_set_1,
4822  /* in */ void* entity_set_2,
4823  /* out */ void** result_entity_set,
4824  /* out */ sidl_BaseInterface *_ex)
4825{
4826  *_ex = 0;
4827  {
4828    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.subtract) */
4829    /* Insert-Code-Here {iMeshC.iMeshComponent.subtract} (subtract method) */
4830    int err = 0;
4831    iMesh_subtract(mesh,entity_set_1,entity_set_2,
4832                  result_entity_set,&err);
4833    if (err != iBase_SUCCESS) {
4834       printf("Unable to subtract sets. ");
4835       printf("Exiting with error # %d\n",err);
4836       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4837    }
4838  }
4839  EXIT:; {
4840    return;
4841    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.subtract) */
4842  }
4843}
4844
4845/*
4846 * Method:  intersect[]
4847 */
4848
4849#undef __FUNC__
4850#define __FUNC__ "impl_iMeshC_iMeshComponent_intersect"
4851
4852#ifdef __cplusplus
4853extern "C"
4854#endif
4855void
4856impl_iMeshC_iMeshComponent_intersect(
4857  /* in */ iMeshC_iMeshComponent self,
4858  /* in */ void* mesh,
4859  /* in */ void* entity_set_1,
4860  /* in */ void* entity_set_2,
4861  /* out */ void** result_entity_set,
4862  /* out */ sidl_BaseInterface *_ex)
4863{
4864  *_ex = 0;
4865  {
4866    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.intersect) */
4867    /* Insert-Code-Here {iMeshC.iMeshComponent.intersect} (intersect method) */
4868    int err = 0;
4869    iMesh_intersect(mesh,entity_set_1,entity_set_2,
4870                  result_entity_set,&err);
4871    if (err != iBase_SUCCESS) {
4872       printf("Unable to perform set intersection. ");
4873       printf("Exiting with error # %d\n",err);
4874       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4875    }
4876  }
4877  EXIT:; {
4878    return;
4879    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.intersect) */
4880  }
4881}
4882
4883/*
4884 * Method:  unite[]
4885 */
4886
4887#undef __FUNC__
4888#define __FUNC__ "impl_iMeshC_iMeshComponent_unite"
4889
4890#ifdef __cplusplus
4891extern "C"
4892#endif
4893void
4894impl_iMeshC_iMeshComponent_unite(
4895  /* in */ iMeshC_iMeshComponent self,
4896  /* in */ void* mesh,
4897  /* in */ void* entity_set_1,
4898  /* in */ void* entity_set_2,
4899  /* out */ void** result_entity_set,
4900  /* out */ sidl_BaseInterface *_ex)
4901{
4902  *_ex = 0;
4903  {
4904    /* DO-NOT-DELETE splicer.begin(iMeshC.iMeshComponent.unite) */
4905    /* Insert-Code-Here {iMeshC.iMeshComponent.unite} (unite method) */
4906    int err = 0;
4907    iMesh_unite(mesh,entity_set_1,entity_set_2,
4908                  result_entity_set,&err);
4909    if (err != iBase_SUCCESS) {
4910       printf("Unable to unite sets. ");
4911       printf("Exiting with error # %d\n",err);
4912       SIDL_THROW(*_ex,sidl_SIDLException,"SIDL exception thrown.");
4913    }
4914  }
4915  EXIT:; {
4916    return;
4917    /* DO-NOT-DELETE splicer.end(iMeshC.iMeshComponent.unite) */
4918  }
4919}
4920/* Babel internal methods, Users should not edit below this line. */
4921struct gov_cca_CCAException__object* 
4922  impl_iMeshC_iMeshComponent_fconnect_gov_cca_CCAException(const char* url, 
4923  sidl_bool ar, sidl_BaseInterface *_ex) {
4924  return gov_cca_CCAException__connectI(url, ar, _ex);
4925}
4926struct gov_cca_CCAException__object* 
4927  impl_iMeshC_iMeshComponent_fcast_gov_cca_CCAException(void* bi, 
4928  sidl_BaseInterface* _ex) {
4929  return gov_cca_CCAException__cast(bi, _ex);
4930}
4931struct gov_cca_Component__object* 
4932  impl_iMeshC_iMeshComponent_fconnect_gov_cca_Component(const char* url, 
4933  sidl_bool ar, sidl_BaseInterface *_ex) {
4934  return gov_cca_Component__connectI(url, ar, _ex);
4935}
4936struct gov_cca_Component__object* 
4937  impl_iMeshC_iMeshComponent_fcast_gov_cca_Component(void* bi, 
4938  sidl_BaseInterface* _ex) {
4939  return gov_cca_Component__cast(bi, _ex);
4940}
4941struct gov_cca_ComponentRelease__object* 
4942  impl_iMeshC_iMeshComponent_fconnect_gov_cca_ComponentRelease(const char* url, 
4943  sidl_bool ar, sidl_BaseInterface *_ex) {
4944  return gov_cca_ComponentRelease__connectI(url, ar, _ex);
4945}
4946struct gov_cca_ComponentRelease__object* 
4947  impl_iMeshC_iMeshComponent_fcast_gov_cca_ComponentRelease(void* bi, 
4948  sidl_BaseInterface* _ex) {
4949  return gov_cca_ComponentRelease__cast(bi, _ex);
4950}
4951struct gov_cca_Port__object* impl_iMeshC_iMeshComponent_fconnect_gov_cca_Port(
4952  const char* url, sidl_bool ar, sidl_BaseInterface *_ex) {
4953  return gov_cca_Port__connectI(url, ar, _ex);
4954}
4955struct gov_cca_Port__object* impl_iMeshC_iMeshComponent_fcast_gov_cca_Port(
4956  void* bi, sidl_BaseInterface* _ex) {
4957  return gov_cca_Port__cast(bi, _ex);
4958}
4959struct gov_cca_Services__object* 
4960  impl_iMeshC_iMeshComponent_fconnect_gov_cca_Services(const char* url, 
4961  sidl_bool ar, sidl_BaseInterface *_ex) {
4962  return gov_cca_Services__connectI(url, ar, _ex);
4963}
4964struct gov_cca_Services__object* 
4965  impl_iMeshC_iMeshComponent_fcast_gov_cca_Services(void* bi, 
4966  sidl_BaseInterface* _ex) {
4967  return gov_cca_Services__cast(bi, _ex);
4968}
4969struct iMeshC_Error__object* impl_iMeshC_iMeshComponent_fconnect_iMeshC_Error(
4970  const char* url, sidl_bool ar, sidl_BaseInterface *_ex) {
4971  return iMeshC_Error__connectI(url, ar, _ex);
4972}
4973struct iMeshC_Error__object* impl_iMeshC_iMeshComponent_fcast_iMeshC_Error(
4974  void* bi, sidl_BaseInterface* _ex) {
4975  return iMeshC_Error__cast(bi, _ex);
4976}
4977struct iMeshC_iMeshComponent__object* 
4978  impl_iMeshC_iMeshComponent_fconnect_iMeshC_iMeshComponent(const char* url, 
4979  sidl_bool ar, sidl_BaseInterface *_ex) {
4980  return iMeshC_iMeshComponent__connectI(url, ar, _ex);
4981}
4982struct iMeshC_iMeshComponent__object* 
4983  impl_iMeshC_iMeshComponent_fcast_iMeshC_iMeshComponent(void* bi, 
4984  sidl_BaseInterface* _ex) {
4985  return iMeshC_iMeshComponent__cast(bi, _ex);
4986}
4987struct iMeshC_iMeshPort__object* 
4988  impl_iMeshC_iMeshComponent_fconnect_iMeshC_iMeshPort(const char* url, 
4989  sidl_bool ar, sidl_BaseInterface *_ex) {
4990  return iMeshC_iMeshPort__connectI(url, ar, _ex);
4991}
4992struct iMeshC_iMeshPort__object* 
4993  impl_iMeshC_iMeshComponent_fcast_iMeshC_iMeshPort(void* bi, 
4994  sidl_BaseInterface* _ex) {
4995  return iMeshC_iMeshPort__cast(bi, _ex);
4996}
4997struct sidl_BaseClass__object* 
4998  impl_iMeshC_iMeshComponent_fconnect_sidl_BaseClass(const char* url, sidl_bool
4999  ar, sidl_BaseInterface *_ex) {
5000  return sidl_BaseClass__connectI(url, ar, _ex);
5001}
5002struct sidl_BaseClass__object* impl_iMeshC_iMeshComponent_fcast_sidl_BaseClass(
5003  void* bi, sidl_BaseInterface* _ex) {
5004  return sidl_BaseClass__cast(bi, _ex);
5005}
5006struct sidl_BaseInterface__object* 
5007  impl_iMeshC_iMeshComponent_fconnect_sidl_BaseInterface(const char* url, 
5008  sidl_bool ar, sidl_BaseInterface *_ex) {
5009  return sidl_BaseInterface__connectI(url, ar, _ex);
5010}
5011struct sidl_BaseInterface__object* 
5012  impl_iMeshC_iMeshComponent_fcast_sidl_BaseInterface(void* bi, 
5013  sidl_BaseInterface* _ex) {
5014  return sidl_BaseInterface__cast(bi, _ex);
5015}
5016struct sidl_ClassInfo__object* 
5017  impl_iMeshC_iMeshComponent_fconnect_sidl_ClassInfo(const char* url, sidl_bool
5018  ar, sidl_BaseInterface *_ex) {
5019  return sidl_ClassInfo__connectI(url, ar, _ex);
5020}
5021struct sidl_ClassInfo__object* impl_iMeshC_iMeshComponent_fcast_sidl_ClassInfo(
5022  void* bi, sidl_BaseInterface* _ex) {
5023  return sidl_ClassInfo__cast(bi, _ex);
5024}
5025struct sidl_RuntimeException__object* 
5026  impl_iMeshC_iMeshComponent_fconnect_sidl_RuntimeException(const char* url, 
5027  sidl_bool ar, sidl_BaseInterface *_ex) {
5028  return sidl_RuntimeException__connectI(url, ar, _ex);
5029}
5030struct sidl_RuntimeException__object* 
5031  impl_iMeshC_iMeshComponent_fcast_sidl_RuntimeException(void* bi, 
5032  sidl_BaseInterface* _ex) {
5033  return sidl_RuntimeException__cast(bi, _ex);
5034}