BlinkenArea - GitList
Repositories
Blog
Wiki
Blinker
Code
Commits
Branches
Tags
Search
Tree:
2587f12
Branches
Tags
master
Blinker
src
noarch
Output.h
implemented output module to output stream to character device
Stefan Schuermans
commited
2587f12
at 2011-12-11 21:52:28
Output.h
Blame
History
Raw
/* Blinker Copyright 2011 Stefan Schuermans <stefan@blinkenarea.org> Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html a blinkenarea.org project */ #ifndef OUTPUT_H #define OUTPUT_H #include <string> #include <BlinkenLib/BlinkenFrame.h> #include "CallMgr.h" #include "Device.h" #include "Directory.h" #include "File.h" #include "InStreamFile.h" #include "Module.h" #include "NameFile.h" #include "Protocol.h" #include "ProtocolFile.h" #include "SerCfgFile.h" #include "StreamMgr.h" #include "StreamRecv.h" #include "TimeCallee.h" namespace Blinker { /// output of a stream to a device class Output: public Module, public StreamRecv, public TimeCallee { public: /** * @brief constructor * @param[in] callMgr callback manager * @param[in] streamMgr stream manager * @param[in] dirBase base directory */ Output(CallMgr &callMgr, StreamMgr &streamMgr, const Directory &dirBase); /// virtual destructor virtual ~Output(); private: /// copy constructor disabled Output(const Output &that); /// assignment operator disabled const Output & operator=(const Output &that); public: /// check for update of configuration virtual void updateConfig(); /** * @brief set current frame * @param[in] stream stream name * @param[in] pFrame current frame (NULL for none) */ virtual void setFrame(const std::string &stream, stBlinkenFrame *pFrame); /// callback when requested time reached virtual void timeCall(); protected: /// (re-)read protocol void readProto(); /// open device void openDevice(); /// close device void closeDevice(); /// output current frame to device void outputFrame(); protected: InStreamFile m_fileInStream; ///< input stream name file ProtocolFile m_fileProtocol; ///< protocol file NameFile m_fileDevice; ///< name file containning name of device SerCfgFile m_fileSerCfg; ///< serial port configuration file Device *m_pDevice; ///< device to output to }; // class Output } // namespace Blinker #endif // #ifndef OUTPUT_H