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 {
156  MWAW_T_4DIMENSION /* 4th Dimension: TODO*/,
157 
167  };
168 
177  static MWAWLIB Confidence isFileFormatSupported(librevenge::RVNGInputStream *input, Type &type, Kind &kind);
178 
179  // ------------------------------------------------------------
180  // the different main parsers
181  // ------------------------------------------------------------
182 
191  static MWAWLIB Result parse(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *documentInterface, char const *password=0);
192 
201  static MWAWLIB Result parse(librevenge::RVNGInputStream *input, librevenge::RVNGDrawingInterface *documentInterface, char const *password=0);
202 
212  static MWAWLIB Result parse(librevenge::RVNGInputStream *input, librevenge::RVNGPresentationInterface *documentInterface, char const *password=0);
213 
223  static MWAWLIB Result parse(librevenge::RVNGInputStream *input, librevenge::RVNGSpreadsheetInterface *documentInterface, char const *password=0);
224 
225  // ------------------------------------------------------------
226  // decoders of the embedded zones created by libmwaw
227  // ------------------------------------------------------------
228 
238  static MWAWLIB bool decodeGraphic(librevenge::RVNGBinaryData const &binary, librevenge::RVNGDrawingInterface *documentInterface);
239 
250  static MWAWLIB bool decodeSpreadsheet(librevenge::RVNGBinaryData const &binary, librevenge::RVNGSpreadsheetInterface *documentInterface);
251 
261  static MWAWLIB bool decodeText(librevenge::RVNGBinaryData const &binary, librevenge::RVNGTextInterface *documentInterface);
262 };
263 
264 #endif /* MWAWDOCUMENT_HXX */
265 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
MacDraw: v0-v1.
Definition: MWAWDocument.hxx:124
TeachText/SimpleText.
Definition: MWAWDocument.hxx:148
Tex-Edit (v2)
Definition: MWAWDocument.hxx:149
Wingz (v1.1)
Definition: MWAWDocument.hxx:151
Z-Write (v1.3)
Definition: MWAWDocument.hxx:155
Used for Apple's Pict file: TODO.
Definition: MWAWDocument.hxx:159
Reserved for future use.
Definition: MWAWDocument.hxx:164
ClarisWorks/AppleWorks: all versions, export database (as spreadsheet), draw(as text), paint, presentation, spreadsheet, text document.
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
Reserved for future use.
Definition: MWAWDocument.hxx:165
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, paint, spreadsheet and text files.
Definition: MWAWDocument.hxx:103
supported
Definition: MWAWDocument.hxx:77
Reserved for future use.
Definition: MWAWDocument.hxx:163
Symposium: TODO.
Definition: MWAWDocument.hxx:147
encryption not supported
Definition: MWAWDocument.hxx:75
DBase: TODO.
Definition: MWAWDocument.hxx:106
unknown error
Definition: MWAWDocument.hxx:96
Definition: MWAWDocument.hxx:156
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: TODO.
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: v1.0.1-v1.0.3.
Definition: MWAWDocument.hxx:158
Trapeze spreadsheet: TODO.
Definition: MWAWDocument.hxx:150
OverVUE: TODO.
Definition: MWAWDocument.hxx:137
SuperPaint: export drawing and paint v1 document.
Definition: MWAWDocument.hxx:146
Nisus Writer (v3.4-v6.5)
Definition: MWAWDocument.hxx:136
MacPaint: v1-v2.
Definition: MWAWDocument.hxx:126
Reserved for future use.
Definition: MWAWDocument.hxx:161
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:398
Adobe Illustrator: TODO.
Definition: MWAWDocument.hxx:102
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:381
FrameMaker: TODO.
Definition: MWAWDocument.hxx:112
Reserved for future use.
Definition: MWAWDocument.hxx:162
Ready,Set,Go!: TODO.
Definition: MWAWDocument.hxx:141
word processing file
Definition: MWAWDocument.hxx:82
PixelPaint: TODO.
Definition: MWAWDocument.hxx:139
problem when accessing file
Definition: MWAWDocument.hxx:92
Family Tree Maker: TODO.
Definition: MWAWDocument.hxx:109
#define MWAWLIB
Definition: MWAWDocument.hxx:52
PageMaker: TODO.
Definition: MWAWDocument.hxx:138
static MWAWLIB Result parse(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *documentInterface, char const *password=0)
Parses the input stream content.
Definition: MWAWDocument.cxx:340
encryption supported
Definition: MWAWDocument.hxx:76
FullPaint: TODO.
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:106
MacWrite II/Pro.
Definition: MWAWDocument.hxx:135
RagTime: (Mac v2.1-v3.2)
Definition: MWAWDocument.hxx:140
not supported
Definition: MWAWDocument.hxx:74
Reserved for future use.
Definition: MWAWDocument.hxx:160
Kind
an enum to define the kind of document
Definition: MWAWDocument.hxx:80
conversion ok
Definition: MWAWDocument.hxx:91
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:415
Microsoft Word (v1-v5)
Definition: MWAWDocument.hxx:132
MacDraft: v1.
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
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:154
Microsoft File: TODO.
Definition: MWAWDocument.hxx:130
Reserved for future use.
Definition: MWAWDocument.hxx:166
GreatWorks (v1-v2): export text, drawing, paint and spreadsheet document.
Definition: MWAWDocument.hxx:116
WriteNow.
Definition: MWAWDocument.hxx:152
WriterPlus.
Definition: MWAWDocument.hxx:153
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

Generated on Thu Jul 9 2015 20:26:36 for libmwaw by doxygen 1.8.8