10 #ifndef MISSIONITEM_H_
11 #define MISSIONITEM_H_
40 unsigned int tablePos,
Logger& logger );
Client-side interface for injecting log data into the log queue.
Definition: Logger.h:30
void setSequence(bool sequence)
Tell the item to run in sequence.
Definition: MissionItem.h:79
DataReader * repeatArgReader_
Reads timeout argument at timeout init time.
Definition: MissionItem.h:255
bool isParallel()
Indicates if the item runs in parallel.
Definition: MissionItem.h:61
MissionItem * timeoutItem_
Aggregate commands to execute in the case of a timeout. Can be empty.
Definition: MissionItem.h:267
static MissionItem * Instance(MissionItem *parent, MissionNode *node, unsigned int tablePos, Logger &logger)
Returns an instance, or NULL if an instance can't be returned.
Definition: MissionItem.cpp:69
MissionNode * node_
Used only while reading mission from XML. Do not use later!
Definition: MissionItem.h:279
bool parallel_
Indicates if missionComponent should be run all the time.
Definition: MissionItem.h:228
int repeatIndex_
Number of Times repeated so far.
Definition: MissionItem.h:249
Wraps a Behavior or Aggregate with mission-specific settings pertaining to that item.
Definition: MissionItem.h:31
bool sequence_
Indicates if missionComponent should be run sequentially.
Definition: MissionItem.h:225
bool satisfied()
Definition: MissionItem.cpp:276
MissionItem * findItemByRefId(const Str &refId) const
Definition: MissionItem.cpp:985
Collections of Behaviors (including other Aggregates) that make up a larger Behavior within a mission...
Definition: Aggregate.h:27
void setRepeatIndex(int repeatIndex)
resets the repeat index
Definition: MissionItem.cpp:93
ValueClause * getBreakClause()
Definition: MissionItem.h:103
void uninitialize()
Definition: MissionItem.cpp:333
void addCall()
Definition: MissionItem.cpp:348
bool isTimedOut()
True if this is timed out.
Definition: MissionItem.h:169
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL...
Definition: DataReader.h:30
void run()
Definition: MissionItem.cpp:183
Information to create a DefinedBehavior that is embedded in scripted code within a mission file...
Definition: DefineBehavior.h:74
MissionItem * getParent() const
Parent MissionItem.
Definition: MissionItem.h:185
bool isPreemptive()
Definition: MissionItem.cpp:86
bool initialized_
Flag used by parent aggregates.
Definition: MissionItem.h:276
const Timestamp & getStartTime() const
Definition: MissionItem.h:179
bool isAggregate() const
Indicates if the mission component is an aggreate behavior.
Definition: MissionItem.h:85
bool preempted_
True if the item is currently preempted.
Definition: MissionItem.h:273
Contains the ComponentRegistry class declaration.
void interpretRunIn(MissionNode *node, const Str &name, Logger &logger)
Definition: MissionItem.cpp:945
Aggregate * getAggregate() const
Returns the component as a Aggregate.
Definition: MissionItem.h:43
unsigned int getTablePosition()
Returns the position within the Aggregate.
Definition: MissionItem.h:97
Behavior is the abstract base class for components that implement mission behaviors and commands...
Definition: Behavior.h:32
void interpretRepeat(MissionNode *node, const Str &name, Logger &logger)
Definition: MissionItem.cpp:924
bool timedOut_
True if time since startTime exceed timeout.
Definition: MissionItem.h:261
bool isInitialized()
Definition: MissionItem.h:174
Timestamp startTime_
Keeps track of how long we've been running.
Definition: MissionItem.h:258
A ValueClause is a set of boolean conditions that may be specified as conditions for executing (or st...
Definition: ValueClause.h:26
void preempted()
Called when the mission component becomes preempted.
Definition: MissionItem.cpp:320
MissionItem * parentItem_
Parent MissionItem.
Definition: MissionItem.h:216
Behavior * component_
Single item.
Definition: MissionItem.h:222
Contains the Behavior class definition.
ValueClause * whenClause_
Boolean WHEN clauses.
Definition: MissionItem.h:237
void setTimedOut()
Definition: MissionItem.cpp:975
ValueClause * whileClause_
Boolean WHILE clause.
Definition: MissionItem.h:240
void initialize()
Definition: MissionItem.cpp:130
Wraps a TiXmlNode.
Definition: MissionNode.h:20
unsigned int tablePos_
Position within the Aggregate.
Definition: MissionItem.h:219
Replacement for standard template class string.
Definition: Str.h:12
int callCount_
Number of calls to this item.
Definition: MissionItem.h:246
ValueClause * getWhenClause()
Definition: MissionItem.h:109
DataReader * findArgReader(const Str &argName) const
Definition: MissionItem.cpp:1022
Abstract Base class for software components.
Definition: Component.h:53
bool isSequence()
Indicates if the item runs in sequence.
Definition: MissionItem.h:73
int repeatLimit_
Number of Times to repeat this item.
Definition: MissionItem.h:252
bool runIfUnsatisfied()
Definition: MissionItem.cpp:226
MissionItem(MissionItem *parent, unsigned int tablePos)
Protected Constructor.
Definition: MissionItem.cpp:378
virtual ~MissionItem()
Destructor.
Definition: MissionItem.cpp:29
DataReader * timeoutArgReader_
Reads timeout argument at timeout init time.
Definition: MissionItem.h:264
bool aggregate_
Aggregate item?
Definition: MissionItem.h:231
DefineBehavior * findDefineBehavior(const Str &name) const
Definition: MissionItem.cpp:1008
bool isActive(MissionItem *activeItem)
Definition: MissionItem.cpp:106
Contains the Logger class definition.
void initializeFromScript(MissionNode *node, Logger &logger)
Definition: MissionItem.cpp:405
FastMap< const Str, DefineBehavior * > * defineBehaviors_
Map of DefineBehavior instances.
Definition: MissionItem.h:270
int getRepeatLimit()
returns the repeat limit
Definition: MissionItem.h:139
void removeCall()
Definition: MissionItem.cpp:365
ValueClause * getWhileClause()
Definition: MissionItem.h:115
ValueClause * getPreemptiveClause()
Definition: MissionItem.h:121
void putDefineBehavior(const Str &name, DefineBehavior *defineBehavior)
Definition: MissionItem.cpp:999
bool isCompletable()
Indicates if the mission component is a command.
Definition: MissionItem.h:91
void setParallel(bool parallel)
Tell the item to run in parallel.
Definition: MissionItem.h:67
ValueClause * preemptiveClause_
Indicates that the clause is preemptive.
Definition: MissionItem.h:243
Contains the Location class definition.
ValueClause * breakClause_
Boolean BREAK clause.
Definition: MissionItem.h:234
Contains the Double class definition.
unsigned int getTablePos()
Definition: MissionItem.h:144
bool ignoreWhenWhile_
If true, this is a called item, so the when clause is ignored.
Definition: MissionItem.h:282
Behavior * getComponent() const
Returns the mission component.
Definition: MissionItem.h:49
Represents absolute times.
Definition: Timestamp.h:31
int getRepeatIndex()
returns the repeat index
Definition: MissionItem.h:133
void setComponent(Behavior *component)
Sets the mission component.
Definition: MissionItem.h:55