iodrivers_base
IOListener.hpp
Go to the documentation of this file.
1 #ifndef IODRIVERS_BASE_DRIVER_HPP
2 #define IODRIVERS_BASE_DRIVER_HPP
3 
4 #include <boost/cstdint.hpp>
5 #include <vector>
6 
7 namespace iodrivers_base
8 {
12  class IOListener
13  {
14  public:
15  virtual ~IOListener();
16 
20  virtual void writeData(boost::uint8_t const* data, size_t size) = 0;
23  virtual void readData(boost::uint8_t const* data, size_t size) = 0;
24  };
25 
28  class BufferListener : public IOListener
29  {
30  std::vector<boost::uint8_t> m_writeBuffer;
31  std::vector<boost::uint8_t> m_readBuffer;
32  public:
33  std::vector<boost::uint8_t> flushRead();
34  std::vector<boost::uint8_t> flushWrite();
35 
39  virtual void writeData(boost::uint8_t const* data, size_t size);
42  virtual void readData(boost::uint8_t const* data, size_t size);
43  };
44 }
45 
46 #endif
47 
std::vector< boost::uint8_t > flushRead()
Definition: IOListener.cpp:8
std::vector< boost::uint8_t > flushWrite()
Definition: IOListener.cpp:14
virtual void writeData(boost::uint8_t const *data, size_t size)=0
virtual ~IOListener()
Definition: IOListener.cpp:6
virtual void readData(boost::uint8_t const *data, size_t size)=0
virtual void writeData(boost::uint8_t const *data, size_t size)
Definition: IOListener.cpp:24
Definition: IOListener.hpp:28
Definition: IOListener.hpp:12
virtual void readData(boost::uint8_t const *data, size_t size)
Definition: IOListener.cpp:30