1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#ifndef QRK_SERIAL_DEVICE_H
#define QRK_SERIAL_DEVICE_H
/*!
\file
\brief VAʐM
\author Satofumi KAMIMURA
$Id: SerialDevice.h 1428 2009-10-20 05:08:16Z satofumi $
*/
#include "Connection.h"
#include <memory>
namespace qrk
{
/*!
\brief VAʐMNX
*/
class SerialDevice : public Connection
{
public:
enum {
DefaultBaudrate = 115200,
};
SerialDevice(void);
~SerialDevice(void);
const char* what(void) const;
bool connect(const char* device, long baudrate = DefaultBaudrate);
void disconnect(void);
bool setBaudrate(long baudrate);
long baudrate(void) const;
bool isConnected(void) const;
int send(const char* data, size_t count);
int receive(char* data, size_t count, int timeout);
size_t size(void) const;
void flush(void);
void clear(void);
void ungetc(const char ch);
private:
SerialDevice(const SerialDevice& rhs);
SerialDevice& operator = (const SerialDevice& rhs);
struct pImpl;
const std::auto_ptr<pImpl> pimpl;
};
}
#endif /* !QRK_SERIAL_DEVICE_H */
|