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/Modules/PLASMA/PlanServer/Includes/PlasmaDatabaseImpl.hh

Go to the documentation of this file.
00001 // -*- Mode: C++ -*-
00002 //      CVS: $Id: PlasmaDatabaseImpl.hh,v 1.11 2005/11/08 18:32:49 rijsman Exp $
00003 //      Tag: $name$
00004 //     Info: $CVSROOT/IDEA-DEV/COPYRIGHT
00005 
00006 #ifndef PLANSERVER_EUROPA_2_PLAN_DATABASE_IMPL_HEADER_
00007 #define PLANSERVER_EUROPA_2_PLAN_DATABASE_IMPL_HEADER_
00008 
00009 #include "PslDatabaseImpl.hh"
00010 
00011 #include "PlanDatabase.hh"
00012 
00013 #include "HSTSAssembly.hh"
00014 
00015 #include "ConstraintEngine.hh"
00016 #include "PlanDatabase.hh"
00017 #include "RulesEngine.hh"
00018 
00019 namespace IDEA
00020 {
00021   class PslDatabase;
00022   class PslObjectClass;
00023   class PslToken;
00024   class PlasmaPlanDatabaseListener;
00025   class PlasmaConstraintEngineListener;
00026 
00040   class PlasmaDatabaseImpl:
00041     public PslDatabaseImpl
00042   {
00043   public:
00047     PlasmaDatabaseImpl( const PslModelManager* modelManager,
00048                         const std::string& agentName,
00049                         const std::string& name );
00050 
00054     ~PlasmaDatabaseImpl();
00058     void archive( const Time& t );
00062     const PslVariable* createVariable( const PslDatabase* db, const EUROPA::ConstrainedVariableId& variableId );
00067     const PslVariable* createVariable( const PslDatabase* db, 
00068                                        const EUROPA::AbstractDomain& baseDomain,
00069                                        const std::string& name );
00070 
00074     const PslToken* createToken( const PslDatabase* db, const EUROPA::TokenId& token );
00078     EUROPA::PlanDatabaseId getPlanDatabase() const;
00082     EUROPA::RulesEngineId getRulesEngine() const;
00086     const  EUROPA::ConstraintEngineId& getConstraintEngine() const;
00090     bool isConsistent();
00094     void setActiveUpdate();
00098     void setPassiveUpdate();
00102     void print( std::ostream& os );
00103   protected:
00104     void initializeExtended( const PslDatabase* db );
00105   private:
00112     const Time getTimeExtended();
00113 
00114     EUROPA::ConstraintEngineId m_ConstraintEngine; 
00115     EUROPA::PlanDatabaseId m_PlanDatabase; 
00116     EUROPA::RulesEngineId m_RulesEngine; 
00117     PlasmaPlanDatabaseListener* m_PlanDatabaseListener;
00118     PlasmaConstraintEngineListener* m_ConstraintEngineListener;
00119   };
00120 }
00121 
00122 #endif // PLANSERVER_EUROPA_2_PLAN_DATABASE_IMPL_HEADER_

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