File: Connection.h

package info (click to toggle)
urg 0.8.11-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 3,212 kB
  • ctags: 1,605
  • sloc: sh: 10,014; cpp: 6,459; ansic: 2,419; makefile: 203
file content (140 lines) | stat: -rw-r--r-- 2,291 bytes parent folder | download | duplicates (2)
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 */