baf52dacd8003c3ac6d43bfef7073aae9e871e3b
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>
10) 
11) #include "Directory.h"
Stefan Schuermans converted module manager to...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 13 years ago

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

Stefan Schuermans authored 13 years ago

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

Stefan Schuermans authored 13 years ago

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

Stefan Schuermans authored 13 years ago

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

Stefan Schuermans authored 13 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 13 years ago

29) 
30) public:
31)   /**
32)    * @brief constructor
Stefan Schuermans put all managers in one str...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 13 years ago

34)    * @param[in] dirBase base directory
35)    */
Stefan Schuermans put all managers in one str...

Stefan Schuermans authored 12 years ago

36)   ModuleMgr(Mgrs &mgrs, const Directory &dirBase);
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

37) 
38)   /// destructor
39)   ~ModuleMgr();
40) 
41) private:
42)   /// copy constructor disabled
Stefan Schuermans whitespace fixes

Stefan Schuermans authored 13 years ago

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

Stefan Schuermans authored 13 years ago

44) 
45)   /// assignment operator disabled
46)   const ModuleMgr & operator=(const ModuleMgr &that);
47) 
48) public:
Stefan Schuermans fixed comment typo

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 13 years ago

50)   virtual void timeCall();
51) 
52) protected:
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

53)   /// check for update of configuration
54)   void updateConfig();
55) 
56) protected:
Stefan Schuermans put all managers in one str...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 13 years ago

60) }; // class ModuleMgr
61) 
62) } // namespace Blinker
63) 
Stefan Schuermans namespace for preprocessor...

Stefan Schuermans authored 12 years ago

64) #endif // #ifndef BLINKER_MODULEMGR_H