1 /* libwpg
2 * Copyright (C) 2006 Ariya Hidayat (ariya@kde.org)
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library 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 GNU
12 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02111-1301 USA
18 *
19 * For further information visit http://libwpg.sourceforge.net
20 */
22 /* "This product is not manufactured, approved, or supported by
23 * Corel Corporation or Corel Corporation Limited."
24 */
26 #ifndef __WPGSTREAMIMPLEMENTATION_H__
27 #define __WPGSTREAMIMPLEMENTATION_H__
29 #include "WPGStream.h"
31 namespace libwpg
32 {
34 class WPGFileStreamPrivate;
36 class WPGFileStream: public WPGInputStream
37 {
38 public:
39 WPGFileStream(const char* filename);
40 ~WPGFileStream();
42 virtual unsigned char getc();
43 virtual long read(long n, char* buffer);
44 virtual long tell();
45 virtual void seek(long offset);
46 virtual bool atEnd();
48 virtual bool isOle();
49 virtual WPGInputStream *getWPGOleStream();
51 private:
52 WPGFileStreamPrivate* d;
53 WPGFileStream(const WPGFileStream&); // copy is not allowed
54 WPGFileStream& operator=(const WPGFileStream&); // assignment is not allowed
55 };
57 class WPGMemoryStreamPrivate;
59 class WPGMemoryStream: public WPGInputStream
60 {
61 public:
62 WPGMemoryStream(const char *data, const unsigned int dataSize);
63 ~WPGMemoryStream();
65 virtual unsigned char getc();
66 virtual long read(long n, char* buffer);
67 virtual long tell();
68 virtual void seek(long offset);
69 virtual bool atEnd();
71 virtual bool isOle();
72 virtual WPGInputStream *getWPGOleStream();
74 private:
75 WPGMemoryStreamPrivate* d;
76 WPGMemoryStream(const WPGMemoryStream&); // copy is not allowed
77 WPGMemoryStream& operator=(const WPGMemoryStream&); // assignment is not allowed
78 };
80 } // namespace wpg
82 #endif // __WPGSTREAMIMPLEMENTATION_H__