summaryrefslogtreecommitdiff
path: root/writerperfect
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2014-09-17 10:44:51 +0200
committerDavid Tardon <dtardon@redhat.com>2014-09-17 19:26:25 +0200
commit3c8af5367de69ea74506f6f630276e9dfd8ff51f (patch)
tree001afb7474a1d793982432d689f8f10b9c80d0e8 /writerperfect
parenta3ef3b658dea9b59ded319f2f092e73e4deaad24 (diff)
pass the whole descriptor instead of filter name
Change-Id: I874e53a00d48ba84588126c1ecdb90c801a9b1d6
Diffstat (limited to 'writerperfect')
-rw-r--r--writerperfect/source/writer/AbiWordImportFilter.cxx2
-rw-r--r--writerperfect/source/writer/AbiWordImportFilter.hxx2
-rw-r--r--writerperfect/source/writer/EBookImportFilter.cxx19
-rw-r--r--writerperfect/source/writer/EBookImportFilter.hxx2
-rw-r--r--writerperfect/source/writer/ImportFilterBase.cxx3
-rw-r--r--writerperfect/source/writer/ImportFilterBase.hxx4
-rw-r--r--writerperfect/source/writer/MSWorksImportFilter.cxx2
-rw-r--r--writerperfect/source/writer/MSWorksImportFilter.hxx2
-rw-r--r--writerperfect/source/writer/MWAWImportFilter.cxx2
-rw-r--r--writerperfect/source/writer/MWAWImportFilter.hxx2
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;
};