libwpg: WPGInternalStream.h Source File documentation

- Main Page
- Namespaces
- Classes
- Files

# WPGInternalStream.h

Go to the documentation of this file.

    00001 /* libwpg
    00002  * Copyright (C) 2004-2005 William Lachance (wrlach@gmail.com)
    00003  *
    00004  * This library is free software; you can redistribute it and/or
    00005  * modify it under the terms of the GNU Library General Public
    00006  * License as published by the Free Software Foundation; either
    00007  * version 2 of the License, or (at your option) any later version.
    00008  *
    00009  * This library is distributed in the hope that it will be useful,
    00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00012  * Library General Public License for more details.
    00013  *
    00014  * You should have received a copy of the GNU Library General Public
    00015  * License along with this library; if not, write to the Free Software
    00016  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
    00017  *
    00018  * For further information visit http://libwpg.sourceforge.net
    00019  */
    00020
    00021 /* "This product is not manufactured, approved, or supported by
    00022  * Corel Corporation or Corel Corporation Limited."
    00023  */
    00024
    00025 #ifndef WPGINTERNALSTREAM_H
    00026 #define WPGINTERNALSTREAM_H
    00027 #include <libwpd/WPXStream.h>
    00028
    00029 class WPGInternalInputStream : public WPXInputStream
    00030 {
    00031 public:
    00032         WPGInternalInputStream(const unsigned char *data, const size_t size);
    00033         virtual ~WPGInternalInputStream();
    00034
    00035         virtual bool isOLEStream() { return false; }
    00036         virtual WPXInputStream * getDocumentOLEStream() { return 0; }
    00037
    00038         const virtual uint8_t *read(size_t numBytes, size_t &numBytesRead);
    00039         virtual int seek(long offset, WPX_SEEK_TYPE seekType);
    00040         virtual long tell();
    00041         virtual bool atEOS();
    00042
    00043 private:
    00044         long m_offset;
    00045         const size_t m_size;
    00046         const unsigned char *m_data;
    00047         unsigned char *m_tmpBuf;
    00048         WPGInternalInputStream(const WPGInternalInputStream&);
    00049         WPGInternalInputStream& operator=(const WPGInternalInputStream&);
    00050 };
    00051
    00052 #endif