587ae25b84177c5af73d1794bba555c6643b39bd
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 "CallMgr.h"
12) #include "Directory.h"
Stefan Schuermans converted module manager to...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 13 years ago

14) #include "Module.h"
15) #include "StreamMgr.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
34)    * @param[in] callMgr callback manager
35)    * @param[in] streamMgr stream manager
36)    * @param[in] dirBase base directory
37)    */
38)   ModuleMgr(CallMgr &callMgr, StreamMgr &streamMgr, const Directory &dirBase);
39) 
40)   /// destructor
41)   ~ModuleMgr();
42) 
43) private:
44)   /// copy constructor disabled
Stefan Schuermans whitespace fixes

Stefan Schuermans authored 13 years ago

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

Stefan Schuermans authored 13 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 13 years ago

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

Stefan Schuermans authored 13 years ago

55)   /// check for update of configuration
56)   void updateConfig();
57) 
58) protected:
Stefan Schuermans converted module manager to...

Stefan Schuermans authored 12 years ago

59)   CallMgr           &m_callMgr;          ///< callback manager
60)   StreamMgr         &m_streamMgr;        ///< stream manager
61)   Directory         m_dirBase;           ///< base directory
62)   ModuleListTracker m_moduleListTracker; ///< module list tracker
Stefan Schuermans implemented module manager...

Stefan Schuermans authored 13 years ago

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

Stefan Schuermans authored 12 years ago

67) #endif // #ifndef BLINKER_MODULEMGR_H