Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef WPDOCUMENT_H
00028 #define WPDOCUMENT_H
00029
00030 #ifdef DLL_EXPORT
00031 #ifdef LIBWPD_BUILD
00032 #define WPDAPI __declspec(dllexport)
00033 #else
00034 #define WPDAPI __declspec(dllimport)
00035 #endif
00036 #else
00037 #define WPDAPI
00038 #endif
00039
00040 #include <librevenge/librevenge.h>
00041
00042 namespace libwpd
00043 {
00044
00045
00046 enum WPDConfidence { WPD_CONFIDENCE_NONE=0, WPD_CONFIDENCE_UNSUPPORTED_ENCRYPTION, WPD_CONFIDENCE_SUPPORTED_ENCRYPTION, WPD_CONFIDENCE_EXCELLENT };
00047 enum WPDResult { WPD_OK, WPD_FILE_ACCESS_ERROR, WPD_PARSE_ERROR, WPD_UNSUPPORTED_ENCRYPTION_ERROR, WPD_PASSWORD_MISSMATCH_ERROR, WPD_OLE_ERROR, WPD_UNKNOWN_ERROR };
00048 enum WPDPasswordMatch { WPD_PASSWORD_MATCH_NONE, WPD_PASSWORD_MATCH_DONTKNOW, WPD_PASSWORD_MATCH_OK };
00049 enum WPDFileFormat { WPD_FILE_FORMAT_WP6, WPD_FILE_FORMAT_WP5, WPD_FILE_FORMAT_WP42, WPD_FILE_FORMAT_WP3, WPD_FILE_FORMAT_WP1, WPD_FILE_FORMAT_UNKNOWN };
00050
00056 class WPDocument
00057 {
00058 public:
00059 static WPDAPI WPDConfidence isFileFormatSupported(librevenge::RVNGInputStream *input);
00060 static WPDAPI WPDPasswordMatch verifyPassword(librevenge::RVNGInputStream *input, const char *password);
00061 static WPDAPI WPDResult parse(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *documentInterface, const char *password);
00062 static WPDAPI WPDResult parseSubDocument(librevenge::RVNGInputStream *input, librevenge::RVNGTextInterface *documentInterface, WPDFileFormat fileFormat);
00063 };
00064
00065 }
00066
00067 #endif
00068