- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

VSDInternalStream.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* libvisio
3 * Version: MPL 1.1 / GPLv2+ / LGPLv2+
4 *
5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License or as specified alternatively below. You may obtain a copy of
8 * the License at http://www.mozilla.org/MPL/
9 *
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 * for the specific language governing rights and limitations under the
13 * License.
14 *
15 * Major Contributor(s):
16 * Copyright (C) 2011 Fridrich Strba <fridrich.strba@bluewin.ch>
17 * Copyright (C) 2011 Eilidh McAdam <tibbylickle@gmail.com>
18 *
19 *
20 * All Rights Reserved.
21 *
22 * For minor contributions see the git repository.
23 *
24 * Alternatively, the contents of this file may be used under the terms of
25 * either the GNU General Public License Version 2 or later (the "GPLv2+"), or
26 * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
27 * in which case the provisions of the GPLv2+ or the LGPLv2+ are applicable
28 * instead of those above.
29 */
30
31
32 #ifndef __VSDINTERNALSTREAM_H__
33 #define __VSDINTERNALSTREAM_H__
34
35 #include <stddef.h>
36 #include <vector>
37 #include <libwpd-stream/libwpd-stream.h>
38
39 class VSDInternalStream : public WPXInputStream
40 {
41 public:
42 VSDInternalStream(WPXInputStream *input, unsigned long size, bool compressed=false);
43 VSDInternalStream(const std::vector<unsigned char> &buffer);
44 VSDInternalStream(const unsigned char *buffer, size_t bufferLength);
45 ~VSDInternalStream() {}
46
47 bool isOLEStream()
48 {
49 return false;
50 }
51 WPXInputStream *getDocumentOLEStream(const char *)
52 {
53 return 0;
54 }
55
56 const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead);
57 int seek(long offset, WPX_SEEK_TYPE seekType);
58 long tell();
59 bool atEOS();
60 unsigned long getSize() const
61 {
62 return m_buffer.size();
63 };
64
65 private:
66 volatile long m_offset;
67 std::vector<unsigned char> m_buffer;
68 VSDInternalStream(const VSDInternalStream &);
69 VSDInternalStream &operator=(const VSDInternalStream &);
70 };
71
72 #endif
73 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
VSDInternalStream::~VSDInternalStream
~VSDInternalStream()
Definition: VSDInternalStream.h:45
VSDInternalStream::isOLEStream
bool isOLEStream()
Definition: VSDInternalStream.h:47
VSDInternalStream::m_buffer
std::vector< unsigned char > m_buffer
Definition: VSDInternalStream.h:67
VSDInternalStream::getDocumentOLEStream
WPXInputStream * getDocumentOLEStream(const char *)
Definition: VSDInternalStream.h:51
VSDInternalStream::operator=
VSDInternalStream & operator=(const VSDInternalStream &)
VSDInternalStream::getSize
unsigned long getSize() const
Definition: VSDInternalStream.h:60
VSDInternalStream::tell
long tell()
Definition: VSDInternalStream.cpp:163
VSDInternalStream::atEOS
bool atEOS()
Definition: VSDInternalStream.cpp:168
VSDInternalStream::read
const unsigned char * read(unsigned long numBytes, unsigned long &numBytesRead)
Definition: VSDInternalStream.cpp:117
VSDInternalStream::seek
int seek(long offset, WPX_SEEK_TYPE seekType)
Definition: VSDInternalStream.cpp:142
VSDInternalStream::m_offset
volatile long m_offset
Definition: VSDInternalStream.h:63
VSDInternalStream::VSDInternalStream
VSDInternalStream(WPXInputStream *input, unsigned long size, bool compressed=false)
Definition: VSDInternalStream.cpp:52
VSDInternalStream
Definition: VSDInternalStream.h:39