趣味で作ってるロボット用ソフトウェア
 All Classes Files Functions Enumerations Enumerator Friends Pages
Log_recorder.h
Go to the documentation of this file.
1 #ifndef HRK_LOG_RECORDER_H
2 #define HRK_LOG_RECORDER_H
3 
9 #include <memory>
10 #include <string>
11 #include "Connection.h"
12 
13 
14 namespace hrk
15 {
16  class Log_recorder : public Connection
17  {
18  public:
19  typedef enum {
20  Play,
21  Record,
22  } role_t;
23 
24  Log_recorder();
25  ~Log_recorder();
26 
37  bool open(Connection* connection, const std::string& base_name,
38  const role_t role = Record);
39 
40  const char* what() const;
41  bool change_baudrate(long baudrate);
42  bool is_open() const;
43  void close();
44  int write(const char* data, size_t data_size);
45  int read(char* data, size_t max_data_size, int timeout);
46  void ungetc(int ch);
47 
48  private:
49  Log_recorder(const Log_recorder& rhs);
50  Log_recorder& operator = (const Log_recorder& rhs);
51 
52  struct pImpl;
53  std::auto_ptr<pImpl> pimpl;
54  };
55 }
56 
57 #endif
接続のインターフェース
bool is_open() const
受信
Definition: Log_recorder.cpp:163
bool open(Connection *connection, const std::string &base_name, const role_t role=Record)
扱う connection を登録する
Definition: Log_recorder.cpp:135
void ungetc(int ch)
1文字だけ受信バッファに書き戻す
Definition: Log_recorder.cpp:208
接続のインターフェース
Definition: Connection.h:21
int read(char *data, size_t max_data_size, int timeout)
データの受信
Definition: Log_recorder.cpp:198
const char * what() const
状態を示すメッセージを返す
Definition: Log_recorder.cpp:143
void close()
接続を閉じる
Definition: Log_recorder.cpp:173
bool change_baudrate(long baudrate)
ボーレートの変更
Definition: Log_recorder.cpp:153
Definition: Log_recorder.h:16
int write(const char *data, size_t data_size)
データの送信
Definition: Log_recorder.cpp:188