Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

processManager.h

Go to the documentation of this file.
00001 #ifndef processManager_h
00002 #define processManager_h
00003 
00004 #include "Event/serviceI.h"
00005 #include "Event/serverVI.h"
00006 
00007 #include "Event/eventTask.h"
00008 #include "Event/algorithmTask.h"
00009 #include "Event/algConditionalTask.h"
00010 
00011 //-----------------------------------------------
00013 
00059 //----------------------------------------------
00060 //             J.A Hernando, Santa Cruz 02/29/00
00061 //----------------------------------------------
00062 
00063 //######################################
00064 class processManager : public serviceI
00065 //######################################
00066 {
00067 public:
00068 
00070         processManager();
00072         virtual ~processManager();
00073         
00075         static processManager* instance() {return m_instance;}
00076 
00078         void runApplication() const {run(m_applicationName);}
00080         void run(std::string name) const {getAlgorithm(name)->run();}
00081 
00083         algorithmVI* getAlgorithm(std::string name) const;
00085         void addAlgorithm(std::string name, algorithmVI* alg);
00086 
00088         algorithmTask* getAlgorithmTask(std::string name) const;
00090         void addAlgorithmTask(std::string name, algorithmTask* alg);
00091 
00093         eventTask* getEventTask(std::string name) const;
00095         void addEventTask(std::string name, eventTask* evt);
00096 
00098         algConditionalTask* getAlgConditionalTask(std::string name) const;
00100         void addAlgConditionalTask(std::string name, algConditionalTask* alg);
00101 
00103         virtual void writeOut() const;
00104 
00105 protected:
00106 
00108         virtual void defineOption();
00110         virtual void setOption(std::string type, std::string name); //overwriten
00111 
00112 private:
00113         
00115         static processManager* m_instance;
00116 
00118         serverVI<algorithmVI>*    m_algorithms;
00120         serverVI<eventTask>*   m_eventTasks;
00122         serverVI<algorithmTask>*  m_algorithmTasks;
00124         serverVI<algConditionalTask>* m_algConditionalTasks;
00125 
00127         std::string m_applicationName;
00128 
00130         std::string m_eventTaskName;
00132         std::string m_algorithmTaskName;
00134         std::string m_algConditionalTaskName;
00135 };
00136 
00137 #endif

Generated at Fri Aug 18 12:57:38 2000 for centella framework by doxygen 1.1.3 written by Dimitri van Heesch, © 1997-2000