~drizzle-trunk/drizzle/development

1548.4.103 by Zimin
extract and make options as FormatInfo
1
/*
2
  Copyright (C) 2010 Zimin
3
4
  This program is free software; you can redistribute it and/or
5
  modify it under the terms of the GNU General Public License
6
  as published by the Free Software Foundation; either version 2
7
  of the License, or (at your option) any later version.
8
9
  This program is distributed in the hope that it will be useful,
10
  but WITHOUT ANY WARRANTY; without even the implied warranty of
11
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
  GNU General Public License for more details.
13
14
  You should have received a copy of the GNU General Public License
15
  along with this program; if not, write to the Free Software
16
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17
*/
18
1548.4.120 by Zimin
modify macros to be in line with the change of the filesystem directory name
19
#ifndef PLUGIN_FILESYSTEM_ENGINE_FORMATINFO_H
20
#define PLUGIN_FILESYSTEM_ENGINE_FORMATINFO_H
1548.4.103 by Zimin
extract and make options as FormatInfo
21
1548.4.105 by Zimin
make FormatInfo refactoring work ok.
22
#include <drizzled/message/table.pb.h>
23
1548.4.103 by Zimin
extract and make options as FormatInfo
24
class FormatInfo
25
{
26
public:
27
  FormatInfo();
28
  void parseFromTable(drizzled::message::Table *proto);
29
  bool isFileGiven() const;
30
  bool isRowSeparator(char ch) const;
31
  bool isColSeparator(char ch) const;
1548.4.116 by Zimin
add escaped_by option to filesystem storage engine.
32
  bool isEscapedChar(char ch) const;
1548.4.104 by ziminq
formatinfo refactored
33
  std::string getRowSeparatorHead() const;
34
  std::string getColSeparatorHead() const;
1548.4.106 by Zimin
add support for files such as /proc/meminfo, test cases included.
35
  std::string getColSeparator() const;
1548.4.105 by Zimin
make FormatInfo refactoring work ok.
36
  std::string getFileName() const;
37
  bool isSeparatorModeGeneral() const;
38
  bool isSeparatorModeWeak() const;
1548.4.106 by Zimin
add support for files such as /proc/meminfo, test cases included.
39
  bool isTagFormat() const;
1548.4.105 by Zimin
make FormatInfo refactoring work ok.
40
  static bool validateOption(const std::string &key, const std::string &state);
1548.4.116 by Zimin
add escaped_by option to filesystem storage engine.
41
  static char getEscapedChar(const char ch);
1548.4.103 by Zimin
extract and make options as FormatInfo
42
private:
43
  std::string real_file_name;
44
  std::string row_separator;
45
  std::string col_separator;
1548.4.106 by Zimin
add support for files such as /proc/meminfo, test cases included.
46
  std::string file_format;
1548.4.116 by Zimin
add escaped_by option to filesystem storage engine.
47
  std::string escape;
1548.4.105 by Zimin
make FormatInfo refactoring work ok.
48
  int separator_mode;
1548.4.103 by Zimin
extract and make options as FormatInfo
49
};
50
1548.4.120 by Zimin
modify macros to be in line with the change of the filesystem directory name
51
#endif /* PLUGIN_FILESYSTEM_ENGINE_FORMATINFO_H */