Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

/home/pauldt/projects/IDEA/IDEA-ALL/IDEA-DEV/Core/PlanServer/Includes/PslDatabase.hh

Go to the documentation of this file.
00001 // -*- Mode: C++ -*-
00002 //      CVS: $Id: PslDatabase.hh,v 1.12 2005/12/30 22:15:00 rijsman Exp $
00003 //      Tag: $name$
00004 //     Info: $CVSROOT/IDEA-DEV/COPYRIGHT
00005 #ifndef PLANSERVER_DATABASE_HEADER_
00006 #define PLANSERVER_DATABASE_HEADER_
00007 
00008 #include "PslConstantTypes.hh"
00009 #include "PslContainers.hh"
00010 #include "PslDataTypes.hh"
00011 
00012 #include "Utilities.hh"
00013 #include "TimeBasics.hh"
00014 #include "TokenLocation.hh"
00015 
00016 namespace IDEA
00017 {
00018   class PslConstant;
00019   class PslDatabaseImpl;
00020   class PslLabelSet;
00021   class PslModelManager;
00022   class PslObject;
00023   class PslObjectClass;
00024   class PslTrueFalseVariable;
00025   class PslToken;
00026   class PslVariable;
00027   class PslOutputFilter;
00028 
00040   class PslDatabase
00041   {
00042   public:
00046     PslDatabase( PslModelManager* modelManager, 
00047                  const std::string& agentName,
00048                  const std::string& name);
00052     ~PslDatabase();
00056     PslDatabaseImpl* getImpl() const;
00062     void archive( const Time& t ) const;
00066     void resetContent() const;
00070     const std::string& getAgentName() const;
00071 
00072     void setAgentName( const std::string& name ) const;
00077     bool isConsistent() const;
00083     const PslConstant* createConstant( const std::string& name, double value, const PslConstantType& type ) const;
00091     const PslObject* createObject( const PslObjectClass* objectClass, const std::string& objectName ) const;
00095     void lock( const std::string& location ) const;
00099     void unLock( const std::string& location ) const;
00104     void setActiveUpdate() const;
00109     void setPassiveUpdate() const;
00113     const PslToken* createToken( const PslTimeline* timeline, 
00114                                  const PslPredicate* predicate,
00115                                  const Time& earliestStart,
00116                                  const Time& latestStart,
00117                                  const Time& earliestEnd,
00118                                  const Time& latestEnd,
00119                                  int externalTokenId = -1,
00120                                  const TokenLocation& source = TokenLocation(),
00121                                  const std::string& comRelayName = UNKNOWN ) const;
00125     const PslVariable* createVariable( int lb, int ub, const std::string& name ) const;
00129     const PslVariable* createVariable( int value, const std::string& name ) const;
00133     const PslVariable* createVariable( const PslDataType& type, const std::string& name ) const;
00137     const PslVariable* createVariable( double lb, double ub, const std::string& name ) const;
00141     const PslVariable* createVariable( double value, const std::string& name ) const;
00145     const PslVariable* createVariable( const PslLabelSet* ls, const std::string& name ) const;
00149     const PslVariable* createBoolVariable( const std::string& name ) const;
00155     int externalize( const PslToken* token ) const;
00160     const PslToken* getExternalizedToken( int id ) const;
00165     const PslToken* getToken( int uid ) const;
00169     const PslConstant* getConstant( const std::string& name ) const;
00173     const PslModelManager* getModelManager() const;
00177     const std::string& getName() const;
00181     const PslObject* getObject( const std::string& name ) const;
00185     const PslObjectList getObjects() const;
00190     void setTime( const Time& time ) const;
00195     const Time getTime() const;
00200     void setPendingMessages( bool value ) const;
00204     const PslVariable* getVariable( int id ) const;
00208     const PslTrueFalseVariable* getPendingMessageVariable() const;
00209 
00210     void removeVariable( const PslVariable* var ) const;
00211   
00215     void print( std::ostream& os ) const;
00219     void setPrintFilter( PslOutputFilter* filter, bool deleteInstance );
00220   private:
00221     PslDatabaseImpl* m_Impl;
00222   };
00223 
00224   std::ostream& operator<<( std::ostream& os, const PslDatabase& db );
00225 }
00226 
00227 #endif // PLANSERVER_DATABASE_HEADER_

Contact information
© IDEA
Generated on Fri Feb 3 17:09:41 2006 for IDEA.