~drizzle-trunk/drizzle/development

1 by brian
clean slate
1
/* Copyright (C) 2000 MySQL AB
2
3
   This program is free software; you can redistribute it and/or modify
4
   it under the terms of the GNU General Public License as published by
5
   the Free Software Foundation; version 2 of the License.
6
7
   This program is distributed in the hope that it will be useful,
8
   but WITHOUT ANY WARRANTY; without even the implied warranty of
9
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10
   GNU General Public License for more details.
11
12
   You should have received a copy of the GNU General Public License
13
   along with this program; if not, write to the Free Software
1802.10.2 by Monty Taylor
Update all of the copyright headers to include the correct address.
14
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
1 by brian
clean slate
15
1095.2.1 by Robert Klahn
Replace typedef struct LINE_BUFFER with class LineBuffer, encapsulating current logic
16
#ifndef CLIENT_LINEBUFFER_H
17
#define CLIENT_LINEBUFFER_H
1 by brian
clean slate
18
1095.2.4 by Robert Klahn
changes from code review feedback
19
#include <vector>
1241.9.1 by Monty Taylor
Removed global.h. Fixed all the headers.
20
#include <sstream>
1095.2.4 by Robert Klahn
changes from code review feedback
21
1095.2.1 by Robert Klahn
Replace typedef struct LINE_BUFFER with class LineBuffer, encapsulating current logic
22
class LineBuffer
1 by brian
clean slate
23
{
1095.2.1 by Robert Klahn
Replace typedef struct LINE_BUFFER with class LineBuffer, encapsulating current logic
24
public:
25
  LineBuffer(uint32_t max_size,FILE *file);
26
1095.2.4 by Robert Klahn
changes from code review feedback
27
  void addString(const std::string &argument);
1095.2.1 by Robert Klahn
Replace typedef struct LINE_BUFFER with class LineBuffer, encapsulating current logic
28
  char *readline();
29
private:
1095.2.2 by Robert Klahn
convert logic to use std::stringstream for buffer
30
  FILE *file;
31
  std::stringstream buffer;
1095.2.4 by Robert Klahn
changes from code review feedback
32
  std::vector<char> line;
1095.2.2 by Robert Klahn
convert logic to use std::stringstream for buffer
33
  uint32_t max_size;
1095.2.4 by Robert Klahn
changes from code review feedback
34
  bool eof;
1095.2.1 by Robert Klahn
Replace typedef struct LINE_BUFFER with class LineBuffer, encapsulating current logic
35
};
1 by brian
clean slate
36
1095.2.1 by Robert Klahn
Replace typedef struct LINE_BUFFER with class LineBuffer, encapsulating current logic
37
#endif /* CLIENT_LINEBUFFER_H */