xc
Public Member Functions | Protected Member Functions | List of all members
XC::FE_Datastore Class Reference

Objects of this class are used in the program to store/restore the geometry and state information in the domain at particular instances. More...

#include <FE_Datastore.h>

Inheritance diagram for XC::FE_Datastore:
XC::Channel XC::DBDatastore XC::FileDatastore XC::NEESData XC::BerkeleyDbDatastore XC::MySqlDatastore XC::OracleDatastore XC::SQLiteDatastore

Public Member Functions

 FE_Datastore (Preprocessor &, FEM_ObjectBroker &theBroker)
 Constructor. More...
 
char * addToProgram (void)
 Return \(nullptr\).
 
int setUpConnection (void)
 
int setNextAddress (const ChannelAddress &otherChannelAddress)
 Return \(0\).
 
ChannelAddressgetLastSendersAddress (void)
 Return \(nullptr\).
 
int sendObj (int commitTag, MovableObject &theObject, ChannelAddress *theAddress=0)
 Call {sendSelf(commitTag, *this, theBroker)} on theObject and return the result. More...
 
int recvObj (int commitTag, MovableObject &theObject, FEM_ObjectBroker &theBroker, ChannelAddress *theAddress=0)
 Call {recvSelf(commitTag, *this, theBroker)} on theObject and return the result. More...
 
int getDbTag (void) const
 To return a unique integer identifier at each call. More...
 
virtual bool isDatastore (void) const
 Return true (this channel type IS a Datastore).
 
virtual int commitState (int commitTag)
 Stores the current state on the database. More...
 
virtual int restoreState (int commitTag)
 Invoked to restore the state of the domain from a database. More...
 
bool isSaved (int commitTag) const
 Returns true if the state identified by commitTag was previously saved on the database. More...
 
virtual int createTable (const std::string &tableName, const std::vector< std::string > &)
 
virtual int insertData (const std::string &tableName, const std::vector< std::string > &, int commitTag, const Vector &data)
 
virtual int getData (const std::string &tableName, const std::vector< std::string > &, int commitTag, Vector &data)
 
int save (const int &commitTag)
 
int restore (const int &commitTag)
 
- Public Member Functions inherited from XC::Channel
 Channel (CommandEntity *owr=nullptr)
 Constructor.
 
bool checkDbTag (const int &dbTag)
 Check if a dbTag is already used.
 
const IDgetUsedTags (void) const
 Return the list of dbTags already used.
 
void clearDbTags (void)
 Reset used database tags set.
 
int getTag (void) const
 Return the object tag.
 
template<class inputIterator >
int sendObjs (int commitTag, const inputIterator &first, const inputIterator &last, ChannelAddress *theAddress=nullptr)
 Send the objects on interval [first,last).
 
template<class inputIterator >
int recvObjs (int commitTag, const inputIterator &first, const inputIterator &last, FEM_ObjectBroker &, ChannelAddress *theAddress=nullptr)
 Receive an object sequence.
 
virtual int sendMsg (int dbTag, int commitTag, const Message &theMsg, ChannelAddress *theAddress=nullptr)=0
 A method invoked to send the data in the Message object theMsg to another Channel object. More...
 
virtual int recvMsg (int dbTag, int commitTag, Message &theMsg, ChannelAddress *theAddress=nullptr)=0
 Invoked to send the data in the Message object theMsg to another Channel object. More...
 
virtual int sendMatrix (int dbTag, int commitTag, const Matrix &theMatrix, ChannelAddress *theAddress=nullptr)=0
 Invoked to receive the data in the Matrix object theMatrix to another Channel object. More...
 
virtual int recvMatrix (int dbTag, int commitTag, Matrix &theMatrix, ChannelAddress *theAddress=nullptr)=0
 Invoked to receive the data in the Matrix object theMatrix to another Channel object. More...
 
virtual int sendVector (int dbTag, int commitTag, const Vector &theVector, ChannelAddress *theAddress=nullptr)=0
 Invoked to receive the data in the Vector object theVector to another Channel object. More...
 
