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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
#ifndef QRK_CONNECTION_H
#define QRK_CONNECTION_H
/*!
\file
\brief ʐMC^[tF[X
\author Satofumi KAMIMURA
$Id: Connection.h 1302 2009-09-15 21:51:30Z satofumi $
*/
#include <cstddef>
namespace qrk
{
enum {
ReceiveTimeout = -1,
ErrorLastIndex = -2,
};
/*!
\brief ʐMC^[tF[X
*/
class Connection
{
public:
virtual ~Connection(void) {}
/*!
\brief ԂԂ
\return Ԃ
*/
virtual const char* what(void) const = 0;
/*!
\brief foCXւ̐ڑ
\param[in] device ڑfoCX
\param[in] baudrate ڑ{[[g
\retval true
\retval false s
*/
virtual bool connect(const char* device, long baudrate) = 0;
/*!
\brief ؒf
*/
virtual void disconnect(void) = 0;
/*!
\brief {[[g̕ύX
\param[in] baudrate {[[g
\retval 0
\retval < 0 G[
*/
virtual bool setBaudrate(long baudrate) = 0;
/*!
\brief {[[gԂ
\retval {[[g
\attention SerialDevice ł̂ݗL
*/
virtual long baudrate(void) const = 0;
/*!
\brief ڑԂԂ
\retval true ڑ
\retval false ؒf
*/
virtual bool isConnected(void) const = 0;
/*!
\brief M
\param[in] data Mf[^
\param[in] count MoCg
\return MoCg
*/
virtual int send(const char* data, size_t count) = 0;
/*!
\brief M
\param[out] data Mpobt@
\param[in] count Mobt@̍őTCY
\param[in] timeout ^CAEg [msec]
*/
virtual int receive(char* data, size_t count, int timeout) = 0;
/*!
\brief Mς݃f[^̃oCgԂ
\return Mς݃f[^̃oCg
*/
virtual size_t size(void) const = 0;
/*!
\brief obt@̓eIɏo͂
*/
virtual void flush(void) = 0;
/*!
\brief Mf[^̃NA
Mobt@AMς݃f[^NA
*/
virtual void clear(void) = 0;
/*!
\brief P߂
\param[in] ch ߂
*/
virtual void ungetc(const char ch) = 0;
};
}
#endif /* !QRK_CONNECTION_H */
|