Code

Cleaned up virtual destructor problem and compile warnings.
[inkscape.git] / src / extension / internal / libwpg / WPGStreamImplementation.h
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();
41         
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__