OracleDatastore.h

Go to the documentation of this file.
00001                                                                         
00002 #ifndef OracleDatastore_h
00003 #define OracleDatastore_h
00004 
00005 // $Revision: 1.2 $
00006 // $Date: 2005/11/07 21:34:25 $
00007 // $Source: /usr/local/cvs/OpenSees/SRC/database/OracleDatastore.h,v $
00008 
00009 // Written:  Jun Peng 
00010 //
00011 // Description: This file contains the class definition for OracleDatastore.
00012 // OracleDatastore is a concrete subclas of FE_Datastore. A OracleDatastore 
00013 // object is used in the program to store/restore the geometry and state 
00014 // information in a domain at a particular instance in the analysis. The
00015 // information is stored in ORACLE8i Database.
00016 //
00017 // What: "@(#) OracleDatastore.h, revA"
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     // methods to set and get a project tag
00035     int getProjTag();
00036     void setProjTag(int projectID);
00037 
00038     // method to search for project Tag
00039     int searchProjTag(char* projName);
00040 
00041     // methods defined in the Channel class interface which do nothing
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     // methods for sending and receiving the data
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     // private attributes
00091     int dbTag;
00092     int projTag;
00093     char dataBase[50];
00094 
00095     int lastDomainChangeStamp;
00096 
00097 };
00098 
00099 
00100 #endif
00101 

Generated on Mon Oct 23 15:05:00 2006 for OpenSees by doxygen 1.5.0