00001
00002 #ifndef OracleDatastore_h
00003 #define OracleDatastore_h
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <FE_Datastore.h>
00020 #include <fstream>
00021
00022 class FEM_ObjectBroker;
00023
00024
00025 class OracleDatastore: public FE_Datastore
00026 {
00027 public:
00028 OracleDatastore(char *dataBase,
00029 Domain &theDomain,
00030 FEM_ObjectBroker &theBroker);
00031
00032 ~OracleDatastore();
00033
00034
00035 int getProjTag();
00036 void setProjTag(int projectID);
00037
00038
00039 int searchProjTag(char* projName);
00040
00041
00042 char *addToProgram(void);
00043 int setUpShadow(void);
00044 int setUpActor(void);
00045 int setNextAddress(const ChannelAddress &otherChannelAddress);
00046 ChannelAddress *getLastSendersAddress(void);
00047
00048 int commitState(int commitTag);
00049
00050
00051 int sendObj(int commitTag,
00052 MovableObject &theObject,
00053 ChannelAddress *theAddress =0);
00054 int recvObj(int commitTag,
00055 MovableObject &theObject,
00056 FEM_ObjectBroker &theBroker,
00057 ChannelAddress *theAddress =0);
00058
00059 int sendMsg(int dbTag, int commitTag,
00060 const Message &,
00061 ChannelAddress *theAddress =0);
00062 int recvMsg(int dbTag, int commitTag,
00063 Message &,
00064 ChannelAddress *theAddress =0);
00065
00066 int sendMatrix(int dbTag, int commitTag,
00067 const Matrix &theMatrix,
00068 ChannelAddress *theAddress =0);
00069 int recvMatrix(int dbTag, int commitTag,
00070 Matrix &theMatrix,
00071 ChannelAddress *theAddress =0);
00072
00073 int sendVector(int dbTag, int commitTag,
00074 const Vector &theVector, ChannelAddress *theAddress =0);
00075 int recvVector(int dbTag, int commitTag,
00076 Vector &theVector,
00077 ChannelAddress *theAddress =0);
00078
00079 int sendID(int dbTag, int commitTag,
00080 const ID &theID,
00081 ChannelAddress *theAddress =0);
00082 int recvID(int dbTag, int commitTag,
00083 ID &theID,
00084 ChannelAddress *theAddress =0);
00085
00086 protected:
00087
00088 private:
00089
00090
00091 int dbTag;
00092 int projTag;
00093 char dataBase[50];
00094
00095 int lastDomainChangeStamp;
00096
00097 };
00098
00099
00100 #endif
00101