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

Go to the documentation of this file.
00001 // -*- Mode: C++ -*-
00002 //      CVS: $Id: PslPredicate.hh,v 1.6 2005/11/08 18:32:44 rijsman Exp $
00003 //      Tag: $name$
00004 //     Info: $CVSROOT/IDEA-DEV/COPYRIGHT
00005 
00006 #ifndef PSL_PREDICATE_HH
00007 #define PSL_PREDICATE_HH
00008 
00009 #include "Utilities.hh"
00010 #include "TokenLocation.hh"
00011 #include "PslContainers.hh"
00012 #include "PslArgumentTypes.hh"
00013 
00014 namespace IDEA
00015 {
00016   class PslAttribute;
00017   class PslDomain;
00018   class PslPredicateImpl;
00019 
00032   class PslPredicate
00033   {
00034     friend class PslAttributeImpl;
00035   public:
00039     ~PslPredicate();
00043     const PslPredicateImpl* getImpl() const;
00048     const TokenLocation& getTargetLocation() const;
00052     const std::string& getName() const;
00057     bool hasComRelayName() const;
00061     const PslAttribute* getAttribute() const;
00065     int getArgumentCount() const;
00066 
00067     const PslArgument* getArgument( int index ) const;
00071     const PslArgumentList getReturnArguments() const;
00075     const PslArgumentList getCallArguments() const;
00079     const PslArgument* getReturnStatusArgument() const;
00087     bool usesCPU() const;
00094     const PslArgument* createArgument( int index, 
00095                                        const PslDomain* domain, 
00096                                        const PslArgumentType& atype, 
00097                                        const PslSelectorType& mtype, 
00098                                        const std::string& name ) const;
00105     void setUsesCPU() const;
00109     const std::string& getComRelayName() const;
00113     void setComRelayName( const std::string& name, const TokenLocation& target ) const;
00114   private:
00118     PslPredicate( PslPredicateImpl* impl );
00122     PslPredicate();
00126     PslPredicate( const PslPredicate & );
00130     PslPredicate & operator=(const PslPredicate &);
00134     PslPredicateImpl* m_Impl;
00135   };
00136 }
00137 
00138 
00139 #endif //PSL_PREDICATE_HH
00140 

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