#ifndef REACTIVE_PLANNER #define REACTIVE_PLANNER #include #include #include #include #include "types.hpp" #include "simple_plan.hpp" class ReactivePlanner { public: //ctor ReactivePlanner(); //dtor ~ReactivePlanner(); //set entry point void EntryPlan(ptrSimplePlan); //execute one engine cycle int GetAction(); void SetInactive(ptrBaseRule); ptrBaseRule GetActive(); friend int SimplePlan::GetAction(); protected: //pointer to root plan ptrSimplePlan _root_plan; //current active rule, NULL when no rule active ptrBaseRule _active_rule; }; #endif