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/Planner/Includes/PlasmaVariableDecisionPoint.hh

Go to the documentation of this file.
00001 // -*- Mode: C++ -*-
00002 //      CVS: $Id: PlasmaVariableDecisionPoint.hh,v 1.4 2005/10/13 16:53:50 rijsman Exp $
00003 //      Tag: $name$
00004 //     Info: $CVSROOT/Copyright.txt
00005 
00006 #ifndef _H_PlasmaVariableDecisionPoint
00007 #define _H_PlasmaVariableDecisionPoint
00008 
00009 #include "ConstrainedVariableDecisionPoint.hh"
00010 
00011 namespace IDEA 
00012 {
00013   class PlasmaOpenDecisionManager;
00014   class PslConstraint;
00015   class PslDatabase;
00016   class PslVariable;
00017 
00023   class PlasmaVariableDecisionPoint: 
00024     public EUROPA::ConstrainedVariableDecisionPoint 
00025   {
00026     friend class PlasmaOpenDecisionManager;
00027   public:
00031     virtual ~PlasmaVariableDecisionPoint();
00035     bool assign();
00039     bool retract();
00043     void print(std::ostream& os) const;
00044   protected:
00048     PlasmaVariableDecisionPoint(const EUROPA::DbClientId & client,
00049                                 const EUROPA::ConstrainedVariableId& var,
00050                                 const EUROPA::OpenDecisionManagerId& odm,
00051                                 const PslDatabase* pslDb,
00052                                 int authority);
00053   private:
00057     const PslConstraint* constrainToCurrentValue();
00058 
00059     const PslVariable * m_variable;
00060     const PslConstraint * m_constraint;
00061     const PslDatabase * m_database;
00062     int m_authority;
00063   };
00064 
00065   std::ostream& operator<<( std::ostream& os, const EUROPA::Id<PlasmaVariableDecisionPoint>& dp );
00066 }
00067 
00068 #endif //_H_PlasmaVariableDecisionPoint

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