35 lines
839 B
C++
35 lines
839 B
C++
#ifndef ACT_ROOT
|
|
#define ACT_ROOT
|
|
#include "act/controller.h"
|
|
#include "allocate/factory.h"
|
|
#include "code/provider.h"
|
|
#include <vector>
|
|
class root_controller_t : public controller_t {
|
|
public:
|
|
enum error_t {
|
|
none,
|
|
unknown
|
|
};
|
|
struct configuration_t {
|
|
provider_t* provider_m;
|
|
};
|
|
root_controller_t(
|
|
configuration_t* configuration_p
|
|
);
|
|
void_t<controller_t::error_t> on_event(
|
|
controller_t::event_t event_p
|
|
);
|
|
private:
|
|
configuration_t* configuration_m;
|
|
};
|
|
class root_controller_factory_t : public factory_t<root_controller_t::configuration_t, root_controller_t, root_controller_t::error_t> {
|
|
public:
|
|
return_t<root_controller_t::error_t, root_controller_t*> create(
|
|
root_controller_t::configuration_t* configuration_p
|
|
);
|
|
void_t<root_controller_t::error_t> dispose(
|
|
root_controller_t* root_controller_p
|
|
);
|
|
};
|
|
#endif
|