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

IDEA::PslPredicate Class Reference
[PlanServer handle classes]

Interface abstraction for a predicate. This class implements the Abstraction portion of the Bridge design pattern (GoF p. 151). Constructors are public, but dispatch to an abstract factory to construct the implementation object. More...

#include <PslPredicate.hh>

List of all members.

Public Methods

 ~PslPredicate ()
 Destructor.

const PslPredicateImplgetImpl () const
 Returns the implementation class.

const TokenLocationgetTargetLocation () const
 Returns the the target location for PslToken instances of the invoking predicate.

const std::string & getName () const
 Returns the predicate's name.

bool hasComRelayName () const
 Returns true if the invoking predicate has a comrelay name defined at the predicate level. See Goal Timelines.

const PslAttributegetAttribute () const
 Returns the PslAttribute instance the invoking predicate is associated with.

int getArgumentCount () const
 Returns the number of arguments this predicate has.

const PslArgumentgetArgument (int index) const
const PslArgumentList getReturnArguments () const
 Returns the PslArgument instances of the invoking predicate for which PslArgument::isReturn is true.

const PslArgumentList getCallArguments () const
 Returns the PslArgument instances of the invoking predicate for which PslArgument::isCall is true.

const PslArgumentgetReturnStatusArgument () const
 Returns the PslArgument instances of the invoking predicate for which PslArgument::isReturnStatus is true.

bool usesCPU () const
 Returns true if procedures (tokens) resulting from the invoking predicate use CPU otherwise returns false.

const PslArgumentcreateArgument (int index, const PslDomain *domain, const PslArgumentType &atype, const PslSelectorType &mtype, const std::string &name) const
 Creates a PslArgument instance of the invoking predicate at index index with domain domain and argument type \atype and mode type \mtype by the name name.

void setUsesCPU () const
 Set the invoking predicate to be using CPU.

const std::string & getComRelayName () const
 Returns the key of the ComRelay to use for this attribute.

void setComRelayName (const std::string &name, const TokenLocation &target) const
 Sets the ComRelay-key to use for the invoking attribute.


Private Methods

 PslPredicate (PslPredicateImpl *impl)
 Constructor.

 PslPredicate ()
 Default constructor, not implemented by design.

 PslPredicate (const PslPredicate &)
 Copy constructor, not implemented by design.

PslPredicate & operator= (const PslPredicate &)
 Assignment operator, not implemented by design.


Private Attributes

PslPredicateImplm_Impl
 Implementation of the predicate information.


Friends

class PslAttributeImpl


Detailed Description

Interface abstraction for a predicate. This class implements the Abstraction portion of the Bridge design pattern (GoF p. 151). Constructors are public, but dispatch to an abstract factory to construct the implementation object.

class PslPredicate


Constructor & Destructor Documentation

IDEA::PslPredicate::~PslPredicate  
 

Destructor.

IDEA::PslPredicate::PslPredicate PslPredicateImpl   impl [private]
 

Constructor.

IDEA::PslPredicate::PslPredicate   [private]
 

Default constructor, not implemented by design.

IDEA::PslPredicate::PslPredicate const PslPredicate &    [private]
 

Copy constructor, not implemented by design.


Member Function Documentation

const PslArgument * IDEA::PslPredicate::createArgument int    index,
const PslDomain   domain,
const PslArgumentType   atype,
const PslSelectorType   mtype,
const std::string &    name
const
 

Creates a PslArgument instance of the invoking predicate at index index with domain domain and argument type \atype and mode type \mtype by the name name.

PslArgument instances have to be created in order of increasing index without gaps starting at index 0.

const PslArgument * IDEA::PslPredicate::getArgument int    index const
 

int IDEA::PslPredicate::getArgumentCount  
 

Returns the number of arguments this predicate has.

const PslAttribute * IDEA::PslPredicate::getAttribute  
 

Returns the PslAttribute instance the invoking predicate is associated with.

const PslArgumentList IDEA::PslPredicate::getCallArguments  
 

Returns the PslArgument instances of the invoking predicate for which PslArgument::isCall is true.

const std::string & IDEA::PslPredicate::getComRelayName  
 

Returns the key of the ComRelay to use for this attribute.

const PslPredicateImpl * IDEA::PslPredicate::getImpl  
 

Returns the implementation class.

const std::string & IDEA::PslPredicate::getName  
 

Returns the predicate's name.

const PslArgumentList IDEA::PslPredicate::getReturnArguments  
 

Returns the PslArgument instances of the invoking predicate for which PslArgument::isReturn is true.

const PslArgument * IDEA::PslPredicate::getReturnStatusArgument  
 

Returns the PslArgument instances of the invoking predicate for which PslArgument::isReturnStatus is true.

const TokenLocation & IDEA::PslPredicate::getTargetLocation  
 

Returns the the target location for PslToken instances of the invoking predicate.

bool IDEA::PslPredicate::hasComRelayName  
 

Returns true if the invoking predicate has a comrelay name defined at the predicate level. See Goal Timelines.

PslPredicate& IDEA::PslPredicate::operator= const PslPredicate &    [private]
 

Assignment operator, not implemented by design.

void IDEA::PslPredicate::setComRelayName const std::string &    name,
const TokenLocation   target
const
 

Sets the ComRelay-key to use for the invoking attribute.

void IDEA::PslPredicate::setUsesCPU  
 

Set the invoking predicate to be using CPU.

This information is used for determining if we can warp. Warping is skipping of time (which only makes sense in simulation mode). Warping can not take place if a procedure (token) is taking place using CPU.

bool IDEA::PslPredicate::usesCPU  
 

Returns true if procedures (tokens) resulting from the invoking predicate use CPU otherwise returns false.

This information is used for determining if we can warp. Warping is skipping of time (which only makes sense in simulation mode). Warping can not take place if a procedure (token) is taking place using CPU.


Friends And Related Function Documentation

friend class PslAttributeImpl [friend]
 


Member Data Documentation

PslPredicateImpl* IDEA::PslPredicate::m_Impl [private]
 

Implementation of the predicate information.


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