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