CCAFFEINE  0.8.8
ccaffeine_ports_MPIBorrow_IOR.h
00001 /*
00002  * File:          ccaffeine_ports_MPIBorrow_IOR.h
00003  * Symbol:        ccaffeine.ports.MPIBorrow-v0.3
00004  * Symbol Type:   interface
00005  * Babel Version: 1.4.0
00006  * Description:   Intermediate Object Representation for ccaffeine.ports.MPIBorrow
00007  * 
00008  * WARNING: Automatically generated; changes will be lost
00009  * 
00010  */
00011 
00012 #ifndef included_ccaffeine_ports_MPIBorrow_IOR_h
00013 #define included_ccaffeine_ports_MPIBorrow_IOR_h
00014 
00015 #ifndef included_sidl_header_h
00016 #include "sidl_header.h"
00017 #endif
00018 struct sidl_rmi_InstanceHandle__object;
00019 #ifndef included_gov_cca_Port_IOR_h
00020 #include "gov_cca_Port_IOR.h"
00021 #endif
00022 #ifndef included_sidl_BaseInterface_IOR_h
00023 #include "sidl_BaseInterface_IOR.h"
00024 #endif
00025 
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029 
00030 /*
00031  * Symbol "ccaffeine.ports.MPIBorrow" (version 0.3)
00032  * 
00033  *  "ccafe.ports.MPIBorrow" :
00034  * UNADOPTED-standard service for getting a shared communicator. 
00035  * 
00036  * As MPI Forum explicitly DOES NOT define an interlanguage
00037  * form for object (comm, group, etc) handles, we use the
00038  * FORTRAN form which, being an integer of some size <= long
00039  * in sidl, we will express in SIDL as a long.
00040  * Implementations in C/C++/Python will have to use appropriate
00041  * conversion operators, MPI_Comm_c2f/MPI_Comm_f2c, when
00042  * passing/receiving object handles in long form.
00043  */
00044 
00045 struct ccaffeine_ports_MPIBorrow__array;
00046 struct ccaffeine_ports_MPIBorrow__object;
00047 
00048 /*
00049  * Forward references for external classes and interfaces.
00050  */
00051 
00052 struct gov_cca_CCAException__array;
00053 struct gov_cca_CCAException__object;
00054 struct sidl_BaseException__array;
00055 struct sidl_BaseException__object;
00056 struct sidl_ClassInfo__array;
00057 struct sidl_ClassInfo__object;
00058 struct sidl_RuntimeException__array;
00059 struct sidl_RuntimeException__object;
00060 struct sidl_rmi_Call__array;
00061 struct sidl_rmi_Call__object;
00062 struct sidl_rmi_Return__array;
00063 struct sidl_rmi_Return__object;
00064 
00065 /*
00066  * Declare the method entry point vector.
00067  */
00068 
00069 struct ccaffeine_ports_MPIBorrow__epv {
00070   /* Implicit builtin methods */
00071   /* 0 */
00072   void* (*f__cast)(
00073     /* in */ void* self,
00074     /* in */ const char* name,
00075     /* out */ struct sidl_BaseInterface__object **_ex);
00076   /* 1 */
00077   void (*f__delete)(
00078     /* in */ void* self,
00079     /* out */ struct sidl_BaseInterface__object **_ex);
00080   /* 2 */
00081   void (*f__exec)(
00082     /* in */ void* self,
00083     /* in */ const char* methodName,
00084     /* in */ struct sidl_rmi_Call__object* inArgs,
00085     /* in */ struct sidl_rmi_Return__object* outArgs,
00086     /* out */ struct sidl_BaseInterface__object **_ex);
00087   /* 3 */
00088   char* (*f__getURL)(
00089     /* in */ void* self,
00090     /* out */ struct sidl_BaseInterface__object **_ex);
00091   /* 4 */
00092   void (*f__raddRef)(
00093     /* in */ void* self,
00094     /* out */ struct sidl_BaseInterface__object **_ex);
00095   /* 5 */
00096   sidl_bool (*f__isRemote)(
00097     /* in */ void* self,
00098     /* out */ struct sidl_BaseInterface__object **_ex);
00099   /* 6 */
00100   void (*f__set_hooks)(
00101     /* in */ void* self,
00102     /* in */ sidl_bool enable,
00103     /* out */ struct sidl_BaseInterface__object **_ex);
00104   /* 7 */
00105   void (*f__set_contracts)(
00106     /* in */ void* self,
00107     /* in */ sidl_bool enable,
00108     /* in */ const char* enfFilename,
00109     /* in */ sidl_bool resetCounters,
00110     /* out */ struct sidl_BaseInterface__object **_ex);
00111   /* 8 */
00112   void (*f__dump_stats)(
00113     /* in */ void* self,
00114     /* in */ const char* filename,
00115     /* in */ const char* prefix,
00116     /* out */ struct sidl_BaseInterface__object **_ex);
00117   /* Methods introduced in sidl.BaseInterface-v0.9.17 */
00118   void (*f_addRef)(
00119     /* in */ void* self,
00120     /* out */ struct sidl_BaseInterface__object **_ex);
00121   void (*f_deleteRef)(
00122     /* in */ void* self,
00123     /* out */ struct sidl_BaseInterface__object **_ex);
00124   sidl_bool (*f_isSame)(
00125     /* in */ void* self,
00126     /* in */ struct sidl_BaseInterface__object* iobj,
00127     /* out */ struct sidl_BaseInterface__object **_ex);
00128   sidl_bool (*f_isType)(
00129     /* in */ void* self,
00130     /* in */ const char* name,
00131     /* out */ struct sidl_BaseInterface__object **_ex);
00132   struct sidl_ClassInfo__object* (*f_getClassInfo)(
00133     /* in */ void* self,
00134     /* out */ struct sidl_BaseInterface__object **_ex);
00135   /* Methods introduced in gov.cca.Port-v0.8.5 */
00136   /* Methods introduced in ccaffeine.ports.MPIBorrow-v0.3 */
00137   int64_t (*f_borrowComm)(
00138     /* in */ void* self,
00139     /* in */ int32_t tagsRequested,
00140     /* inout array<int> */ struct sidl_int__array** tagList,
00141     /* inout */ int32_t* key,
00142     /* out */ struct sidl_BaseInterface__object **_ex);
00143   void (*f_returnComm)(
00144     /* in */ void* self,
00145     /* in */ int64_t comm,
00146     /* in */ int32_t tagsRequested,
00147     /* inout array<int> */ struct sidl_int__array** tagList,
00148     /* in */ int32_t key,
00149     /* out */ struct sidl_BaseInterface__object **_ex);
00150 };
00151 
00152 /*
00153  * Declare the method pre hooks entry point vector.
00154  */
00155 
00156 struct ccaffeine_ports_MPIBorrow__pre_epv {
00157   void (*f_borrowComm_pre)(
00158     /* in */ void* self,
00159     /* in */ int32_t tagsRequested,
00160     /* in array<int> */ struct sidl_int__array* tagList,
00161     /* in */ int32_t key,
00162     /* out */ struct sidl_BaseInterface__object **_ex);
00163   void (*f_returnComm_pre)(
00164     /* in */ void* self,
00165     /* in */ int64_t comm,
00166     /* in */ int32_t tagsRequested,
00167     /* in array<int> */ struct sidl_int__array* tagList,
00168     /* in */ int32_t key,
00169     /* out */ struct sidl_BaseInterface__object **_ex);
00170 };
00171 
00172 /*
00173  * Declare the method post hooks entry point vector.
00174  */
00175 
00176 struct ccaffeine_ports_MPIBorrow__post_epv {
00177   void (*f_borrowComm_post)(
00178     /* in */ void* self,
00179     /* in */ int32_t tagsRequested,
00180     /* in array<int> */ struct sidl_int__array* tagList,
00181     /* in */ int32_t key,
00182     /* in */ int64_t _retval,
00183     /* out */ struct sidl_BaseInterface__object **_ex);
00184   void (*f_returnComm_post)(
00185     /* in */ void* self,
00186     /* in */ int64_t comm,
00187     /* in */ int32_t tagsRequested,
00188     /* in array<int> */ struct sidl_int__array* tagList,
00189     /* in */ int32_t key,
00190     /* out */ struct sidl_BaseInterface__object **_ex);
00191 };
00192 
00193 /*
00194  * Define the interface object structure.
00195  */
00196 
00197 struct ccaffeine_ports_MPIBorrow__object {
00198   struct ccaffeine_ports_MPIBorrow__epv* d_epv;
00199   void*                                  d_object;
00200 };
00201 
00209 /*
00210  * Symbol "ccaffeine.ports._MPIBorrow" (version 1.0)
00211  */
00212 
00213 struct ccaffeine_ports__MPIBorrow__array;
00214 struct ccaffeine_ports__MPIBorrow__object;
00215 
00216 /*
00217  * Declare the method entry point vector.
00218  */
00219 
00220 struct ccaffeine_ports__MPIBorrow__epv {
00221   /* Implicit builtin methods */
00222   void* (*f__cast)(
00223     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00224     /* in */ const char* name,
00225     /* out */ struct sidl_BaseInterface__object **_ex);
00226   void (*f__delete)(
00227     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00228     /* out */ struct sidl_BaseInterface__object **_ex);
00229   void (*f__exec)(
00230     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00231     /* in */ const char* methodName,
00232     /* in */ struct sidl_rmi_Call__object* inArgs,
00233     /* in */ struct sidl_rmi_Return__object* outArgs,
00234     /* out */ struct sidl_BaseInterface__object **_ex);
00235   char* (*f__getURL)(
00236     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00237     /* out */ struct sidl_BaseInterface__object **_ex);
00238   void (*f__raddRef)(
00239     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00240     /* out */ struct sidl_BaseInterface__object **_ex);
00241   sidl_bool (*f__isRemote)(
00242     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00243     /* out */ struct sidl_BaseInterface__object **_ex);
00244   void (*f__set_hooks)(
00245     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00246     /* in */ sidl_bool enable,
00247     /* out */ struct sidl_BaseInterface__object **_ex);
00248   void (*f__set_contracts)(
00249     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00250     /* in */ sidl_bool enable,
00251     /* in */ const char* enfFilename,
00252     /* in */ sidl_bool resetCounters,
00253     /* out */ struct sidl_BaseInterface__object **_ex);
00254   void (*f__dump_stats)(
00255     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00256     /* in */ const char* filename,
00257     /* in */ const char* prefix,
00258     /* out */ struct sidl_BaseInterface__object **_ex);
00259   void (*f__ctor)(
00260     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00261     /* out */ struct sidl_BaseInterface__object **_ex);
00262   void (*f__ctor2)(
00263     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00264     /* in */ void* private_data,
00265     /* out */ struct sidl_BaseInterface__object **_ex);
00266   void (*f__dtor)(
00267     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00268     /* out */ struct sidl_BaseInterface__object **_ex);
00269   /* Methods introduced in sidl.BaseInterface-v0.9.17 */
00270   void (*f_addRef)(
00271     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00272     /* out */ struct sidl_BaseInterface__object **_ex);
00273   void (*f_deleteRef)(
00274     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00275     /* out */ struct sidl_BaseInterface__object **_ex);
00276   sidl_bool (*f_isSame)(
00277     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00278     /* in */ struct sidl_BaseInterface__object* iobj,
00279     /* out */ struct sidl_BaseInterface__object **_ex);
00280   sidl_bool (*f_isType)(
00281     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00282     /* in */ const char* name,
00283     /* out */ struct sidl_BaseInterface__object **_ex);
00284   struct sidl_ClassInfo__object* (*f_getClassInfo)(
00285     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00286     /* out */ struct sidl_BaseInterface__object **_ex);
00287   /* Methods introduced in gov.cca.Port-v0.8.5 */
00288   /* Methods introduced in ccaffeine.ports.MPIBorrow-v0.3 */
00289   int64_t (*f_borrowComm)(
00290     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00291     /* in */ int32_t tagsRequested,
00292     /* inout array<int> */ struct sidl_int__array** tagList,
00293     /* inout */ int32_t* key,
00294     /* out */ struct sidl_BaseInterface__object **_ex);
00295   void (*f_returnComm)(
00296     /* in */ struct ccaffeine_ports__MPIBorrow__object* self,
00297     /* in */ int64_t comm,
00298     /* in */ int32_t tagsRequested,
00299     /* inout array<int> */ struct sidl_int__array** tagList,
00300     /* in */ int32_t key,
00301     /* out */ struct sidl_BaseInterface__object **_ex);
00302   /* Methods introduced in ccaffeine.ports._MPIBorrow-v1.0 */
00303 };
00304 
00305 /*
00306  * Define the controls and statistics structure.
00307  */
00308 
00309 
00310 struct ccaffeine_ports__MPIBorrow__cstats {
00311   sidl_bool use_hooks;
00312 };
00313 
00314 /*
00315  * Define the class object structure.
00316  */
00317 
00318 struct ccaffeine_ports__MPIBorrow__object {
00319   struct ccaffeine_ports_MPIBorrow__object d_ccaffeine_ports_mpiborrow;
00320   struct gov_cca_Port__object              d_gov_cca_port;
00321   struct sidl_BaseInterface__object        d_sidl_baseinterface;
00322   struct ccaffeine_ports__MPIBorrow__epv*  d_epv;
00323   void*                                    d_data;
00324 };
00325 
00326 
00327 struct ccaffeine_ports__MPIBorrow__remote{
00328   int d_refcount;
00329   struct sidl_rmi_InstanceHandle__object *d_ih;
00330 };
00331 
00332 #ifdef __cplusplus
00333 }
00334 #endif
00335 #endif