WPXMemoryStream.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2 /* libwpd
3  * Copyright (C) 2004-2005 William Lachance (wrlach@gmail.com)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
18  *
19  * For further information visit http://libwpd.sourceforge.net
20  */
21 
22 /* "This product is not manufactured, approved, or supported by
23  * Corel Corporation or Corel Corporation Limited."
24  */
25 
26 #ifndef MEMORYSTREAM_H
27 #define MEMORYSTREAM_H
28 #include "WPXStream.h"
29 
31 {
32 public:
33  WPXMemoryInputStream(unsigned char *data, unsigned long size);
34  virtual ~WPXMemoryInputStream();
35 
36  virtual bool isOLEStream()
37  {
38  return false;
39  }
40  virtual WPXInputStream *getDocumentOLEStream(const char *)
41  {
42  return 0;
43  }
44 
45  virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead);
46  virtual int seek(long offset, WPX_SEEK_TYPE seekType);
47  virtual long tell();
48  virtual bool atEOS();
49  virtual unsigned long getSize() const
50  {
51  return m_size;
52  }
53 
54 private:
55  long m_offset;
56  unsigned long m_size;
57  unsigned char *m_data;
60 };
61 
62 #endif
63 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */

Generated for libwpd by doxygen 1.8.1.2