ActionExecutor.h
Go to the documentation of this file.
00001 #ifndef actasp_ActionExecutor_h__guard
00002 #define actasp_ActionExecutor_h__guard
00003 
00004 #include <actasp/AspRule.h>
00005 #include <vector>
00006 
00007 namespace actasp {
00008   
00009 class ExecutionObserver;
00010 
00011 struct ActionExecutor {
00012 
00013         void setGoal(const AspRule& goalRule) throw() {
00014                 std::vector<AspRule> goal;
00015                 goal.push_back(goalRule);
00016                 this->setGoal(goal);
00017         }
00018         
00019         virtual void setGoal(const std::vector<actasp::AspRule>& goalRules) throw() = 0;
00020 
00021         virtual bool goalReached() const throw() =0;
00022         virtual bool failed() const throw() = 0;
00023 
00024         virtual void executeActionStep() = 0;
00025   
00026   virtual void addExecutionObserver(ExecutionObserver *observer) throw() = 0;
00027   virtual void removeExecutionObserver(ExecutionObserver *observer) throw() =0;
00028 
00029         virtual ~ActionExecutor() {}
00030 };
00031 
00032 }
00033 
00034 #endif


bwi_kr_execution
Author(s): Matteo Leonetti, Piyush Khandelwal
autogenerated on Fri Aug 28 2015 10:14:46