~vibhavp/ubuntu/saucy/urg/merge-from-debian

« back to all changes in this revision

Viewing changes to include/cpp/Connection.h

  • Committer: Bazaar Package Importer
  • Author(s): Albert Huang
  • Date: 2010-03-30 01:43:55 UTC
  • Revision ID: james.westby@ubuntu.com-20100330014355-hz6mntlogs1uep7u
Tags: upstream-0.8.11
Import upstream version 0.8.11

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef QRK_CONNECTION_H
 
2
#define QRK_CONNECTION_H
 
3
 
 
4
/*!
 
5
  \file
 
6
  \brief �ʐM�C���^�[�t�F�[�X
 
7
 
 
8
  \author Satofumi KAMIMURA
 
9
 
 
10
  $Id: Connection.h 1302 2009-09-15 21:51:30Z satofumi $
 
11
*/
 
12
 
 
13
#include <cstddef>
 
14
 
 
15
 
 
16
namespace qrk
 
17
{
 
18
  enum {
 
19
    ReceiveTimeout = -1,
 
20
    ErrorLastIndex = -2,
 
21
  };
 
22
 
 
23
  /*!
 
24
    \brief �ʐM�C���^�[�t�F�[�X
 
25
  */
 
26
  class Connection
 
27
  {
 
28
  public:
 
29
    virtual ~Connection(void) {}
 
30
 
 
31
 
 
32
    /*!
 
33
      \brief ������Ԃ�Ԃ�
 
34
 
 
35
      \return ������Ԃ�����������
 
36
    */
 
37
    virtual const char* what(void) const = 0;
 
38
 
 
39
 
 
40
    /*!
 
41
      \brief �f�o�C�X�ւ̐ڑ�
 
42
 
 
43
      \param[in] device �ڑ��f�o�C�X��
 
44
      \param[in] baudrate �ڑ��{�[���[�g
 
45
 
 
46
      \retval true ����
 
47
      \retval false ���s
 
48
    */
 
49
    virtual bool connect(const char* device, long baudrate) = 0;
 
50
 
 
51
 
 
52
    /*!
 
53
      \brief �ؒf
 
54
    */
 
55
    virtual void disconnect(void) = 0;
 
56
 
 
57
 
 
58
    /*!
 
59
      \brief �{�[���[�g�̕ύX
 
60
 
 
61
      \param[in] baudrate �{�[���[�g
 
62
 
 
63
      \retval 0 ����
 
64
      \retval < 0 �G���[
 
65
    */
 
66
    virtual bool setBaudrate(long baudrate) = 0;
 
67
 
 
68
 
 
69
    /*!
 
70
      \brief �{�[���[�g��Ԃ�
 
71
 
 
72
      \retval �{�[���[�g
 
73
 
 
74
      \attention SerialDevice �ł̂ݗL��
 
75
    */
 
76
    virtual long baudrate(void) const = 0;
 
77
 
 
78
 
 
79
    /*!
 
80
      \brief �ڑ���Ԃ�Ԃ�
 
81
 
 
82
      \retval true �ڑ���
 
83
      \retval false �ؒf��
 
84
    */
 
85
    virtual bool isConnected(void) const = 0;
 
86
 
 
87
 
 
88
    /*!
 
89
      \brief ���M
 
90
 
 
91
      \param[in] data ���M�f�[�^
 
92
      \param[in] count ���M�o�C�g��
 
93
 
 
94
      \return ���M�����o�C�g��
 
95
    */
 
96
    virtual int send(const char* data, size_t count) = 0;
 
97
 
 
98
 
 
99
    /*!
 
100
      \brief ��M
 
101
 
 
102
      \param[out] data ��M�p�o�b�t�@
 
103
      \param[in] count ��M�o�b�t�@�̍ő�T�C�Y
 
104
      \param[in] timeout �^�C���A�E�g���� [msec]
 
105
    */
 
106
    virtual int receive(char* data, size_t count, int timeout) = 0;
 
107
 
 
108
 
 
109
    /*!
 
110
      \brief ��M�ς݃f�[�^�̃o�C�g����Ԃ�
 
111
 
 
112
      \return ��M�ς݃f�[�^�̃o�C�g��
 
113
    */
 
114
    virtual size_t size(void) const = 0;
 
115
 
 
116
 
 
117
    /*!
 
118
      \brief �o�b�t�@�̓��e�������I�ɏo�͂���
 
119
    */
 
120
    virtual void flush(void) = 0;
 
121
 
 
122
 
 
123
    /*!
 
124
      \brief ����M�f�[�^�̃N���A
 
125
 
 
126
      ���M�o�b�t�@�A��M�ς݃f�[�^���N���A����
 
127
    */
 
128
    virtual void clear(void) = 0;
 
129
 
 
130
 
 
131
    /*!
 
132
      \brief �P���������߂�
 
133
 
 
134
      \param[in] ch �����߂�����
 
135
    */
 
136
    virtual void ungetc(const char ch) = 0;
 
137
  };
 
138
}
 
139
 
 
140
#endif /* !QRK_CONNECTION_H */