CCAFFEINE  0.8.8
ccaffeine_ports_MPIService_IOR.h
00001 /*
00002  * File:          ccaffeine_ports_MPIService_IOR.h
00003  * Symbol:        ccaffeine.ports.MPIService-v0.3
00004  * Symbol Type:   interface
00005  * Babel Version: 1.4.0
00006  * Description:   Intermediate Object Representation for ccaffeine.ports.MPIService
00007  * 
00008  * WARNING: Automatically generated; changes will be lost
00009  * 
00010  */
00011 
00012 #ifndef included_ccaffeine_ports_MPIService_IOR_h
00013 #define included_ccaffeine_ports_MPIService_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.MPIService" (version 0.3)
00032  * 
00033  *  
00034  * "ccafe.ports.MPIService": 
00035  * UNADOPTED-standard service for getting a private mpi comm.
00036  * 
00037  * As MPI Forum explicitly DOES NOT define an interlanguage
00038  * form for object (comm, group, etc) handles, we use the
00039  * FORTRAN form which, being an integer of some size <= long
00040  * in SIDL, we will express in SIDL as a long.
00041  * Implementations in C/C++/Python will have to use appropriate
00042  * conversion operators, MPI_Comm_c2f/MPI_Comm_f2c etc, when
00043  * passing/receiving object handles in long form.
00044  */
00045 
00046 struct ccaffeine_ports_MPIService__array;
00047 struct ccaffeine_ports_MPIService__object;
00048 
00049 /*
00050  * Forward references for external classes and interfaces.
00051  */
00052 
00053 struct gov_cca_CCAException__array;
00054 struct gov_cca_CCAException__object;
00055 struct sidl_BaseException__array;
00056 struct sidl_BaseException__object;
00057 struct sidl_ClassInfo__array;
00058 struct sidl_ClassInfo__object;
00059 struct sidl_RuntimeException__array;
00060 struct sidl_RuntimeException__object;
00061 struct sidl_rmi_Call__array;
00062 struct sidl_rmi_Call__object;
00063 struct sidl_rmi_Return__array;
00064 struct sidl_rmi_Return__object;
00065 
00066 /*
00067  * Declare the method entry point vector.
00068  */
00069 
00070 struct ccaffeine_ports_MPIService__epv {
00071   /* Implicit builtin methods */
00072   /* 0 */
00073   void* (*f__cast)(
00074     /* in */ void* self,
00075     /* in */ const char* name,
00076     /* out */ struct sidl_BaseInterface__object **_ex);
00077   /* 1 */
00078   void (*f__delete)(
00079     /* in */ void* self,
00080     /* out */ struct sidl_BaseInterface__object **_ex);
00081   /* 2 */
00082   void (*f__exec)(
00083     /* in */ void* self,
00084     /* in */ const char* methodName,
00085     /* in */ struct sidl_rmi_Call__object* inArgs,
00086     /* in */ struct sidl_rmi_Return__object* outArgs,
00087     /* out */ struct sidl_BaseInterface__object **_ex);
00088   /* 3 */
00089   char* (*f__getURL)(
00090     /* in */ void* self,
00091     /* out */ struct sidl_BaseInterface__object **_ex);
00092   /* 4 */
00093   void (*f__raddRef)(
00094     /* in */ void* self,
00095     /* out */ struct sidl_BaseInterface__object **_ex);
00096   /* 5 */
00097   sidl_bool (*f__isRemote)(
00098     /* in */ void* self,
00099     /* out */ struct sidl_BaseInterface__object **_ex);
00100   /* 6 */
00101   void (*f__set_hooks)(
00102     /* in */ void* self,
00103     /* in */ sidl_bool enable,
00104     /* out */ struct sidl_BaseInterface__object **_ex);
00105   /* 7 */
00106   void (*f__set_contracts)(
00107     /* in */ void* self,
00108     /* in */ sidl_bool enable,
00109     /* in */ const char* enfFilename,
00110     /* in */ sidl_bool resetCounters,
00111     /* out */ struct sidl_BaseInterface__object **_ex);
00112   /* 8 */
00113   void (*f__dump_stats)(
00114     /* in */ void* self,
00115     /* in */ const char* filename,
00116     /* in */ const char* prefix,
00117     /* out */ struct sidl_BaseInterface__object **_ex);
00118   /* Methods introduced in sidl.BaseInterface-v0.9.17 */
00119   void (*f_addRef)(
00120     /* in */ void* self,
00121     /* out */ struct sidl_BaseInterface__object **_ex);
00122   void (*f_deleteRef)(
00123     /* in */ void* self,
00124     /* out */ struct sidl_BaseInterface__object **_ex);
00125   sidl_bool (*f_isSame)(
00126     /* in */ void* self,
00127     /* in */ struct sidl_BaseInterface__object* iobj,
00128     /* out */ struct sidl_BaseInterface__object **_ex);
00129   sidl_bool (*f_isType)(
00130     /* in */ void* self,
00131     /* in */ const char* name,
00132     /* out */ struct sidl_BaseInterface__object **_ex);
00133   struct sidl_ClassInfo__object* (*f_getClassInfo)(
00134     /* in */ void* self,
00135     /* out */ struct sidl_BaseInterface__object **_ex);
00136   /* Methods introduced in gov.cca.Port-v0.8.5 */
00137   /* Methods introduced in ccaffeine.ports.MPIService-v0.3 */
00138   int64_t (*f_getComm)(
00139     /* in */ void* self,
00140     /* out */ struct sidl_BaseInterface__object **_ex);
00141   void (*f_releaseComm)(
00142     /* in */ void* self,
00143     /* in */ int64_t comm,
00144     /* out */ struct sidl_BaseInterface__object **_ex);
00145 };
00146 
00147 /*
00148  * Declare the method pre hooks entry point vector.
00149  */
00150 
00151 struct ccaffeine_ports_MPIService__pre_epv {
00152   void (*f_getComm_pre)(
00153     /* in */ void* self,
00154     /* out */ struct sidl_BaseInterface__object **_ex);
00155   void (*f_releaseComm_pre)(
00156     /* in */ void* self,
00157     /* in */ int64_t comm,
00158     /* out */ struct sidl_BaseInterface__object **_ex);
00159 };
00160 
00161 /*
00162  * Declare the method post hooks entry point vector.
00163  */
00164 
00165 struct ccaffeine_ports_MPIService__post_epv {
00166   void (*f_getComm_post)(
00167     /* in */ void* self,
00168     /* in */ int64_t _retval,
00169     /* out */ struct sidl_BaseInterface__object **_ex);
00170   void (*f_releaseComm_post)(
00171     /* in */ void* self,
00172     /* in */ int64_t comm,
00173     /* out */ struct sidl_BaseInterface__object **_ex);
00174 };
00175 
00176 /*
00177  * Define the interface object structure.
00178  */
00179 
00180 struct ccaffeine_ports_MPIService__object {
00181   struct ccaffeine_ports_MPIService__epv* d_epv;
00182   void*                                   d_object;
00183 };
00184 
00192 /*
00193  * Symbol "ccaffeine.ports._MPIService" (version 1.0)
00194  */
00195 
00196 struct ccaffeine_ports__MPIService__array;
00197 struct ccaffeine_ports__MPIService__object;
00198 
00199 /*
00200  * Declare the method entry point vector.
00201  */
00202 
00203 struct ccaffeine_ports__MPIService__epv {
00204   /* Implicit builtin methods */
00205   void* (*f__cast)(
00206     /* in */ struct ccaffeine_ports__MPIService__object* self,
00207     /* in */ const char* name,
00208     /* out */ struct sidl_BaseInterface__object **_ex);
00209   void (*f__delete)(
00210     /* in */ struct ccaffeine_ports__MPIService__object* self,
00211     /* out */ struct sidl_BaseInterface__object **_ex);
00212   void (*f__exec)(
00213     /* in */ struct ccaffeine_ports__MPIService__object* self,
00214     /* in */ const char* methodName,
00215     /* in */ struct sidl_rmi_Call__object* inArgs,
00216     /* in */ struct sidl_rmi_Return__object* outArgs,
00217     /* out */ struct sidl_BaseInterface__object **_ex);
00218   char* (*f__getURL)(
00219     /* in */ struct ccaffeine_ports__MPIService__object* self,
00220     /* out */ struct sidl_BaseInterface__object **_ex);
00221   void (*f__raddRef)(
00222     /* in */ struct ccaffeine_ports__MPIService__object* self,
00223     /* out */ struct sidl_BaseInterface__object **_ex);
00224   sidl_bool (*f__isRemote)(
00225     /* in */ struct ccaffeine_ports__MPIService__object* self,
00226     /* out */ struct sidl_BaseInterface__object **_ex);
00227   void (*f__set_hooks)(
00228     /* in */ struct ccaffeine_ports__MPIService__object* self,
00229     /* in */ sidl_bool enable,
00230     /* out */ struct sidl_BaseInterface__object **_ex);
00231   void (*f__set_contracts)(
00232     /* in */ struct ccaffeine_ports__MPIService__object* self,
00233     /* in */ sidl_bool enable,
00234     /* in */ const char* enfFilename,
00235     /* in */ sidl_bool resetCounters,
00236     /* out */ struct sidl_BaseInterface__object **_ex);
00237   void (*f__dump_stats)(
00238     /* in */ struct ccaffeine_ports__MPIService__object* self,
00239     /* in */ const char* filename,
00240     /* in */ const char* prefix,
00241     /* out */ struct sidl_BaseInterface__object **_ex);
00242   void (*f__ctor)(
00243     /* in */ struct ccaffeine_ports__MPIService__object* self,
00244     /* out */ struct sidl_BaseInterface__object **_ex);
00245   void (*f__ctor2)(
00246     /* in */ struct ccaffeine_ports__MPIService__object* self,
00247     /* in */ void* private_data,
00248     /* out */ struct sidl_BaseInterface__object **_ex);
00249   void (*f__dtor)(
00250     /* in */ struct ccaffeine_ports__MPIService__object* self,
00251     /* out */ struct sidl_BaseInterface__object **_ex);
00252   /* Methods introduced in sidl.BaseInterface-v0.9.17 */
00253   void (*f_addRef)(
00254     /* in */ struct ccaffeine_ports__MPIService__object* self,
00255     /* out */ struct sidl_BaseInterface__object **_ex);
00256   void (*f_deleteRef)(
00257     /* in */ struct ccaffeine_ports__MPIService__object* self,
00258     /* out */ struct sidl_BaseInterface__object **_ex);
00259   sidl_bool (*f_isSame)(
00260     /* in */ struct ccaffeine_ports__MPIService__object* self,
00261     /* in */ struct sidl_BaseInterface__object* iobj,
00262     /* out */ struct sidl_BaseInterface__object **_ex);
00263   sidl_bool (*f_isType)(
00264     /* in */ struct ccaffeine_ports__MPIService__object* self,
00265     /* in */ const char* name,
00266     /* out */ struct sidl_BaseInterface__object **_ex);
00267   struct sidl_ClassInfo__object* (*f_getClassInfo)(
00268     /* in */ struct ccaffeine_ports__MPIService__object* self,
00269     /* out */ struct sidl_BaseInterface__object **_ex);
00270   /* Methods introduced in gov.cca.Port-v0.8.5 */
00271   /* Methods introduced in ccaffeine.ports.MPIService-v0.3 */
00272   int64_t (*f_getComm)(
00273     /* in */ struct ccaffeine_ports__MPIService__object* self,
00274     /* out */ struct sidl_BaseInterface__object **_ex);
00275   void (*f_releaseComm)(
00276     /* in */ struct ccaffeine_ports__MPIService__object* self,
00277     /* in */ int64_t comm,
00278     /* out */ struct sidl_BaseInterface__object **_ex);
00279   /* Methods introduced in ccaffeine.ports._MPIService-v1.0 */
00280 };
00281 
00282 /*
00283  * Define the controls and statistics structure.
00284  */
00285 
00286 
00287 struct ccaffeine_ports__MPIService__cstats {
00288   sidl_bool use_hooks;
00289 };
00290 
00291 /*
00292  * Define the class object structure.
00293  */
00294 
00295 struct ccaffeine_ports__MPIService__object {
00296   struct ccaffeine_ports_MPIService__object d_ccaffeine_ports_mpiservice;
00297   struct gov_cca_Port__object               d_gov_cca_port;
00298   struct sidl_BaseInterface__object         d_sidl_baseinterface;
00299   struct ccaffeine_ports__MPIService__epv*  d_epv;
00300   void*                                     d_data;
00301 };
00302 
00303 
00304 struct ccaffeine_ports__MPIService__remote{
00305   int d_refcount;
00306   struct sidl_rmi_InstanceHandle__object *d_ih;
00307 };
00308 
00309 #ifdef __cplusplus
00310 }
00311 #endif
00312 #endif