00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef SEMAINE_SYSTEM_COMPONENTRUNNER_H
00012 #define SEMAINE_SYSTEM_COMPONENTRUNNER_H
00013
00014 #include <list>
00015
00016 #include <semaine/config.h>
00017
00018 #include <semaine/components/Component.h>
00019
00020 using namespace semaine::components;
00021
00022 namespace semaine {
00023 namespace system {
00024
00025 class ComponentRunner
00026 {
00027 public:
00028 ComponentRunner(const std::list<Component *> & components);
00029 ~ComponentRunner();
00030
00034 void go();
00035
00040 void waitUntilCompleted();
00041
00042
00043 private:
00044 std::list<Component *> components;
00045
00046 };
00047
00048 }
00049 }
00050
00051
00052 #endif
00053