serv_lib.h

00001 /* 
00002    EyeDB Object Database Management System
00003    Copyright (C) 1994-2008 SYSRA
00004    
00005    EyeDB is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Lesser General Public
00007    License as published by the Free Software Foundation; either
00008    version 2.1 of the License, or (at your option) any later version.
00009    
00010    EyeDB is distributed in the hope that it will be useful,
00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013    Lesser General Public License for more details.
00014    
00015    You should have received a copy of the GNU Lesser General Public
00016    License along with this library; if not, write to the Free Software
00017    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA 
00018 */
00019 
00020 /*
00021    Author: Eric Viara <viara@sysra.com>
00022 */
00023 
00024 
00025 #ifndef _eyedb_idblib_be_
00026 #define _eyedb_idblib_be_
00027 
00028 #include <eyedblib/rpc_be.h>
00029 #include <eyedblib/rpc_fe.h>
00030 #include "rpc_lib.h"
00031 #include <eyedblib/rpcdb_be.h>
00032 
00033 namespace eyedb {
00034 
00035   typedef union {
00036     eyedblib::int32 a_int;
00037     eyedblib::int64 a_int64;
00038     char *a_string;
00039     rpc_ServerData a_data;
00040 
00041     /* specific idb */
00042     rpcDB_LocalDBContext a_ldbctx;
00043     eyedbsm::Oid a_oid;
00044     Bool a_bool;
00045     RPCStatusRec a_status;
00046   } ServerArg;
00047 
00048   extern rpc_ServerFunction
00049   *DBMCREATE_SERV_RPC,
00050     *DBMUPDATE_SERV_RPC,
00051 
00052     *DBCREATE_SERV_RPC,
00053     *DBDELETE_SERV_RPC,
00054 
00055     *DBINFO_SERV_RPC,
00056     *DBMOVE_SERV_RPC,
00057     *DBCOPY_SERV_RPC,
00058     *DBRENAME_SERV_RPC,
00059 
00060     *USER_ADD_SERV_RPC,
00061     *USER_DELETE_SERV_RPC,
00062     *USER_PASSWD_SET_SERV_RPC,
00063     *PASSWD_SET_SERV_RPC,
00064 
00065     *DEFAULT_DBACCESS_SET_SERV_RPC,
00066     *USER_DBACCESS_SET_SERV_RPC,
00067     *USER_SYSACCESS_SET_SERV_RPC,
00068 
00069     *BACKEND_INTERRUPT_SERV_RPC,
00070 
00071     *TRANSACTION_BEGIN_SERV_RPC,
00072     *TRANSACTION_ABORT_SERV_RPC,
00073     *TRANSACTION_COMMIT_SERV_RPC,
00074 
00075     *TRANSACTION_PARAMS_SET_SERV_RPC,
00076     *TRANSACTION_PARAMS_GET_SERV_RPC,
00077 
00078     *DBOPEN_SERV_RPC,
00079     *DBOPENLOCAL_SERV_RPC,
00080     *DBCLOSE_SERV_RPC,
00081 
00082     *OBJECT_CREATE_SERV_RPC,
00083     *OBJECT_READ_SERV_RPC,
00084     *OBJECT_WRITE_SERV_RPC,
00085     *OBJECT_DELETE_SERV_RPC,
00086     *OBJECT_HEADER_READ_SERV_RPC,
00087     *OBJECT_SIZE_MODIFY_SERV_RPC,
00088     *OBJECT_PROTECTION_SET_SERV_RPC,
00089     *OBJECT_PROTECTION_GET_SERV_RPC,
00090     *OBJECT_CHECK_SERV_RPC,
00091 
00092     *MAKE_OID_SERV_RPC,
00093 
00094     *DATA_CREATE_SERV_RPC,
00095     *DATA_READ_SERV_RPC,
00096     *DATA_WRITE_SERV_RPC,
00097     *DATA_DELETE_SERV_RPC,
00098     *DATA_SIZE_GET_SERV_RPC,
00099     *DATA_SIZE_MODIFY_SERV_RPC,
00100 
00101     *VDDATA_CREATE_SERV_RPC,
00102     *VDDATA_WRITE_SERV_RPC,
00103     *VDDATA_DELETE_SERV_RPC,
00104 
00105     *SCHEMA_COMPLETE_SERV_RPC,
00106 
00107     *ATTRIBUTE_INDEX_CREATE_SERV_RPC,
00108     *ATTRIBUTE_INDEX_REMOVE_SERV_RPC,
00109 
00110     *INDEX_CREATE_SERV_RPC,
00111     *INDEX_REMOVE_SERV_RPC,
00112 
00113     *CONSTRAINT_CREATE_SERV_RPC,
00114     *CONSTRAINT_DELETE_SERV_RPC,
00115 
00116     *COLLECTION_GET_BY_IND_SERV_RPC,
00117     *COLLECTION_GET_BY_VALUE_SERV_RPC,
00118 
00119     *SET_OBJECT_LOCK_SERV_RPC,
00120     *GET_OBJECT_LOCK_SERV_RPC,
00121 
00122     *QUERY_LANG_CREATE_SERV_RPC,
00123     *QUERY_DATABASE_CREATE_SERV_RPC,
00124     *QUERY_CLASS_CREATE_SERV_RPC,
00125     *QUERY_COLLECTION_CREATE_SERV_RPC,
00126     *QUERY_ATTRIBUTE_CREATE_SERV_RPC,
00127     *QUERY_DELETE_SERV_RPC,
00128     *QUERY_SCAN_NEXT_SERV_RPC,
00129 
00130     *EXECUTABLE_CHECK_SERV_RPC,
00131     *EXECUTABLE_EXECUTE_SERV_RPC,
00132     *EXECUTABLE_SET_EXTREF_PATH_SERV_RPC,
00133     *EXECUTABLE_GET_EXTREF_PATH_SERV_RPC,
00134 
00135     *OQL_CREATE_SERV_RPC,
00136     *OQL_DELETE_SERV_RPC,
00137     *OQL_GETRESULT_SERV_RPC,
00138 
00139     *SET_CONN_INFO_SERV_RPC,
00140     *CHECK_AUTH_SERV_RPC,
00141 
00142     *INDEX_GET_COUNT_SERV_RPC,
00143     *INDEX_GET_STATS_SERV_RPC,
00144     *INDEX_SIMUL_STATS_SERV_RPC,
00145     *COLLECTION_GET_IMPLSTATS_SERV_RPC,
00146     *COLLECTION_SIMUL_IMPLSTATS_SERV_RPC,
00147     *INDEX_GET_IMPL_SERV_RPC,
00148     *COLLECTION_GET_IMPL_SERV_RPC,
00149 
00150     *GET_DEFAULT_DATASPACE_SERV_RPC,
00151     *SET_DEFAULT_DATASPACE_SERV_RPC,
00152     *DATASPACE_SET_CURRENT_DATAFILE_SERV_RPC,
00153     *DATASPACE_GET_CURRENT_DATAFILE_SERV_RPC,
00154     *GET_DEFAULT_INDEX_DATASPACE_SERV_RPC,
00155     *SET_DEFAULT_INDEX_DATASPACE_SERV_RPC,
00156     *GET_INDEX_LOCATIONS_SERV_RPC,
00157     *MOVE_INDEX_SERV_RPC,
00158     *GET_INSTANCE_CLASS_LOCATIONS_SERV_RPC,
00159     *MOVE_INSTANCE_CLASS_SERV_RPC,
00160     *GET_OBJECTS_LOCATIONS_SERV_RPC,
00161     *MOVE_OBJECTS_SERV_RPC,
00162     *GET_ATTRIBUTE_LOCATIONS_SERV_RPC,
00163     *MOVE_ATTRIBUTE_SERV_RPC,
00164 
00165     *CREATE_DATAFILE_SERV_RPC,
00166     *DELETE_DATAFILE_SERV_RPC,
00167     *MOVE_DATAFILE_SERV_RPC,
00168     *DEFRAGMENT_DATAFILE_SERV_RPC,
00169     *RESIZE_DATAFILE_SERV_RPC,
00170     *GET_DATAFILEI_NFO_SERV_RPC,
00171     *RENAME_DATAFILE_SERV_RPC,
00172     *CREATE_DATASPACE_SERV_RPC,
00173     *UPDATE_DATASPACE_SERV_RPC,
00174     *DELETE_DATASPACE_SERV_RPC,
00175     *RENAME_DATASPACE_SERV_RPC,
00176     *GET_SERVER_OUTOFBAND_DATA_SERV_RPC;
00177 
00178   extern rpc_Server *
00179   rpcBeInit(void);
00180 
00181   extern rpc_Server *
00182   getRpcServer(void);
00183 
00184   extern void
00185   connection_handler(rpc_Server *, rpc_ClientId, rpc_Boolean);
00186 
00187   extern void
00188   DBCREATE_realize(rpc_ClientId, void *);
00189 
00190   extern void
00191   DBINFO_realize(rpc_ClientId, void *);
00192 
00193   extern void
00194   DBDELETE_realize(rpc_ClientId, void *);
00195 
00196   extern void
00197   DBMOVE_realize(rpc_ClientId, void *);
00198 
00199   extern void
00200   DBCOPY_realize(rpc_ClientId, void *);
00201 
00202   extern void
00203   DBRENAME_realize(rpc_ClientId, void *);
00204 
00205   extern void
00206   DBMCREATE_realize(rpc_ClientId, void *);
00207 
00208   extern void
00209   DBMUPDATE_realize(rpc_ClientId, void *);
00210 
00211   extern void
00212   USER_ADD_realize(rpc_ClientId, void *);
00213 
00214   extern void
00215   USER_DELETE_realize(rpc_ClientId, void *);
00216 
00217   extern void
00218   USER_PASSWD_SET_realize(rpc_ClientId, void *);
00219 
00220   extern void
00221   PASSWD_SET_realize(rpc_ClientId, void *);
00222 
00223   extern void
00224   DEFAULT_DBACCESS_SET_realize(rpc_ClientId, void *);
00225 
00226   extern void
00227   USER_DBACCESS_SET_realize(rpc_ClientId, void *);
00228 
00229   extern void
00230   USER_SYSACCESS_SET_realize(rpc_ClientId, void *);
00231 
00232   extern void
00233   BACKEND_INTERRUPT_realize(rpc_ClientId, void *);
00234 
00235   extern void
00236   TRANSACTION_BEGIN_realize(rpc_ClientId, void *);
00237 
00238   extern void
00239   TRANSACTION_COMMIT_realize(rpc_ClientId, void *);
00240 
00241   extern void
00242   TRANSACTION_ABORT_realize(rpc_ClientId, void *);
00243 
00244   extern void
00245   TRANSACTION_PARAMS_SET_realize(rpc_ClientId, void *);
00246 
00247   extern void
00248   TRANSACTION_PARAMS_GET_realize(rpc_ClientId, void *);
00249 
00250   extern void
00251   DBOPEN_realize(rpc_ClientId, void *);
00252 
00253   extern void
00254   DBOPENLOCAL_realize(rpc_ClientId, void *);
00255 
00256   extern void
00257   DBCLOSE_realize(rpc_ClientId, void *);
00258 
00259   /*
00260     extern void
00261     SCHEMA_CREATE_realize(rpc_ClientId, void *);
00262 
00263     extern void
00264     CLASS_CREATE_realize(rpc_ClientId, void *);
00265 
00266     extern void
00267     CLASS_UPDATE_realize(rpc_ClientId, void *);
00268 
00269     extern void
00270     CLASS_LOAD_realize(rpc_ClientId, void *);
00271 
00272     extern void
00273     CLASS_DELETE_realize(rpc_ClientId, void *);
00274   */
00275 
00276   extern void
00277   OBJECT_CREATE_realize(rpc_ClientId, void *);
00278 
00279   extern void
00280   OBJECT_READ_realize(rpc_ClientId, void *);
00281 
00282   extern void
00283   OBJECT_WRITE_realize(rpc_ClientId, void *);
00284 
00285   extern void
00286   OBJECT_DELETE_realize(rpc_ClientId, void *);
00287 
00288   extern void
00289   OBJECT_HEADER_READ_realize(rpc_ClientId, void *);
00290 
00291   extern void
00292   OBJECT_SIZE_MODIFY_realize(rpc_ClientId, void *);
00293 
00294   extern void
00295   OBJECT_CHECK_realize(rpc_ClientId, void *);
00296 
00297   extern void
00298   OBJECT_PROTECTION_SET_realize(rpc_ClientId, void *);
00299 
00300   extern void
00301   OBJECT_PROTECTION_GET_realize(rpc_ClientId, void *);
00302 
00303   extern void
00304   OID_MAKE_realize(rpc_ClientId, void *);
00305 
00306   extern void
00307   DATA_CREATE_realize(rpc_ClientId, void *);
00308 
00309   extern void
00310   DATA_READ_realize(rpc_ClientId, void *);
00311 
00312   extern void
00313   DATA_WRITE_realize(rpc_ClientId, void *);
00314 
00315   extern void
00316   DATA_DELETE_realize(rpc_ClientId, void *);
00317 
00318   extern void
00319   DATA_SIZE_GET_realize(rpc_ClientId, void *);
00320 
00321   extern void
00322   DATA_SIZE_MODIFY_realize(rpc_ClientId, void *);
00323 
00324   extern void
00325   VDDATA_CREATE_realize(rpc_ClientId, void *);
00326 
00327   extern void
00328   VDDATA_WRITE_realize(rpc_ClientId, void *);
00329 
00330   extern void
00331   VDDATA_DELETE_realize(rpc_ClientId, void *);
00332 
00333   extern void
00334   SCHEMA_COMPLETE_realize(rpc_ClientId, void *);
00335 
00336   extern void
00337   ATTRIBUTE_INDEX_CREATE_realize(rpc_ClientId, void *);
00338 
00339   extern void
00340   ATTRIBUTE_INDEX_REMOVE_realize(rpc_ClientId, void *);
00341 
00342   extern void
00343   INDEX_CREATE_realize(rpc_ClientId, void *);
00344 
00345   extern void
00346   INDEX_REMOVE_realize(rpc_ClientId, void *);
00347 
00348   extern void
00349   CONSTRAINT_CREATE_realize(rpc_ClientId, void *);
00350 
00351   extern void
00352   CONSTRAINT_DELETE_realize(rpc_ClientId, void *);
00353 
00354   extern void
00355   COLLECTION_GET_BY_IND_realize(rpc_ClientId, void *);
00356 
00357   extern void
00358   COLLECTION_GET_BY_VALUE_realize(rpc_ClientId, void *);
00359 
00360   extern void
00361   SET_OBJECT_LOCK_realize(rpc_ClientId, void *);
00362 
00363   extern void
00364   GET_OBJECT_LOCK_realize(rpc_ClientId, void *);
00365 
00366   extern void
00367   QUERY_LANG_CREATE_realize(rpc_ClientId, void *);
00368 
00369   extern void
00370   QUERY_DATABASE_CREATE_realize(rpc_ClientId, void *);
00371 
00372   extern void
00373   QUERY_CLASS_CREATE_realize(rpc_ClientId, void *);
00374 
00375   extern void
00376   QUERY_COLLECTION_CREATE_realize(rpc_ClientId, void *);
00377 
00378   extern void
00379   QUERY_ATTRIBUTE_CREATE_realize(rpc_ClientId, void *);
00380 
00381   extern void
00382   QUERY_DELETE_realize(rpc_ClientId, void *);
00383 
00384   extern void
00385   QUERY_SCAN_NEXT_realize(rpc_ClientId, void *);
00386 
00387   /* executables */
00388   extern void
00389   EXECUTABLE_CHECK_realize(rpc_ClientId, void *);
00390 
00391   extern void
00392   EXECUTABLE_EXECUTE_realize(rpc_ClientId, void *);
00393 
00394   extern void
00395   EXECUTABLE_SET_EXTREF_PATH_realize(rpc_ClientId, void *);
00396 
00397   extern void
00398   EXECUTABLE_GET_EXTREF_PATH_realize(rpc_ClientId, void *);
00399 
00400   extern void
00401   OQL_CREATE_realize(rpc_ClientId, void *);
00402 
00403   extern void
00404   OQL_DELETE_realize(rpc_ClientId, void *);
00405 
00406   extern void
00407   OQL_GETRESULT_realize(rpc_ClientId, void *);
00408 
00409   extern void
00410   SET_CONN_INFO_realize(rpc_ClientId, void *);
00411 
00412   extern void
00413   CHECK_AUTH_realize(rpc_ClientId, void *);
00414 
00415   extern void
00416   SET_LOG_MASK_realize(rpc_ClientId, void *);
00417 
00418   extern void
00419   INDEX_GET_COUNT_realize(rpc_ClientId, void *);
00420 
00421   extern void
00422   INDEX_GET_STATS_realize(rpc_ClientId, void *);
00423 
00424   extern void
00425   INDEX_SIMUL_STATS_realize(rpc_ClientId, void *);
00426 
00427   extern void
00428   COLLECTION_GET_IMPLSTATS_realize(rpc_ClientId, void *);
00429 
00430   extern void
00431   COLLECTION_SIMUL_IMPLSTATS_realize(rpc_ClientId, void *);
00432 
00433   extern void
00434   INDEX_GET_IMPL_realize(rpc_ClientId, void *);
00435 
00436   extern void
00437   COLLECTION_GET_IMPL_realize(rpc_ClientId, void *);
00438 
00439   extern void
00440   GET_DEFAULT_DATASPACE_realize(rpc_ClientId, void *);
00441 
00442   extern void
00443   SET_DEFAULT_DATASPACE_realize(rpc_ClientId, void *);
00444 
00445   extern void
00446   DATASPACE_SET_CURRENT_DATAFILE_realize(rpc_ClientId, void *);
00447 
00448   extern void
00449   DATASPACE_GET_CURRENT_DATAFILE_realize(rpc_ClientId, void *);
00450 
00451   extern void
00452   GET_DEFAULT_INDEX_DATASPACE_realize(rpc_ClientId, void *);
00453 
00454   extern void
00455   SET_DEFAULT_INDEX_DATASPACE_realize(rpc_ClientId, void *);
00456 
00457   extern void
00458   GET_INDEX_LOCATIONS_realize(rpc_ClientId, void *);
00459 
00460   extern void
00461   MOVE_INDEX_realize(rpc_ClientId, void *);
00462 
00463   extern void
00464   GET_INSTANCE_CLASS_LOCATIONS_realize(rpc_ClientId, void *);
00465 
00466   extern void
00467   MOVE_INSTANCE_CLASS_realize(rpc_ClientId, void *);
00468 
00469   extern void
00470   GET_OBJECTS_LOCATIONS_realize(rpc_ClientId, void *);
00471 
00472   extern void
00473   MOVE_OBJECTS_realize(rpc_ClientId, void *);
00474 
00475   extern void
00476   GET_ATTRIBUTE_LOCATIONS_realize(rpc_ClientId, void *);
00477 
00478   extern void
00479   MOVE_ATTRIBUTE_realize(rpc_ClientId, void *);
00480 
00481   extern void
00482   CREATE_DATAFILE_realize(rpc_ClientId, void *);
00483 
00484   extern void
00485   DELETE_DATAFILE_realize(rpc_ClientId, void *);
00486 
00487   extern void
00488   MOVE_DATAFILE_realize(rpc_ClientId, void *);
00489 
00490   extern void
00491   DEFRAGMENT_DATAFILE_realize(rpc_ClientId, void *);
00492 
00493   extern void
00494   RESIZE_DATAFILE_realize(rpc_ClientId, void *);
00495 
00496   extern void
00497   GET_DATAFILEI_NFO_realize(rpc_ClientId, void *);
00498 
00499   extern void
00500   RENAME_DATAFILE_realize(rpc_ClientId, void *);
00501 
00502   extern void
00503   CREATE_DATASPACE_realize(rpc_ClientId, void *);
00504 
00505   extern void
00506   UPDATE_DATASPACE_realize(rpc_ClientId, void *);
00507 
00508   extern void
00509   DELETE_DATASPACE_realize(rpc_ClientId, void *);
00510 
00511   extern void
00512   RENAME_DATASPACE_realize(rpc_ClientId, void *);
00513 
00514   extern void
00515   GET_SERVER_OUTOFBAND_DATA_realize(rpc_ClientId, void *);
00516 
00517   extern void
00518   setSePort(const char *);
00519 
00520   extern const char *
00521   getSePort(void);
00522 
00523   extern void *
00524   close_realize(rpcDB_DbHandleClientInfo *);
00525 
00526   extern void
00527   GARBAGE();
00528 
00529   extern void
00530   be_init();
00531 }
00532 
00533 #endif

Generated on Mon Dec 22 18:16:08 2008 for eyedb by  doxygen 1.5.3