78235d47a79fe24a61a4d834939e6e6dfe5b8571
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) 
6) #ifndef PRIORITY_H
7) #define PRIORITY_H
8) 
9) #include <list>
10) #include <string>
11) 
12) #include <BlinkenLib/BlinkenFrame.h>
13) 
14) #include "CallMgr.h"
15) #include "Directory.h"
16) #include "File.h"
Stefan Schuermans created template class for...

Stefan Schuermans authored 12 years ago

17) #include "ListTracker.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) #include "StreamMgr.h"
21) 
22) namespace Blinker {
23) 
24) /// a priority based stream selector
25) class Priority: public Module
26) {
27) protected:
28)   /// input to priority based selector
29)   class Input;
30) 
Stefan Schuermans created template class for...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

76)   InListIt      m_itCurIn;        ///< current input