MWAWDocument.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; c-default-style: "k&r"; indent-tabs-mode: nil; tab-width: 2; c-basic-offset: 2 -*- */
2 
3 /* libmwaw
4 * Version: MPL 2.0 / LGPLv2+
5 *
6 * The contents of this file are subject to the Mozilla Public License Version
7 * 2.0 (the "License"); you may not use this file except in compliance with
8 * the License or as specified alternatively below. You may obtain a copy of
9 * the License at http://www.mozilla.org/MPL/
10 *
11 * Software distributed under the License is distributed on an "AS IS" basis,
12 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 * for the specific language governing rights and limitations under the
14 * License.
15 *
16 * Major Contributor(s):
17 * Copyright (C) 2002 William Lachance (wrlach@gmail.com)
18 * Copyright (C) 2002,2004 Marc Maurer (uwog@uwog.net)
19 * Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch)
20 * Copyright (C) 2006, 2007 Andrew Ziem
21 * Copyright (C) 2011, 2012 Alonso Laurent (alonso@loria.fr)
22 *
23 *
24 * All Rights Reserved.
25 *
26 * For minor contributions see the git repository.
27 *
28 * Alternatively, the contents of this file may be used under the terms of
29 * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
30 * in which case the provisions of the LGPLv2+ are applicable
31 * instead of those above.
32 */
33 
39 #ifndef MWAWDOCUMENT_HXX
40 #define MWAWDOCUMENT_HXX
41 
42 #ifdef _WINDLL
43 # ifdef BUILD_MWAW
44 # define MWAWLIB _declspec(dllexport)
45 # else
46 # define MWAWLIB _declspec(dllimport)
47 # endif
48 #else // !DLL_EXPORT
49 # ifdef LIBMWAW_VISIBILITY
50 # define MWAWLIB __attribute__((visibility("default")))
51 # else
52 # define MWAWLIB
53 # endif
54 #endif
55 
56 namespace librevenge
57 {
58 class RVNGBinaryData;
59 class RVNGDrawingInterface;
60 class RVNGPresentationInterface;
61 class RVNGSpreadsheetInterface;
62 class RVNGTextInterface;
63 class RVNGInputStream;
64 }
65 
70 {
71 public:
73  enum Confidence {
78  };
80  enum Kind {
88  };
90  enum Result {
97  };
99  enum Type {
161 
171 
200 
201  /* FORMAT TO ADD:
202  PublishIt, tools to create SlideShow, complexity probably medium-hard
203  */
204  };
205 
214  static MWAWLIB Confidence isFileFormatSupported(librevenge::RVNGInputStream *input, Type &type, Kind &kind);
215 
216  // ------------------------------------------------------------
217  // the different main parsers
218  // ------------------------------------------------------------
219 
228  static MWAWLIB Result parse(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *documentInterface, char const *password=nullptr);
229 
239  static MWAWLIB Result parse(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *documentInterface, char const *password=nullptr);
240 
250  static MWAWLIB Result parse(librevenge::RVNGInputStream *input, librevenge::RVNGPresentationInterface *documentInterface, char const *password=nullptr);
251 
261  static MWAWLIB Result parse(librevenge::RVNGInputStream *input, librevenge::RVNGSpreadsheetInterface *documentInterface, char const *password=nullptr);
262 
263  // ------------------------------------------------------------
264  // decoders of the embedded zones created by libmwaw
265  // ------------------------------------------------------------
266 
276  static MWAWLIB bool decodeGraphic(librevenge::RVNGBinaryData const &binary, librevenge::RVNGDrawingInterface *documentInterface);
277 
288  static MWAWLIB bool decodeSpreadsheet(librevenge::RVNGBinaryData const &binary, librevenge::RVNGSpreadsheetInterface *documentInterface);
289 
299  static MWAWLIB bool decodeText(librevenge::RVNGBinaryData const &binary, librevenge::RVNGTextInterface *documentInterface);
300 };
301 
302 #endif /* MWAWDOCUMENT_HXX */
303 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
Cricket Draw: v1.0.1 and v1.1.1.
Definition: MWAWDocument.hxx:186
MacDraw: v0-v1.
Definition: MWAWDocument.hxx:124
TeachText/SimpleText.
Definition: MWAWDocument.hxx:152
Tex-Edit (v2)
Definition: MWAWDocument.hxx:153
Wingz (v1.1)
Definition: MWAWDocument.hxx:155
Z-Write (v1.3)
Definition: MWAWDocument.hxx:159
Used for Apple's Pict file: see below.
Definition: MWAWDocument.hxx:163
Used for MouseWrite: see below.
Definition: MWAWDocument.hxx:168
ClarisWorks/AppleWorks: all versions, export database (as spreadsheet), draw(as text),...
Definition: MWAWDocument.hxx:105
unknown
Definition: MWAWDocument.hxx:81
FoxBase: TODO.
Definition: MWAWDocument.hxx:111
Definition: MWAWDocument.hxx:56
presentation graphic
Definition: MWAWDocument.hxx:85
This class provides all the functions needed by applications to parse many pre-MacOSX documents.
Definition: MWAWDocument.hxx:69
Used for PowerPoint: see below.
Definition: MWAWDocument.hxx:169
bitmap graphic
Definition: MWAWDocument.hxx:84
Type
an enum to define the different type of document
Definition: MWAWDocument.hxx:99
BeagleWorks (v1.0)/WordPerfect Works (v1.2): export database(as spreadsheet), draw,...
Definition: MWAWDocument.hxx:103
supported
Definition: MWAWDocument.hxx:77
Used for MaxWrite: see below.
Definition: MWAWDocument.hxx:167
Symposium: TODO.
Definition: MWAWDocument.hxx:151
encryption not supported
Definition: MWAWDocument.hxx:75
DBase: TODO.
Definition: MWAWDocument.hxx:106
unknown error
Definition: MWAWDocument.hxx:96
4th Dimension: TODO
Definition: MWAWDocument.hxx:160
Microsoft Works Mac: export database(as spreadsheet), graphic, spreadsheet and text files.
Definition: MWAWDocument.hxx:133
LightWayText (only v4 Mac format)
Definition: MWAWDocument.hxx:121
Microsoft Multiplan: v1.11.
Definition: MWAWDocument.hxx:131
More (v2-3): retrieve the organization part but not the slide/tree parts.
Definition: MWAWDocument.hxx:129
Used for ClarisDraw v1 file: see below.
Definition: MWAWDocument.hxx:162
Trapeze spreadsheet: TODO.
Definition: MWAWDocument.hxx:154
Apple Pict: v1 or v2.
Definition: MWAWDocument.hxx:177
OverVUE: TODO.
Definition: MWAWDocument.hxx:137
static MWAWLIB Result parse(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *documentInterface, char const *password=nullptr)
Parses the input stream content.
Definition: MWAWDocument.cxx:354
SuperPaint: export drawing and paint v1 document.
Definition: MWAWDocument.hxx:150
Nisus Writer (v3.4-v6.5)
Definition: MWAWDocument.hxx:136
Corel Painter: Fractal Design Painter Mac v1-v4, MetaCreations Mac v5-v6, Corel Painter Mac v7-v10 an...
Definition: MWAWDocument.hxx:199
MacPaint: v1-v2.
Definition: MWAWDocument.hxx:126
Used for FreeHand: see below.
Definition: MWAWDocument.hxx:165
static MWAWLIB bool decodeSpreadsheet(librevenge::RVNGBinaryData const &binary, librevenge::RVNGSpreadsheetInterface *documentInterface)
Parses the spreadsheet contained in the binary data and called documentInterface to reconstruct a spr...
Definition: MWAWDocument.cxx:412
Adobe Illustrator: TODO.
Definition: MWAWDocument.hxx:102
Claris Draw: v1.0.1-v1.0.3.
Definition: MWAWDocument.hxx:174
FullImpact: TODO.
Definition: MWAWDocument.hxx:113
problem when reading the OLE structure
Definition: MWAWDocument.hxx:93
static MWAWLIB bool decodeGraphic(librevenge::RVNGBinaryData const &binary, librevenge::RVNGDrawingInterface *documentInterface)
Parses the graphic contained in the binary data and called documentInterface to reconstruct a graphic...
Definition: MWAWDocument.cxx:395
FrameMaker: TODO.
Definition: MWAWDocument.hxx:112
Used for Cricket Draw: see below.
Definition: MWAWDocument.hxx:166
Ready,Set,Go!: TODO.
Definition: MWAWDocument.hxx:145
word processing file
Definition: MWAWDocument.hxx:82
PixelPaint: v1-v2.1.
Definition: MWAWDocument.hxx:139
problem when accessing file
Definition: MWAWDocument.hxx:92
Style: v1.6, v1.9.
Definition: MWAWDocument.hxx:180
Family Tree Maker: TODO.
Definition: MWAWDocument.hxx:109
#define MWAWLIB
Definition: MWAWDocument.hxx:52
PageMaker: TODO.
Definition: MWAWDocument.hxx:138
encryption supported
Definition: MWAWDocument.hxx:76
FullPaint: v1 ( same format as MacPaint file)
Definition: MWAWDocument.hxx:114
static MWAWLIB Confidence isFileFormatSupported(librevenge::RVNGInputStream *input, Type &type, Kind &kind)
Analyzes the content of an input stream to see if it can be parsed.
Definition: MWAWDocument.cxx:119
MacWrite II/Pro.
Definition: MWAWDocument.hxx:135
RagTime: -Mac v2.1-v3.2: done, -all v5.0-v6.5: incomplete, only try to retrieve the picture/shape/tex...
Definition: MWAWDocument.hxx:144
not supported
Definition: MWAWDocument.hxx:74
Used for Style v1.6: see below.
Definition: MWAWDocument.hxx:164
Kind
an enum to define the kind of document
Definition: MWAWDocument.hxx:80
conversion ok
Definition: MWAWDocument.hxx:91
MaxWrite: v1.
Definition: MWAWDocument.hxx:189
database
Definition: MWAWDocument.hxx:87
Result
an enum which defines the result of the file parsing
Definition: MWAWDocument.hxx:90
static MWAWLIB bool decodeText(librevenge::RVNGBinaryData const &binary, librevenge::RVNGTextInterface *documentInterface)
Parses the text contained in the binary data and called documentInterface to reconstruct a text.
Definition: MWAWDocument.cxx:429
Microsoft Word (v1-v5)
Definition: MWAWDocument.hxx:132
MacDraft: v1, v4-v5.
Definition: MWAWDocument.hxx:123
eDOC (v2)
Definition: MWAWDocument.hxx:108
problem when using the given password
Definition: MWAWDocument.hxx:95
Kaleida Graph: TODO.
Definition: MWAWDocument.hxx:120
Unrecognised file type.
Definition: MWAWDocument.hxx:100
MouseWrite: v1.
Definition: MWAWDocument.hxx:192
FullWrite Professional: basic.
Definition: MWAWDocument.hxx:115
Acta (v2 and Classic v1)
Definition: MWAWDocument.hxx:101
Confidence
an enum which defines if we have confidence that a file is supported
Definition: MWAWDocument.hxx:73
DocMaker (v4)
Definition: MWAWDocument.hxx:107
MacDraw II: v1.0-v1.1, MacDraw Pro: v1.
Definition: MWAWDocument.hxx:125
FileMaker: TODO.
Definition: MWAWDocument.hxx:110
HanMac Word-K (v2.0.5-2.0.6)
Definition: MWAWDocument.hxx:118
Claris Resolve (v1.1)
Definition: MWAWDocument.hxx:104
MindWrite.
Definition: MWAWDocument.hxx:128
XPress: TODO.
Definition: MWAWDocument.hxx:158
Microsoft File(data base): TODO.
Definition: MWAWDocument.hxx:130
Used for Corel Painter: see below.
Definition: MWAWDocument.hxx:170
GreatWorks (v1-v2): export text, drawing, paint and spreadsheet document.
Definition: MWAWDocument.hxx:116
PowerPoint: v1-v4 and pc v2-v4,95.
Definition: MWAWDocument.hxx:195
WriteNow.
Definition: MWAWDocument.hxx:156
WriterPlus.
Definition: MWAWDocument.hxx:157
MacWrite.
Definition: MWAWDocument.hxx:134
MacDoc (v1.3)
Definition: MWAWDocument.hxx:122
InfoGenie: TODO.
Definition: MWAWDocument.hxx:119
Mariner Write (only v1.6-v3.5 Mac Classic)
Definition: MWAWDocument.hxx:127
problem when parsing the file
Definition: MWAWDocument.hxx:94
vectorized grphic
Definition: MWAWDocument.hxx:83
HanMac Word-J (v2.0.4)
Definition: MWAWDocument.hxx:117
spreadsheet
Definition: MWAWDocument.hxx:86
FreeHand: v1.
Definition: MWAWDocument.hxx:183

Generated on Mon May 13 2019 15:57:18 for libmwaw by doxygen 1.8.15