9 #ifndef anna_app_Component_hpp 10 #define anna_app_Component_hpp 56 void attach() noexcept(
false);
62 virtual std::string asString()
const ;
82 explicit Component(
const char* className);
95 void addPredecessor(
const char* componentName) ;
101 void initialize() noexcept(
false);
110 void stop() { a_state = State::Stopped; do_stop(); }
118 virtual void kill() { stop(); }
121 typedef std::vector <std::string>::iterator iterator;
124 std::vector <std::string> a_predecessors;
127 iterator begin() {
return a_predecessors.begin(); }
128 iterator end() {
return a_predecessors.end(); }
129 const std::string& data(iterator& ii) {
return *ii; }
135 virtual void do_initialize() noexcept(
false) = 0;
143 virtual void do_stop() = 0;
150 virtual void do_cloneParent() noexcept(
false) { ; }
157 virtual void do_cloneChild() noexcept(
false) { ; }
159 friend void Application::startComponents() noexcept(
false);
160 friend void Application::stopComponents() noexcept(
false);
161 friend void Application::attach(
Component*) noexcept(
false);
162 friend Application& Application::clone() noexcept(
false);
Definition: Application.hpp:35
virtual void kill()
Definition: Component.hpp:118
void stop()
Definition: Component.hpp:110
Definition: Component.hpp:76
Definition: Component.hpp:39
xml::Node Node
Definition: Node.hpp:21
Definition: Component.hpp:44
Definition: Component.hpp:76
_v
Definition: Component.hpp:76
State::_v getState() const
Definition: Component.hpp:88