~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/filesystem_engine/transparent_file.h

  • Committer: Brian Aker
  • Date: 2009-10-15 00:22:33 UTC
  • mto: (1183.1.11 merge)
  • mto: This revision was merged to the branch mainline in revision 1198.
  • Revision ID: brian@gaz-20091015002233-fa4ao2mbc67wls91
First pass of information engine. OMG, ponies... is it so much easier to
deal with creating and engine.

The list table iterator though... its ass, needs to go. We should also
abstract out share. Very few engines need a custom one. Just say'in

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (C) 2003 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
14
 
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
15
 
 
16
 
#ifndef PLUGIN_FILESYSTEM_ENGINE_TRANSPARENT_FILE_H
17
 
#define PLUGIN_FILESYSTEM_ENGINE_TRANSPARENT_FILE_H
18
 
 
19
 
#include <sys/types.h>
20
 
#include <sys/stat.h>
21
 
 
22
 
class TransparentFile
23
 
{
24
 
  int filedes;
25
 
  unsigned char *buff;  /* in-memory window to the file or mmaped area */
26
 
  /* current window sizes */
27
 
  off_t lower_bound;
28
 
  off_t upper_bound;
29
 
  uint32_t buff_size;
30
 
 
31
 
public:
32
 
 
33
 
  TransparentFile();
34
 
  ~TransparentFile();
35
 
 
36
 
  void init_buff(int filedes_arg);
37
 
  unsigned char *ptr();
38
 
  off_t start();
39
 
  off_t end();
40
 
  char get_value (off_t offset);
41
 
  off_t read_next();
42
 
};
43
 
 
44
 
#endif /* PLUGIN_FILESYSTEM_ENGINE_TRANSPARENT_FILE_H */