69ac12fcb8ee5ac55fadc04d3a96a3a7c2d0038a
Stefan Schuermans split ModuleMgr.h into decl...

Stefan Schuermans authored 12 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_IMPL_H
7) #define BLINKER_MODULEMGR_IMPL_H
Stefan Schuermans split ModuleMgr.h into decl...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

10) #include <string>
Stefan Schuermans split ModuleMgr.h into decl...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

15) #include "Mgrs.h"
Stefan Schuermans split ModuleMgr.h into decl...

Stefan Schuermans authored 12 years ago

16) #include "Module.h"
17) #include "ModuleMgr.h"
Stefan Schuermans converted module manager to...

Stefan Schuermans authored 12 years ago

18) #include "ModuleMgrCntr.h"
19) #include "ModuleMgrCntr_impl.h"
Stefan Schuermans split ModuleMgr.h into decl...

Stefan Schuermans authored 12 years ago

20) #include "TimeCallee.h"
21) 
22) namespace Blinker {
23) 
24) /**
25)  * @brief constructor
Stefan Schuermans make modules know their name

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

28)  * @param[in] mgrs managers
Stefan Schuermans split ModuleMgr.h into decl...

Stefan Schuermans authored 12 years ago

29)  * @param[in] dirBase base directory
30)  */
31) template<typename MODULE>
Stefan Schuermans make modules know their name

Stefan Schuermans authored 12 years ago

32) ModuleMgr<MODULE>::ModuleMgr(const std::string &name, Mgrs &mgrs,
33)                              const Directory &dirBase):
34)   m_name(name),
Stefan Schuermans put all managers in one str...

Stefan Schuermans authored 12 years ago

35)   m_mgrs(mgrs),
Stefan Schuermans converted module manager to...

Stefan Schuermans authored 12 years ago

36)   m_dirBase(dirBase),
37)   m_moduleListTracker(*this, dirBase)
Stefan Schuermans split ModuleMgr.h into decl...

Stefan Schuermans authored 12 years ago

38) {
Stefan Schuermans converted module manager to...

Stefan Schuermans authored 12 years ago

39)   m_moduleListTracker.init();
Stefan Schuermans split ModuleMgr.h into decl...

Stefan Schuermans authored 12 years ago

40) 
41)   // request call in 1s
Stefan Schuermans put all managers in one str...

Stefan Schuermans authored 12 years ago

42)   m_mgrs.m_callMgr.requestTimeCall(this, Time::now() + Time(1));
Stefan Schuermans split ModuleMgr.h into decl...

Stefan Schuermans authored 12 years ago

43) }
44) 
45) /// destructor
46) template<typename MODULE>
47) ModuleMgr<MODULE>::~ModuleMgr()
48) {
Stefan Schuermans converted module manager to...

Stefan Schuermans authored 12 years ago

49)   m_moduleListTracker.clear();
Stefan Schuermans split ModuleMgr.h into decl...

Stefan Schuermans authored 12 years ago

50) }
51) 
Stefan Schuermans fixed comment typo

Stefan Schuermans authored 12 years ago

52) /// callback when requested time reached
Stefan Schuermans split ModuleMgr.h into decl...

Stefan Schuermans authored 12 years ago

53) template<typename MODULE>
54) void ModuleMgr<MODULE>::timeCall()
55) {
56)   updateConfig();
57) 
58)   // request next call in 1s
Stefan Schuermans put all managers in one str...

Stefan Schuermans authored 12 years ago

59)   m_mgrs.m_callMgr.requestTimeCall(this, Time::now() + Time(1));
Stefan Schuermans split ModuleMgr.h into decl...

Stefan Schuermans authored 12 years ago

60) }
61) 
62) /// check for update of configuration
63) template<typename MODULE>
64) void ModuleMgr<MODULE>::updateConfig()
65) {
Stefan Schuermans converted module manager to...

Stefan Schuermans authored 12 years ago

66)   // module list update
67)   m_moduleListTracker.updateConfig();
Stefan Schuermans split ModuleMgr.h into decl...

Stefan Schuermans authored 12 years ago

68) }
69) 
70) } // namespace Blinker
71) 
Stefan Schuermans namespace for preprocessor...

Stefan Schuermans authored 12 years ago

72) #endif // #ifndef BLINKER_MODULEMGR_IMPL_H