00001 #ifndef PLAN_EXECUTOR_H 00002 #define PLAN_EXECUTOR_H 00003 00004 #include <set> 00005 #include "continual_planning_executive/symbolicState.h" 00006 #include "continual_planning_executive/plan.h" 00007 #include "continual_planning_executive/actionExecutorInterface.h" 00008 00009 class PlanExecutor 00010 { 00011 public: 00012 PlanExecutor(); 00013 ~PlanExecutor(); 00014 00015 void addActionExecutor(continual_planning_executive::ActionExecutorInterface* ae); 00016 00017 virtual bool executeBlocking(const Plan & p, SymbolicState & currentState, 00018 std::set<DurativeAction> & executedActions); 00019 00021 void cancelAllActions(); 00022 00023 protected: 00024 bool _onlyExecuteActionAtZeroTime; 00025 00026 deque<continual_planning_executive::ActionExecutorInterface*> _actionExecutors; 00027 }; 00028 00029 #endif 00030