baf52dacd8003c3ac6d43bfef7073aae9e871e3b
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 "Device.h"
14) #include "Directory.h"
15) #include "File.h"
16) #include "InStreamFile.h"
Stefan Schuermans put all managers in one str...

Stefan Schuermans authored 12 years ago

17) #include "Mgrs.h"
Stefan Schuermans implemented output module t...

Stefan Schuermans authored 12 years ago

18) #include "Module.h"
19) #include "NameFile.h"
20) #include "Protocol.h"
21) #include "ProtocolFile.h"
22) #include "SerCfgFile.h"
23) #include "StreamRecv.h"
Stefan Schuermans added missing header file

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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
Stefan Schuermans put all managers in one str...

Stefan Schuermans authored 12 years ago

35)    * @param[in] mgrs managers
Stefan Schuermans implemented output module t...

Stefan Schuermans authored 12 years ago

36)    * @param[in] dirBase base directory
37)    */
Stefan Schuermans put all managers in one str...

Stefan Schuermans authored 12 years ago

38)   Output(Mgrs &mgrs, const Directory &dirBase);
Stefan Schuermans implemented output module t...

Stefan Schuermans authored 12 years ago

39) 
40)   /// virtual destructor
41)   virtual ~Output();
42) 
43) private:
44)   /// copy constructor disabled
45)   Output(const Output &that);
46) 
47)   /// assignment operator disabled
48)   const Output & operator=(const Output &that);
49) 
50) public:
51)   /// check for update of configuration
52)   virtual void updateConfig();
53) 
54)   /**
55)    * @brief set current frame
56)    * @param[in] stream stream name
57)    * @param[in] pFrame current frame (NULL for none)
58)    */
59)   virtual void setFrame(const std::string &stream, stBlinkenFrame *pFrame);
60) 
61)   /// callback when requested time reached
62)   virtual void timeCall();
63) 
64) protected:
65)   /// (re-)read protocol
66)   void readProto();
67) 
68)   /// open device
69)   void openDevice();
70) 
71)   /// close device
72)   void closeDevice();
73) 
74)   /// output current frame to device
75)   void outputFrame();
76) 
77) protected:
78)   InStreamFile m_fileInStream; ///< input stream name file
79)   ProtocolFile m_fileProtocol; ///< protocol file
Stefan Schuermans typo

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

87) #endif // #ifndef BLINKER_OUTPUT_H