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: */
Generated for libvisio by
doxygen
1.8.3