summaryrefslogtreecommitdiff
path: root/writerperfect/source/writer/EBookImportFilter.cxx
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2014-05-24 14:21:21 +0200
committerDavid Tardon <dtardon@redhat.com>2014-05-26 18:49:04 +0200
commit48c9d7ac7ccdad27067efe0d168e96ff48372631 (patch)
tree82b808b8c597046ed507aa6e2badd21090090190 /writerperfect/source/writer/EBookImportFilter.cxx
parent2013d184f1cf5928fa4a919d1521c1ae7b053796 (diff)
rebase all import libs
Change-Id: I9e1fc613816c943f4fb1033185e34e3acf317f1d
Diffstat (limited to 'writerperfect/source/writer/EBookImportFilter.cxx')
-rw-r--r--writerperfect/source/writer/EBookImportFilter.cxx58
1 files changed, 38 insertions, 20 deletions
diff --git a/writerperfect/source/writer/EBookImportFilter.cxx b/writerperfect/source/writer/EBookImportFilter.cxx
index 6c1434761ef1..300376895984 100644
--- a/writerperfect/source/writer/EBookImportFilter.cxx
+++ b/writerperfect/source/writer/EBookImportFilter.cxx
@@ -24,40 +24,58 @@ using com::sun::star::uno::Exception;
using com::sun::star::uno::RuntimeException;
using com::sun::star::uno::XComponentContext;
-bool EBookImportFilter::doImportDocument( WPXInputStream &rInput, const rtl::OUString &rFilterName, WPXDocumentInterface &rGenerator )
+using libebook::EBOOKDocument;
+
+bool EBookImportFilter::doImportDocument( librevenge::RVNGInputStream &rInput, const rtl::OUString &rFilterName, librevenge::RVNGTextInterface &rGenerator )
{
if (rFilterName == "FictionBook 2")
- return libebook::FB2Document::parse(&rInput, &rGenerator);
+ return EBOOKDocument::parse(&rInput, &rGenerator, EBOOKDocument::TYPE_FICTIONBOOK2);
else if (rFilterName == "PalmDoc")
- return libebook::PDBDocument::parse(&rInput, &rGenerator);
+ return EBOOKDocument::parse(&rInput, &rGenerator, EBOOKDocument::TYPE_PALMDOC);
else if (rFilterName == "Plucker eBook")
- return libebook::PLKRDocument::parse(&rInput, &rGenerator);
+ return EBOOKDocument::parse(&rInput, &rGenerator, EBOOKDocument::TYPE_PLUCKER);
else if (rFilterName == "eReader eBook")
- return libebook::PMLDocument::parse(&rInput, &rGenerator);
+ return EBOOKDocument::parse(&rInput, &rGenerator, EBOOKDocument::TYPE_PEANUTPRESS);
else if (rFilterName == "TealDoc")
- return libebook::TDDocument::parse(&rInput, &rGenerator);
+ return EBOOKDocument::parse(&rInput, &rGenerator, EBOOKDocument::TYPE_TEALDOC);
else if (rFilterName == "zTXT")
- return libebook::ZTXTDocument::parse(&rInput, &rGenerator);
+ return EBOOKDocument::parse(&rInput, &rGenerator, EBOOKDocument::TYPE_ZTXT);
return false;
}
-bool EBookImportFilter::doDetectFormat( WPXInputStream &rInput, OUString &rTypeName )
+bool EBookImportFilter::doDetectFormat( librevenge::RVNGInputStream &rInput, OUString &rTypeName )
{
rTypeName = "";
- if (libebook::FB2Document::isSupported(&rInput))
- rTypeName = "writer_FictionBook_2";
- else if (libebook::PDBDocument::isSupported(&rInput))
- rTypeName = "writer_PalmDoc";
- else if (libebook::PLKRDocument::isSupported(&rInput))
- rTypeName = "writer_Plucker_eBook";
- else if (libebook::PMLDocument::isSupported(&rInput))
- rTypeName = "writer_eReader_eBook";
- else if (libebook::TDDocument::isSupported(&rInput))
- rTypeName = "writer_TealDoc";
- else if (libebook::ZTXTDocument::isSupported(&rInput))
- rTypeName = "writer_zTXT";
+ EBOOKDocument::Type type = EBOOKDocument::TYPE_UNKNOWN;
+
+ if (EBOOKDocument::CONFIDENCE_EXCELLENT == EBOOKDocument::isSupported(&rInput, &type))
+ {
+ switch (type)
+ {
+ case EBOOKDocument::TYPE_FICTIONBOOK2 :
+ rTypeName = "writer_FictionBook_2";
+ break;
+ case EBOOKDocument::TYPE_PALMDOC :
+ rTypeName = "writer_PalmDoc";
+ break;
+ case EBOOKDocument::TYPE_PLUCKER :
+ rTypeName = "writer_Plucker_eBook";
+ break;
+ case EBOOKDocument::TYPE_PEANUTPRESS :
+ rTypeName = "writer_eReader_eBook";
+ break;
+ case EBOOKDocument::TYPE_TEALDOC :
+ rTypeName = "writer_TealDoc";
+ break;
+ case EBOOKDocument::TYPE_ZTXT :
+ rTypeName = "writer_zTXT";
+ break;
+ default :
+ SAL_WARN_IF(type != EBOOKDocument::TYPE_UNKNOWN, "writerperfect", "EBookImportFilter::doDetectFormat: document type " << type << " detected, but ignored");
+ }
+ }
return !rTypeName.isEmpty();
}