4d58e14f3489d9b4dbb83e2057e7a2277ce9a8a2
Stefan Schuermans implemented output module t...

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_OUTPUT_H
7) #define BLINKER_OUTPUT_H
Stefan Schuermans implemented output module t...

Stefan Schuermans authored 12 years ago

8) 
9) #include <string>
10) 
11) #include <BlinkenLib/BlinkenFrame.h>
12) 
13) #include "CallMgr.h"
14) #include "Device.h"
15) #include "Directory.h"
16) #include "File.h"
17) #include "InStreamFile.h"
18) #include "Module.h"
19) #include "NameFile.h"
20) #include "Protocol.h"
21) #include "ProtocolFile.h"
22) #include "SerCfgFile.h"
23) #include "StreamMgr.h"
24) #include "StreamRecv.h"
Stefan Schuermans added missing header file

Stefan Schuermans authored 12 years ago

25) #include "Time.h"
Stefan Schuermans implemented output module t...

Stefan Schuermans authored 12 years ago

26) #include "TimeCallee.h"
27) 
28) namespace Blinker {
29) 
30) /// output of a stream to a device
31) class Output: public Module, public StreamRecv, public TimeCallee
32) {
33) public:
34)   /**
35)    * @brief constructor
36)    * @param[in] callMgr callback manager
37)    * @param[in] streamMgr stream manager
38)    * @param[in] dirBase base directory
39)    */
40)   Output(CallMgr &callMgr, StreamMgr &streamMgr, const Directory &dirBase);
41) 
42)   /// virtual destructor
43)   virtual ~Output();
44) 
45) private:
46)   /// copy constructor disabled
47)   Output(const Output &that);
48) 
49)   /// assignment operator disabled
50)   const Output & operator=(const Output &that);
51) 
52) public:
53)   /// check for update of configuration
54)   virtual void updateConfig();
55) 
56)   /**
57)    * @brief set current frame
58)    * @param[in] stream stream name
59)    * @param[in] pFrame current frame (NULL for none)
60)    */
61)   virtual void setFrame(const std::string &stream, stBlinkenFrame *pFrame);
62) 
63)   /// callback when requested time reached
64)   virtual void timeCall();
65) 
66) protected:
67)   /// (re-)read protocol
68)   void readProto();
69) 
70)   /// open device
71)   void openDevice();
72) 
73)   /// close device
74)   void closeDevice();
75) 
76)   /// output current frame to device
77)   void outputFrame();
78) 
79) protected:
80)   InStreamFile m_fileInStream; ///< input stream name file
81)   ProtocolFile m_fileProtocol; ///< protocol file
Stefan Schuermans typo

Stefan Schuermans authored 12 years ago

82)   NameFile     m_fileDevice;   ///< name file containing name of device
Stefan Schuermans implemented output module t...

Stefan Schuermans authored 12 years ago

83)   SerCfgFile   m_fileSerCfg;   ///< serial port configuration file
84)   Device       *m_pDevice;     ///< device to output to
85) }; // class Output
86) 
87) } // namespace Blinker
88) 
Stefan Schuermans namespace for preprocessor...

Stefan Schuermans authored 12 years ago

89) #endif // #ifndef BLINKER_OUTPUT_H