1 #ifndef IODRIVERS_BASE_BUS_HH 2 #define IODRIVERS_BASE_BUS_HH 4 #include <iodrivers_base/Driver.hpp> 7 #include <boost/thread/recursive_mutex.hpp> 32 virtual int readPacket(uint8_t* buffer,
int buffer_size,
int packet_timeout,
int first_byte_timeout=-1);
36 virtual int extractPacket(uint8_t
const* buffer,
size_t buffer_size)
const = 0;
40 bool writePacket(uint8_t
const* buffer,
int bufsize,
int timeout);
63 virtual void packedReady(uint8_t
const* buffer,
size_t size)=0;
68 virtual int readPacket(uint8_t* buffer,
int buffer_size,
int packet_timeout,
int first_byte_timeout=-1);
79 Bus(
int max_packet_size,
bool extract_last =
false);
80 int readPacket(uint8_t* buffer,
int buffer_size,
int packet_timeout,
int first_byte_timeout=-1,
Parser *parser=0);
81 void addParser(
Parser *parser);
82 void removeParser(
Parser *parser);
83 int extractPacket(uint8_t
const* buffer,
size_t buffer_size)
const;
84 bool writePacket(uint8_t
const* buffer,
int buffer_size,
int timeout);
boost::recursive_mutex mutex
Definition: Bus.hpp:88
Parser * caller
Definition: Bus.hpp:87
Definition: Driver.hpp:69
virtual int readPacket(uint8_t *buffer, int buffer_size, int packet_timeout, int first_byte_timeout=-1)
Definition: Bus.cpp:13
Parser(Bus *bus)
Definition: Bus.cpp:8
virtual int extractPacket(uint8_t const *buffer, size_t buffer_size) const =0
Bus * bus
Definition: Bus.hpp:42
virtual ~Parser()
Definition: Bus.hpp:24
bool writePacket(uint8_t const *buffer, int bufsize, int timeout)
Definition: Bus.cpp:17
std::list< Parser * > parser
Definition: Bus.hpp:86