69ac12fcb8ee5ac55fadc04d3a96a3a7c2d0038a
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

1) /* Blinker
2)    Copyright 2011 Stefan Schuermans <stefan@blinkenarea.org>
3)    Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
4)    a blinkenarea.org project */
5) 
Stefan Schuermans namespace for preprocessor...

Stefan Schuermans authored 12 years ago

6) #ifndef BLINKER_MODULEMGR_H
7) #define BLINKER_MODULEMGR_H
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

8) 
9) #include <list>
Stefan Schuermans make modules know their name

Stefan Schuermans authored 12 years ago

10) #include <string>
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

11) 
12) #include "Directory.h"
Stefan Schuermans converted module manager to...

Stefan Schuermans authored 12 years ago

13) #include "ListTracker.h"
Stefan Schuermans put all managers in one str...

Stefan Schuermans authored 12 years ago

14) #include "Mgrs.h"
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

15) #include "Module.h"
Stefan Schuermans implemented automatic check...

Stefan Schuermans authored 13 years ago

16) #include "TimeCallee.h"
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

17) 
18) namespace Blinker {
19) 
20) /// manager for modules of one type
21) template<typename MODULE>
Stefan Schuermans implemented automatic check...

Stefan Schuermans authored 13 years ago

22) class ModuleMgr: public TimeCallee
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

23) {
24) protected:
Stefan Schuermans converted module manager to...

Stefan Schuermans authored 12 years ago

25)   /// module container
26)   class Cntr;
27) 
28)   /// module list tracker
29)   typedef ListTracker<ModuleMgr, Cntr, Directory> ModuleListTracker;
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

30) 
31) public:
32)   /**
33)    * @brief constructor
Stefan Schuermans make modules know their name

Stefan Schuermans authored 12 years ago

34)    * @param[in] name module manager name / module class name
35)    * @param[in] name module name
Stefan Schuermans put all managers in one str...

Stefan Schuermans authored 12 years ago

36)    * @param[in] mgrs managers
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

37)    * @param[in] dirBase base directory
38)    */
Stefan Schuermans make modules know their name

Stefan Schuermans authored 12 years ago

39)   ModuleMgr(const std::string &name, Mgrs &mgrs, const Directory &dirBase);
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

40) 
41)   /// destructor
42)   ~ModuleMgr();
43) 
44) private:
45)   /// copy constructor disabled
Stefan Schuermans whitespace fixes

Stefan Schuermans authored 13 years ago

46)   ModuleMgr(const ModuleMgr &that);
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

47) 
48)   /// assignment operator disabled
49)   const ModuleMgr & operator=(const ModuleMgr &that);
50) 
51) public:
Stefan Schuermans fixed comment typo

Stefan Schuermans authored 12 years ago

52)   /// callback when requested time reached
Stefan Schuermans implemented automatic check...

Stefan Schuermans authored 13 years ago

53)   virtual void timeCall();
54) 
55) protected:
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

56)   /// check for update of configuration
57)   void updateConfig();
58) 
59) protected:
Stefan Schuermans make modules know their name

Stefan Schuermans authored 12 years ago

60)   std::string       m_name;              ///< module manager name
Stefan Schuermans put all managers in one str...

Stefan Schuermans authored 12 years ago

61)   Mgrs              &m_mgrs;             ///< managers
Stefan Schuermans converted module manager to...

Stefan Schuermans authored 12 years ago

62)   Directory         m_dirBase;           ///< base directory
63)   ModuleListTracker m_moduleListTracker; ///< module list tracker
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

64) }; // class ModuleMgr
65) 
66) } // namespace Blinker
67) 
Stefan Schuermans namespace for preprocessor...

Stefan Schuermans authored 12 years ago

68) #endif // #ifndef BLINKER_MODULEMGR_H