diff options
author | David Tardon <dtardon@redhat.com> | 2014-09-17 10:44:51 +0200 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2014-09-17 19:26:25 +0200 |
commit | 3c8af5367de69ea74506f6f630276e9dfd8ff51f (patch) | |
tree | 001afb7474a1d793982432d689f8f10b9c80d0e8 /writerperfect | |
parent | a3ef3b658dea9b59ded319f2f092e73e4deaad24 (diff) |
pass the whole descriptor instead of filter name
Change-Id: I874e53a00d48ba84588126c1ecdb90c801a9b1d6
Diffstat (limited to 'writerperfect')
10 files changed, 24 insertions, 16 deletions
diff --git a/writerperfect/source/writer/AbiWordImportFilter.cxx b/writerperfect/source/writer/AbiWordImportFilter.cxx index e35d4ef254ad..87a2a6e2ebef 100644 --- a/writerperfect/source/writer/AbiWordImportFilter.cxx +++ b/writerperfect/source/writer/AbiWordImportFilter.cxx @@ -24,7 +24,7 @@ using com::sun::star::uno::RuntimeException; using com::sun::star::uno::XComponentContext; using com::sun::star::uno::XInterface; -bool AbiWordImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, const rtl::OUString &, librevenge::RVNGTextInterface &rGenerator) +bool AbiWordImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGTextInterface &rGenerator, utl::MediaDescriptor &) { return libabw::AbiDocument::parse(&rInput, &rGenerator); } diff --git a/writerperfect/source/writer/AbiWordImportFilter.hxx b/writerperfect/source/writer/AbiWordImportFilter.hxx index 50a5b7d6f386..b0ea57edfb83 100644 --- a/writerperfect/source/writer/AbiWordImportFilter.hxx +++ b/writerperfect/source/writer/AbiWordImportFilter.hxx @@ -34,7 +34,7 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream &rInput, OUString &rTypeName) SAL_OVERRIDE; - virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, const rtl::OUString &rFilterName, librevenge::RVNGTextInterface &rGenerator) SAL_OVERRIDE; + virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGTextInterface &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE; }; OUString AbiWordImportFilter_getImplementationName() diff --git a/writerperfect/source/writer/EBookImportFilter.cxx b/writerperfect/source/writer/EBookImportFilter.cxx index 003e603e95e6..14c4a48366a9 100644 --- a/writerperfect/source/writer/EBookImportFilter.cxx +++ b/writerperfect/source/writer/EBookImportFilter.cxx @@ -26,21 +26,26 @@ using com::sun::star::uno::XComponentContext; using libebook::EBOOKDocument; -bool EBookImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, const rtl::OUString &rFilterName, librevenge::RVNGTextInterface &rGenerator) +bool EBookImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGTextInterface &rGenerator, utl::MediaDescriptor &rDescriptor) { EBOOKDocument::Type type = EBOOKDocument::TYPE_UNKNOWN; - if (rFilterName == "FictionBook 2") + rtl::OUString aFilterName; + + rDescriptor[utl::MediaDescriptor::PROP_FILTERNAME()] >>= aFilterName; + assert(!aFilterName.isEmpty()); + + if (aFilterName == "FictionBook 2") type = EBOOKDocument::TYPE_FICTIONBOOK2; - else if (rFilterName == "PalmDoc") + else if (aFilterName == "PalmDoc") type = EBOOKDocument::TYPE_PALMDOC; - else if (rFilterName == "Plucker eBook") + else if (aFilterName == "Plucker eBook") type = EBOOKDocument::TYPE_PLUCKER; - else if (rFilterName == "eReader eBook") + else if (aFilterName == "eReader eBook") type = EBOOKDocument::TYPE_PEANUTPRESS; - else if (rFilterName == "TealDoc") + else if (aFilterName == "TealDoc") type = EBOOKDocument::TYPE_TEALDOC; - else if (rFilterName == "zTXT") + else if (aFilterName == "zTXT") type = EBOOKDocument::TYPE_ZTXT; if (EBOOKDocument::TYPE_UNKNOWN != type) diff --git a/writerperfect/source/writer/EBookImportFilter.hxx b/writerperfect/source/writer/EBookImportFilter.hxx index 1fcf75416685..b7047d8e7772 100644 --- a/writerperfect/source/writer/EBookImportFilter.hxx +++ b/writerperfect/source/writer/EBookImportFilter.hxx @@ -34,7 +34,7 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream &rInput, OUString &rTypeName) SAL_OVERRIDE; - virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, const rtl::OUString &rFilterName, librevenge::RVNGTextInterface &rGenerator) SAL_OVERRIDE; + virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGTextInterface &rGenerator, utl::MediaDescriptor &rDescriptor) SAL_OVERRIDE; }; OUString EBookImportFilter_getImplementationName() diff --git a/writerperfect/source/writer/ImportFilterBase.cxx b/writerperfect/source/writer/ImportFilterBase.cxx index a0507a62a23c..9437c5d6c911 100644 --- a/writerperfect/source/writer/ImportFilterBase.cxx +++ b/writerperfect/source/writer/ImportFilterBase.cxx @@ -98,7 +98,8 @@ throw (RuntimeException, std::exception) doRegisterHandlers(exporter); - return doImportDocument(input, sFilterName, exporter); + utl::MediaDescriptor aMediaDescriptor(aDescriptor); + return doImportDocument(input, exporter, aMediaDescriptor); } void SAL_CALL ImportFilterImpl::cancel() diff --git a/writerperfect/source/writer/ImportFilterBase.hxx b/writerperfect/source/writer/ImportFilterBase.hxx index dd9e4d9897da..bee7612405e9 100644 --- a/writerperfect/source/writer/ImportFilterBase.hxx +++ b/writerperfect/source/writer/ImportFilterBase.hxx @@ -21,6 +21,8 @@ #include <cppuhelper/implbase1.hxx> #include <cppuhelper/implbase4.hxx> +#include <unotools/mediadescriptor.hxx> + namespace com { namespace sun @@ -90,7 +92,7 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream &rInput, OUString &rTypeName) = 0; - virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, const rtl::OUString &rFilterName, librevenge::RVNGTextInterface &rGenerator) = 0; + virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGTextInterface &rGenerator, utl::MediaDescriptor &rDescriptor) = 0; virtual void doRegisterHandlers(OdtGenerator &rGenerator); private: diff --git a/writerperfect/source/writer/MSWorksImportFilter.cxx b/writerperfect/source/writer/MSWorksImportFilter.cxx index 2cd4996ed1e9..21657a13978f 100644 --- a/writerperfect/source/writer/MSWorksImportFilter.cxx +++ b/writerperfect/source/writer/MSWorksImportFilter.cxx @@ -31,7 +31,7 @@ static bool handleEmbeddedWKSObject(const librevenge::RVNGBinaryData &data, OdfD return libwps::WPSDocument::parse(data.getDataStream(), &exporter)==libwps::WPS_OK; } -bool MSWorksImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, const rtl::OUString &, librevenge::RVNGTextInterface &rGenerator) +bool MSWorksImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGTextInterface &rGenerator, utl::MediaDescriptor &) { return libwps::WPS_OK == libwps::WPSDocument::parse(&rInput, &rGenerator); } diff --git a/writerperfect/source/writer/MSWorksImportFilter.hxx b/writerperfect/source/writer/MSWorksImportFilter.hxx index 4e1782b2fb70..42ff7d2ecfeb 100644 --- a/writerperfect/source/writer/MSWorksImportFilter.hxx +++ b/writerperfect/source/writer/MSWorksImportFilter.hxx @@ -34,7 +34,7 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream &rInput, OUString &rTypeName) SAL_OVERRIDE; - virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, const rtl::OUString &rFilterName, librevenge::RVNGTextInterface &rGenerator) SAL_OVERRIDE; + virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGTextInterface &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE; virtual void doRegisterHandlers(OdtGenerator &rGenerator) SAL_OVERRIDE; }; diff --git a/writerperfect/source/writer/MWAWImportFilter.cxx b/writerperfect/source/writer/MWAWImportFilter.cxx index 5a59575be8f5..1d37ff0bf19c 100644 --- a/writerperfect/source/writer/MWAWImportFilter.cxx +++ b/writerperfect/source/writer/MWAWImportFilter.cxx @@ -38,7 +38,7 @@ static bool handleEmbeddedMWAWSpreadsheetObject(const librevenge::RVNGBinaryData return MWAWDocument::decodeSpreadsheet(data, &exporter); } -bool MWAWImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, const rtl::OUString &, librevenge::RVNGTextInterface &rGenerator) +bool MWAWImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGTextInterface &rGenerator, utl::MediaDescriptor &) { return MWAWDocument::MWAW_R_OK == MWAWDocument::parse(&rInput, &rGenerator); } diff --git a/writerperfect/source/writer/MWAWImportFilter.hxx b/writerperfect/source/writer/MWAWImportFilter.hxx index 9ea34189510d..b2883bb5fc7c 100644 --- a/writerperfect/source/writer/MWAWImportFilter.hxx +++ b/writerperfect/source/writer/MWAWImportFilter.hxx @@ -34,7 +34,7 @@ public: private: virtual bool doDetectFormat(librevenge::RVNGInputStream &rInput, OUString &rTypeName) SAL_OVERRIDE; - virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, const rtl::OUString &rFilterName, librevenge::RVNGTextInterface &rGenerator) SAL_OVERRIDE; + virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGTextInterface &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE; virtual void doRegisterHandlers(OdtGenerator &rGenerator) SAL_OVERRIDE; }; |