WPSOLEObject.h
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2/* libwps
3 * Version: MPL 2.0 / LGPLv2.1+
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * Major Contributor(s):
10 * Copyright (C) 2009, 2011 Alonso Laurent (alonso@loria.fr)
11 * Copyright (C) 2006, 2007 Andrew Ziem
12 * Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch)
13 * Copyright (C) 2004 Marc Maurer (uwog@uwog.net)
14 * Copyright (C) 2003-2005 William Lachance (william.lachance@sympatico.ca)
15 *
16 * For minor contributions see the git repository.
17 *
18 * Alternatively, the contents of this file may be used under the terms
19 * of the GNU Lesser General Public License Version 2.1 or later
20 * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
21 * applicable instead of those above.
22 *
23 * For further information visit http://libwps.sourceforge.net
24 */
25
26/*
27 */
28
29#ifndef WPS_OLE_OBJECT_H
30#define WPS_OLE_OBJECT_H
31
32#include <string>
33
34#include <librevenge-stream/librevenge-stream.h>
35
36#include "libwps_internal.h"
37#include "libwps_tools_win.h"
38
41 class WPSOLEObject
42{
43 public:
45 WPSOLEObject() {}
46
48 ~WPSOLEObject() {}
49
51 static bool readMetafile(std::shared_ptr<WPSStream> stream, WPSEmbeddedObject &object,
52 long endPos=-1, bool strict=false);
54 static bool readOLE(std::shared_ptr<WPSStream> stream, WPSEmbeddedObject &object, long endPos=-1);
58 static bool readWMF(std::shared_ptr<WPSStream> stream, WPSEmbeddedObject &object,long endPos=-1);
59
60 protected:
62 static bool readString(std::shared_ptr<WPSStream> stream, std::string &name, long endPos);
64 static bool checkIsWMF(std::shared_ptr<WPSStream> stream, long endPos);
65
67 static bool readEmbeddedOLE(std::shared_ptr<WPSStream> stream, WPSEmbeddedObject &object, long endPos);
69 static bool readStaticOLE(std::shared_ptr<WPSStream> stream, WPSEmbeddedObject &object, long endPos);
70};
71
72#endif
73/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
WPSOLEObject::~WPSOLEObject
~WPSOLEObject()
destructor
Definition WPSOLEObject.h:48
WPSOLEObject::readStaticOLE
static bool readStaticOLE(std::shared_ptr< WPSStream > stream, WPSEmbeddedObject &object, long endPos)
try to read a static OLE: 0x0105 0000 0[35]00 ...
Definition WPSOLEObject.cpp:265
WPSOLEObject::readString
static bool readString(std::shared_ptr< WPSStream > stream, std::string &name, long endPos)
try to read a stream
Definition WPSOLEObject.cpp:340
WPSOLEObject::checkIsWMF
static bool checkIsWMF(std::shared_ptr< WPSStream > stream, long endPos)
check if a wmf header
Definition WPSOLEObject.cpp:366
WPSOLEObject::readEmbeddedOLE
static bool readEmbeddedOLE(std::shared_ptr< WPSStream > stream, WPSEmbeddedObject &object, long endPos)
try to read a embedded OLE: 0x0105 0000 0200 ...
Definition WPSOLEObject.cpp:190
WPSOLEObject::readOLE
static bool readOLE(std::shared_ptr< WPSStream > stream, WPSEmbeddedObject &object, long endPos=-1)
try to read a OLE: 0x0105 ...
Definition WPSOLEObject.cpp:139
WPSOLEObject::readWMF
static bool readWMF(std::shared_ptr< WPSStream > stream, WPSEmbeddedObject &object, long endPos=-1)
try to read a wmf file: 0x0[12]00 0xXX00(with XX>=9)
Definition WPSOLEObject.cpp:102
WPSOLEObject::WPSOLEObject
WPSOLEObject()
constructor knowing the file stream
Definition WPSOLEObject.h:45
WPSOLEObject::readMetafile
static bool readMetafile(std::shared_ptr< WPSStream > stream, WPSEmbeddedObject &object, long endPos=-1, bool strict=false)
try to read a metafile data
Definition WPSOLEObject.cpp:43
libwps_internal.h
libwps_tools_win.h
WPSEmbeddedObject
small class use to define a embedded object
Definition libwps_internal.h:1077