#ifndef ACT_ROOT #define ACT_ROOT #include "act/controller.h" #include "allocate/factory.h" #include class root_controller_t : public controller_t { public: enum mode_t { cli, app, game }; class configuration_t { private: std::vector modes_m; public: configuration_t(std::vector modes_p); }; controller_t::status_t on_event(event_t event_p) override; private: configuration_t configuration_m; root_controller_t(configuration_t configuration_p); friend class root_controller_factory_t; }; class root_controller_factory_t : public factory_t { public: root_controller_t* create(root_controller_t::configuration_t* configuration_p) override; factory_t::status_t dispose(root_controller_t* root_controller_p) override; }; #endif