summaryrefslogtreecommitdiffstats
path: root/writerperfect/source/wpdimp/WordPerfectCollector.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'writerperfect/source/wpdimp/WordPerfectCollector.cxx')
-rw-r--r--writerperfect/source/wpdimp/WordPerfectCollector.cxx13
1 files changed, 9 insertions, 4 deletions
diff --git a/writerperfect/source/wpdimp/WordPerfectCollector.cxx b/writerperfect/source/wpdimp/WordPerfectCollector.cxx
index a5b57181af78..83fdec5ff9cd 100644
--- a/writerperfect/source/wpdimp/WordPerfectCollector.cxx
+++ b/writerperfect/source/wpdimp/WordPerfectCollector.cxx
@@ -36,8 +36,9 @@
#pragma warning( pop )
#endif
-WordPerfectCollector::WordPerfectCollector(WPSInputStream *pInput, DocumentHandler *pHandler) :
- DocumentCollector(pInput, pHandler)
+WordPerfectCollector::WordPerfectCollector(WPXInputStream *pInput, DocumentHandlerInterface *pHandler, const rtl::OString& password) :
+ DocumentCollector(pInput, pHandler),
+ maUtf8Password(password)
{
}
@@ -45,9 +46,13 @@ WordPerfectCollector::~WordPerfectCollector()
{
}
-bool WordPerfectCollector::parseSourceDocument(WPSInputStream &input)
+bool WordPerfectCollector::parseSourceDocument(WPXInputStream &input)
{
- WPDResult result = WPDocument::parse(&input, static_cast<WPXHLListenerImpl *>(this));
+ WPDResult result;
+ if (maUtf8Password.getLength())
+ result = WPDocument::parse(&input, static_cast<WPXDocumentInterface *>(this), maUtf8Password.getStr());
+ else
+ result = WPDocument::parse(&input, static_cast<WPXDocumentInterface *>(this), NULL);
if (result != WPD_OK)
return false;