#include "reactive_planner.hpp" #include "simple_plan.hpp" //ctor ReactivePlanner::ReactivePlanner() { _root_plan = NULL; _active_rule = NULL; //seed random numbers generator for use in SimplePlans srand((unsigned)time(0)); } //dtor ReactivePlanner::~ReactivePlanner() { delete _root_plan; _root_plan = NULL; } //set entry point void ReactivePlanner::EntryPlan(ptrSimplePlan entry) { _root_plan = entry; } int ReactivePlanner::GetAction() { //TODO rule deactivation assert(_root_plan != NULL); return _root_plan->GetAction(); } void ReactivePlanner::SetInactive(ptrBaseRule rule) { if(_active_rule == rule) { _active_rule = NULL; } } ptrBaseRule ReactivePlanner::GetActive() { return _active_rule; }