69ac12fcb8ee5ac55fadc04d3a96a3a7c2d0038a
Stefan Schuermans implemented priority based...

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_PRIORITY_H
7) #define BLINKER_PRIORITY_H
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

8) 
9) #include <list>
10) #include <string>
11) 
12) #include <BlinkenLib/BlinkenFrame.h>
13) 
14) #include "Directory.h"
15) #include "File.h"
Stefan Schuermans created template class for...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

17) #include "Mgrs.h"
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

18) #include "Module.h"
Stefan Schuermans implemented specialized set...

Stefan Schuermans authored 12 years ago

19) #include "OutStreamFile.h"
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

20) 
21) namespace Blinker {
22) 
23) /// a priority based stream selector
24) class Priority: public Module
25) {
26) protected:
27)   /// input to priority based selector
28)   class Input;
29) 
Stefan Schuermans created template class for...

Stefan Schuermans authored 12 years ago

30)   /// input list tracker
31)   typedef ListTracker<Priority, Input, Directory> InListTracker;
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

32) 
33)   /// input list iterator
Stefan Schuermans fix (reverse) interator typ...

Stefan Schuermans authored 12 years ago

34)   typedef InListTracker::ListRevIt InListIt;
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

35) 
36) public:
37)   /**
38)    * @brief constructor
Stefan Schuermans make modules know their name

Stefan Schuermans authored 12 years ago

39)    * @param[in] name module name
Stefan Schuermans put all managers in one str...

Stefan Schuermans authored 12 years ago

40)    * @param[in] mgrs managers
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

43)   Priority(const std::string &name, Mgrs &mgrs, const Directory &dirBase);
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

44) 
45)   /// virtual destructor
46)   virtual ~Priority();
47) 
48) private:
49)   /// copy constructor disabled
50)   Priority(const Priority &that);
51) 
52)   /// assignment operator disabled
53)   const Priority & operator=(const Priority &that);
54) 
55) public:
56)   /// check for update of configuration
57)   virtual void updateConfig();
58) 
59) protected:
60)   /**
61)    * @brief select specific input (called by inputs)
62)    * @param[in] input input to select
63)    */
64)   void select(const Input *pInput);
65) 
66)   /// select lower priority input (called by inputs)
67)   void selectLower();
68) 
69)   /// send current frame to output stream
70)   void curFrame();
71) 
72) protected:
Stefan Schuermans implemented specialized set...

Stefan Schuermans authored 12 years ago

73)   OutStreamFile m_fileOutStream;  ///< output stream name file
Stefan Schuermans created template class for...

Stefan Schuermans authored 12 years ago

74)   InListTracker m_inListTracker;  ///< input list tracker
Stefan Schuermans implemented specialized set...

Stefan Schuermans authored 12 years ago

75)   InListIt      m_itCurIn;        ///< current input
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

76) }; // class Priority
77) 
78) } // namespace Blinker
79) 
Stefan Schuermans namespace for preprocessor...

Stefan Schuermans authored 12 years ago

80) #endif // #ifndef BLINKER_PRIORITY_H