virtual int recvVector (int dbTag, int commitTag, Vector &theVector, ChannelAddress *theAddress=nullptr)=0
 Invoked to receive the data in the Vector object theVector to another Channel object. More...
 
virtual int sendID (int dbTag, int commitTag, const ID &theID, ChannelAddress *theAddress=nullptr)=0
 Invoked to receive the data in the ID object theID to another Channel object. More...
 
virtual int recvID (int dbTag, int commitTag, ID &theID, ChannelAddress *theAddress=nullptr)=0
 Invoked to receive the data in the ID object theID to another Channel object. More...
 

Protected Member Functions

FEM_ObjectBrokergetObjectBroker (void)
 Returns a pointer to theBroker object passed in the constructor.
 
const PreprocessorgetPreprocessor (void) const
 Returns a pointer to the object preprocessor.
 
PreprocessorgetPreprocessor (void)
 Returns a pointer to the object preprocessor.
 
- Protected Member Functions inherited from XC::Channel
int sendMovable (int commitTag, MovableObject &)
 Send theObject.
 
int receiveMovable (int commitTag, MovableObject &, FEM_ObjectBroker &)
 Receive theObject.
 

Detailed Description

Objects of this class are used in the program to store/restore the geometry and state information in the domain at particular instances.

How, where and how the data is stored depends on the implementation provided by the concrete subclasses.

Constructor & Destructor Documentation

§ FE_Datastore()

XC::FE_Datastore::FE_Datastore ( Preprocessor prep,
FEM_ObjectBroker theBroker 
)

Constructor.

Parameters
preppreprocessor used to build the finite element model.
theBrokerdeals with object serialization.

Member Function Documentation

§ commitState()

int XC::FE_Datastore::commitState ( int  commitTag)
virtual

Stores the current state on the database.

Invoked to store the current state of the domain in the database. The integer commitTag is used to identify the state for subsequent calls to restore the information from the database. To return \(0\) if successful, a negative number if not.

The object loops over all the components of the Domain object invoking {sendSelf(commitTag, this)} on each of these objects. Returns \(0\) if successful, a negative number if not. For each domain component that could not send itself a warning message is printed.

Reimplemented in XC::FileDatastore, XC::NEESData, and XC::OracleDatastore.

§ getDbTag()

int XC::FE_Datastore::getDbTag ( void  ) const
virtual

To return a unique integer identifier at each call.

This identifier will be used by the objects to store/retrieve their information to/from the database. Increments the integer containing the current dbTag and returns this integer.

Reimplemented from XC::Channel.

Reimplemented in XC::NEESData.

§ isSaved()

bool XC::FE_Datastore::isSaved ( int  commitTag) const

Returns true if the state identified by commitTag was previously saved on the database.

§ recvObj()

int XC::FE_Datastore::recvObj ( int  commitTag,
MovableObject theObject,
FEM_ObjectBroker theNewBroker,
ChannelAddress theAddress = 0 
)
virtual

Call {recvSelf(commitTag, *this, theBroker)} on theObject and return the result.

Implements XC::Channel.

Reimplemented in XC::OracleDatastore.

§ restoreState()

int XC::FE_Datastore::restoreState ( int  commitTag)
virtual

Invoked to restore the state of the domain from a database.

Invoked to restore the state of the domain from a database. The state of the domain at the end of this call is to be the same as the state of the domain when {commitState(commitTag)} was invoked. To return \(0\) if successful, a negative number if not.

The object loops over all the components of the Domain object invoking {recvSelf(commitTag, this)} on each of these objects. Returns \(0\) if successful, a negative number if not. For each domain component that could not send itself a warning message is printed.

§ sendObj()

int XC::FE_Datastore::sendObj ( int  commitTag,
MovableObject theObject,
ChannelAddress theAddress = 0 
)
virtual

Call {sendSelf(commitTag, *this, theBroker)} on theObject and return the result.

Implements XC::Channel.

Reimplemented in XC::OracleDatastore.


The documentation for this class was generated from the following files: