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/PlasmaReturnRcvdCnImpl.hh

Go to the documentation of this file.
00001 // -*- Mode: C++ -*-
00002 //      CVS: $Id: PlasmaReturnRcvdCnImpl.hh,v 1.6 2005/11/08 18:32:50 rijsman Exp $
00003 //      Tag: $name$
00004 //     Info: $CVSROOT/IDEA-DEV/COPYRIGHT
00005 
00006 #ifndef PLASMA_RETURN_RECEIVED_CONSTRAINT_IMPLEMENTATION_HEADER_
00007 #define PLASMA_RETURN_RECEIVED_CONSTRAINT_IMPLEMENTATION_HEADER_
00008 
00009 #include "PslReturnRcvdCnImpl.hh"
00010 #include "PslObservedConstraintImpl.hh"
00011 
00012 #include "Constraint.hh"
00013 
00014 namespace IDEA
00015 {
00021 #define RETURNRECEIVEDCONSTRAINT "RETURNRECEIVEDCONSTRAINT"
00022 
00023 
00029   class ReturnReceivedConstraint:
00030     public EUROPA::Constraint
00031   {
00032   public:
00036     ReturnReceivedConstraint( PslConstraintImpl* impl,
00037                               const EUROPA::ConstraintEngineId& constraintEngine, 
00038                               const std::vector< EUROPA::ConstrainedVariableId >& variables);
00042     ~ReturnReceivedConstraint();
00046     bool canIgnore( const EUROPA::ConstrainedVariableId &variable, int argIndex, const EUROPA::DomainListener::ChangeType& changeType );
00050     void handleExecute();
00051   private:
00052     PslConstraintImpl* m_PslConstraint;
00053   };
00054 
00060   class PlasmaReturnFlagReceivedConstraintImpl:
00061     public PslReturnReceivedConstraintImpl
00062   {
00063   public:
00067     PlasmaReturnFlagReceivedConstraintImpl( const PslParameter* parameter, int authority );
00071     ~PlasmaReturnFlagReceivedConstraintImpl();
00075     int getId() const;
00079     bool isActive() const;
00083     void deActivate() const;
00084   protected:
00088     void activateExtended( int authority ) const;
00089   private:
00090     EUROPA::ConstraintId m_ConstraintId;
00091   };
00092 
00098   class PlasmaObservedConstraintImpl:
00099     public PslObservedConstraintImpl
00100   {
00101   public:
00105     PlasmaObservedConstraintImpl( const PslParameter* parameter, int authority );
00109     ~PlasmaObservedConstraintImpl();
00113     int getId() const;
00117     bool isActive() const;
00121     void deActivate() const;
00122   protected:
00126     void activateExtended( int authority ) const;
00127   private:
00128     EUROPA::ConstraintId m_ConstraintId;
00129   };
00130   
00135 }
00136 
00137 #endif // PLASMA_RETURN_RECEIVED_CONSTRAINT_IMPLEMENTATION_HEADER_

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