Kaydet (Commit) bddd9657 authored tarafından Takeshi Abe's avatar Takeshi Abe Kaydeden (comit) David Tardon

fdo#84168 change writerperfect filters to use a new base class template

in writerperfect/source/draw.

Change-Id: I8ec2861da2af1e203157faa1319b837fe236b507
Reviewed-on: https://gerrit.libreoffice.org/12072Reviewed-by: 's avatarDavid Tardon <dtardon@redhat.com>
Tested-by: 's avatarDavid Tardon <dtardon@redhat.com>
üst 0a82645c
......@@ -64,7 +64,6 @@ $(eval $(call gb_Library_add_exception_objects,wpftdraw,\
writerperfect/source/draw/CDRImportFilter \
writerperfect/source/draw/CMXImportFilter \
writerperfect/source/draw/FreehandImportFilter \
writerperfect/source/draw/ImportFilterBase \
writerperfect/source/draw/MSPUBImportFilter \
writerperfect/source/draw/MWAWDrawImportFilter \
writerperfect/source/draw/PageMakerImportFilter \
......
......@@ -27,7 +27,7 @@ using com::sun::star::uno::Sequence;
using com::sun::star::uno::XComponentContext;
using com::sun::star::uno::XInterface;
bool CDRImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &)
bool CDRImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &)
{
return libcdr::CDRDocument::parse(&rInput, &rGenerator);
}
......
......@@ -11,16 +11,18 @@
#ifndef _CDRIMPORTFILTER_HXX
#define _CDRIMPORTFILTER_HXX
#include "ImportFilterBase.hxx"
#include "writerperfect/ImportFilter.hxx"
#include "DocumentHandlerForOdg.hxx"
/* This component will be instantiated for both import or export. Whether it calls
* setSourceDocument or setTargetDocument determines which Impl function the filter
* member calls */
class CDRImportFilter : public writerperfect::draw::ImportFilterBase
class CDRImportFilter : public writerperfect::ImportFilter<OdgGenerator>
{
public:
CDRImportFilter(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &rxContext)
: writerperfect::draw::ImportFilterBase(rxContext)
: writerperfect::ImportFilter<OdgGenerator>(rxContext)
{
}
......@@ -34,7 +36,7 @@ public:
private:
virtual bool doDetectFormat(librevenge::RVNGInputStream &rInput, OUString &rTypeName) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
};
OUString CDRImportFilter_getImplementationName()
......
......@@ -27,7 +27,7 @@ using com::sun::star::uno::Sequence;
using com::sun::star::uno::XComponentContext;
using com::sun::star::uno::XInterface;
bool CMXImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &)
bool CMXImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &)
{
return libcdr::CMXDocument::parse(&rInput, &rGenerator);
}
......
......@@ -11,16 +11,18 @@
#ifndef _CMXIMPORTFILTER_HXX
#define _CMXIMPORTFILTER_HXX
#include "ImportFilterBase.hxx"
#include "writerperfect/ImportFilter.hxx"
#include "DocumentHandlerForOdg.hxx"
/* This component will be instantiated for both import or export. Whether it calls
* setSourceDocument or setTargetDocument determines which Impl function the filter
* member calls */
class CMXImportFilter : public writerperfect::draw::ImportFilterBase
class CMXImportFilter : public writerperfect::ImportFilter<OdgGenerator>
{
public:
CMXImportFilter(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &rxContext)
: writerperfect::draw::ImportFilterBase(rxContext)
: writerperfect::ImportFilter<OdgGenerator>(rxContext)
{
}
......@@ -34,7 +36,7 @@ public:
private:
virtual bool doDetectFormat(librevenge::RVNGInputStream &rInput, OUString &rTypeName) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
};
OUString CMXImportFilter_getImplementationName()
......
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#ifndef INCLUDED_WRITERPERFECT_SOURCE_DRAW_DOCUMENTHANDLERFORODG_HXX
#define INCLUDED_WRITERPERFECT_SOURCE_DRAW_DOCUMENTHANDLERFORODG_HXX
#include <libodfgen/libodfgen.hxx>
#include "writerperfect/DocumentHandlerFor.hxx"
namespace writerperfect
{
template<>
struct DocumentHandlerFor<OdgGenerator>
{
static const rtl::OUString name()
{
return rtl::OUString("com.sun.star.comp.Draw.XMLOasisImporter");
}
};
}
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -23,7 +23,7 @@ using com::sun::star::uno::Sequence;
using com::sun::star::uno::XComponentContext;
using com::sun::star::uno::XInterface;
bool FreehandImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &)
bool FreehandImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &)
{
return libfreehand::FreeHandDocument::parse(&rInput, &rGenerator);
}
......
......@@ -8,16 +8,18 @@
#ifndef _FREEHANDIMPORTFILTER_HXX
#define _FREEHANDIMPORTFILTER_HXX
#include "ImportFilterBase.hxx"
#include "writerperfect/ImportFilter.hxx"
#include "DocumentHandlerForOdg.hxx"
/* This component will be instantiated for both import or export. Whether it calls
* setSourceDocument or setTargetDocument determines which Impl function the filter
* member calls */
class FreehandImportFilter : public writerperfect::draw::ImportFilterBase
class FreehandImportFilter : public writerperfect::ImportFilter<OdgGenerator>
{
public:
FreehandImportFilter(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &rxContext)
: writerperfect::draw::ImportFilterBase(rxContext)
: writerperfect::ImportFilter<OdgGenerator>(rxContext)
{
}
......@@ -31,7 +33,7 @@ public:
private:
virtual bool doDetectFormat(librevenge::RVNGInputStream &rInput, OUString &rTypeName) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
};
OUString FreehandImportFilter_getImplementationName()
......
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/io/XInputStream.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/xml/sax/XAttributeList.hpp>
#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
#include <com/sun/star/xml/sax/InputSource.hpp>
#include <com/sun/star/xml/sax/XParser.hpp>
#include <com/sun/star/io/XSeekable.hpp>
#include <com/sun/star/uno/Reference.h>
#include <writerperfect/DocumentHandler.hxx>
#include <writerperfect/WPXSvInputStream.hxx>
#include <xmloff/attrlist.hxx>
#include <libodfgen/libodfgen.hxx>
#include "ImportFilterBase.hxx"
namespace writerperfect
{
namespace draw
{
using com::sun::star::uno::Reference;
using com::sun::star::io::XInputStream;
using com::sun::star::io::XSeekable;
using com::sun::star::uno::Sequence;
using com::sun::star::uno::Any;
using com::sun::star::uno::UNO_QUERY;
using com::sun::star::uno::XInterface;
using com::sun::star::uno::Exception;
using com::sun::star::uno::RuntimeException;
using com::sun::star::beans::PropertyValue;
using com::sun::star::document::XFilter;
using com::sun::star::document::XExtendedFilterDetection;
using com::sun::star::document::XImporter;
using com::sun::star::xml::sax::InputSource;
using com::sun::star::xml::sax::XAttributeList;
using com::sun::star::xml::sax::XDocumentHandler;
using com::sun::star::xml::sax::XParser;
using writerperfect::DocumentHandler;
using writerperfect::WPXSvInputStream;
ImportFilterImpl::ImportFilterImpl(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &rxContext)
: mxContext(rxContext)
{
}
ImportFilterImpl::~ImportFilterImpl()
{
}
sal_Bool SAL_CALL ImportFilterImpl::filter(const Sequence< ::com::sun::star::beans::PropertyValue > &aDescriptor)
throw (RuntimeException, std::exception)
{
sal_Int32 nLength = aDescriptor.getLength();
const PropertyValue *pValue = aDescriptor.getConstArray();
Reference < XInputStream > xInputStream;
for (sal_Int32 i = 0 ; i < nLength; i++)
{
if (pValue[i].Name == "InputStream")
pValue[i].Value >>= xInputStream;
}
if (!xInputStream.is())
{
OSL_ASSERT(false);
return sal_False;
}
// An XML import service: what we push sax messages to..
Reference < XDocumentHandler > xInternalHandler(
mxContext->getServiceManager()->createInstanceWithContext(
"com.sun.star.comp.Draw.XMLOasisImporter", mxContext),
css::uno::UNO_QUERY_THROW);
// The XImporter sets up an empty target document for XDocumentHandler to write to..
Reference < XImporter > xImporter(xInternalHandler, UNO_QUERY);
xImporter->setTargetDocument(mxDoc);
// OO Graphics Handler: abstract class to handle document SAX messages, concrete implementation here
// writes to in-memory target doc
DocumentHandler xHandler(xInternalHandler);
WPXSvInputStream input(xInputStream);
OdgGenerator exporter;
exporter.addDocumentHandler(&xHandler, ODF_FLAT_XML);
doRegisterHandlers(exporter);
utl::MediaDescriptor aMediaDescriptor(aDescriptor);
return doImportDocument(input, exporter, aMediaDescriptor);
}
void SAL_CALL ImportFilterImpl::cancel()
throw (RuntimeException, std::exception)
{
}
// XImporter
void SAL_CALL ImportFilterImpl::setTargetDocument(const Reference< ::com::sun::star::lang::XComponent > &xDoc)
throw (::com::sun::star::lang::IllegalArgumentException, RuntimeException, std::exception)
{
mxDoc = xDoc;
}
// XExtendedFilterDetection
OUString SAL_CALL ImportFilterImpl::detect(com::sun::star::uno::Sequence< PropertyValue > &Descriptor)
throw(com::sun::star::uno::RuntimeException, std::exception)
{
OUString sTypeName;
sal_Int32 nLength = Descriptor.getLength();
sal_Int32 location = nLength;
const PropertyValue *pValue = Descriptor.getConstArray();
Reference < XInputStream > xInputStream;
for (sal_Int32 i = 0 ; i < nLength; i++)
{
if (pValue[i].Name == "TypeName")
location=i;
else if (pValue[i].Name == "InputStream")
pValue[i].Value >>= xInputStream;
}
if (!xInputStream.is())
return OUString();
WPXSvInputStream input(xInputStream);
if (doDetectFormat(input, sTypeName))
{
assert(!sTypeName.isEmpty());
if (location == nLength)
{
Descriptor.realloc(nLength+1);
Descriptor[location].Name = "TypeName";
}
Descriptor[location].Value <<=sTypeName;
}
return sTypeName;
}
// XInitialization
void SAL_CALL ImportFilterImpl::initialize(const Sequence< Any > &aArguments)
throw (Exception, RuntimeException, std::exception)
{
Sequence < PropertyValue > aAnySeq;
sal_Int32 nLength = aArguments.getLength();
if (nLength && (aArguments[0] >>= aAnySeq))
{
const PropertyValue *pValue = aAnySeq.getConstArray();
nLength = aAnySeq.getLength();
for (sal_Int32 i = 0 ; i < nLength; i++)
{
if (pValue[i].Name == "Type")
{
pValue[i].Value >>= msFilterName;
break;
}
}
}
}
void ImportFilterImpl::doRegisterHandlers(OdgGenerator &)
{
}
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#ifndef INCLUDED_WRITERPERFECT_SOURCE_DRAW_IMPORTFILTERBASE_HXX
#define INCLUDED_WRITERPERFECT_SOURCE_DRAW_IMPORTFILTERBASE_HXX
#include <librevenge/librevenge.h>
#include <librevenge-stream/librevenge-stream.h>
#include <com/sun/star/document/XFilter.hpp>
#include <com/sun/star/document/XImporter.hpp>
#include <com/sun/star/document/XExtendedFilterDetection.hpp>
#include <com/sun/star/lang/XInitialization.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <cppuhelper/implbase1.hxx>
#include <cppuhelper/implbase4.hxx>
#include <unotools/mediadescriptor.hxx>
namespace com
{
namespace sun
{
namespace star
{
namespace beans
{
struct PropertyValue;
}
namespace lang
{
class XComponent;
}
namespace uno
{
class XComponentContext;
}
namespace xml
{
namespace sax
{
class XDocumentHandler;
}
}
}
}
}
class OdgGenerator;
namespace writerperfect
{
namespace draw
{
/* This component will be instantiated for both import or export. Whether it calls
* setSourceDocument or setTargetDocument determines which Impl function the filter
* member calls */
class ImportFilterImpl : public cppu::WeakImplHelper4
<
com::sun::star::document::XFilter,
com::sun::star::document::XImporter,
com::sun::star::document::XExtendedFilterDetection,
com::sun::star::lang::XInitialization
>
{
public:
ImportFilterImpl(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &rxContext);
virtual ~ImportFilterImpl();
// XFilter
virtual sal_Bool SAL_CALL filter(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > &aDescriptor)
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
virtual void SAL_CALL cancel()
throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// XImporter
virtual void SAL_CALL setTargetDocument(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent > &xDoc)
throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
//XExtendedFilterDetection
virtual OUString SAL_CALL detect(com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > &Descriptor)
throw(com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// XInitialization
virtual void SAL_CALL initialize(const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > &aArguments)
throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
private:
virtual bool doDetectFormat(librevenge::RVNGInputStream &rInput, OUString &rTypeName) = 0;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &) = 0;
virtual void doRegisterHandlers(OdgGenerator &rGenerator);
private:
::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > mxContext;
::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent > mxDoc;
OUString msFilterName;
::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > mxHandler;
};
/** A base class for import filters.
*/
typedef cppu::ImplInheritanceHelper1<ImportFilterImpl, com::sun::star::lang::XServiceInfo> ImportFilterBase;
}
}
#endif // INCLUDED_WRITERPERFECT_SOURCE_DRAW_IMPORTFILTERBASE_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -25,7 +25,7 @@ using com::sun::star::uno::Sequence;
using com::sun::star::uno::XComponentContext;
using com::sun::star::uno::XInterface;
bool MSPUBImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &)
bool MSPUBImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &)
{
return libmspub::MSPUBDocument::parse(&rInput, &rGenerator);
}
......
......@@ -8,16 +8,18 @@
#ifndef _MSPUBIMPORTFILTER_HXX
#define _MSPUBIMPORTFILTER_HXX
#include "ImportFilterBase.hxx"
#include "writerperfect/ImportFilter.hxx"
#include "DocumentHandlerForOdg.hxx"
/* This component will be instantiated for both import or export. Whether it calls
* setSourceDocument or setTargetDocument determines which Impl function the filter
* member calls */
class MSPUBImportFilter : public writerperfect::draw::ImportFilterBase
class MSPUBImportFilter : public writerperfect::ImportFilter<OdgGenerator>
{
public:
MSPUBImportFilter(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &rxContext)
: writerperfect::draw::ImportFilterBase(rxContext)
: writerperfect::ImportFilter<OdgGenerator>(rxContext)
{
}
......@@ -31,7 +33,7 @@ public:
private:
virtual bool doDetectFormat(librevenge::RVNGInputStream &rInput, OUString &rTypeName) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
};
OUString MSPUBImportFilter_getImplementationName()
......
......@@ -39,7 +39,7 @@ static bool handleEmbeddedMWAWSpreadsheetObject(const librevenge::RVNGBinaryData
return MWAWDocument::decodeSpreadsheet(data, &exporter);
}
bool MWAWDrawImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &)
bool MWAWDrawImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &)
{
return MWAWDocument::MWAW_R_OK == MWAWDocument::parse(&rInput, &rGenerator);
}
......
......@@ -13,16 +13,18 @@
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include "ImportFilterBase.hxx"
#include "writerperfect/ImportFilter.hxx"
#include "DocumentHandlerForOdg.hxx"
/* This component will be instantiated for both import or export. Whether it calls
* setSourceDocument or setTargetDocument determines which Impl function the filter
* member calls */
class MWAWDrawImportFilter : public writerperfect::draw::ImportFilterBase
class MWAWDrawImportFilter : public writerperfect::ImportFilter<OdgGenerator>
{
public:
MWAWDrawImportFilter(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &rxContext)
: writerperfect::draw::ImportFilterBase(rxContext) {}
: writerperfect::ImportFilter<OdgGenerator>(rxContext) {}
// XServiceInfo
virtual OUString SAL_CALL getImplementationName()
......@@ -34,7 +36,7 @@ public:
private:
virtual bool doDetectFormat(librevenge::RVNGInputStream &rInput, OUString &rTypeName) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
virtual void doRegisterHandlers(OdgGenerator &rGenerator) SAL_OVERRIDE;
};
......
......@@ -25,7 +25,7 @@ using com::sun::star::uno::Sequence;
using com::sun::star::uno::XComponentContext;
using com::sun::star::uno::XInterface;
bool PageMakerImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &)
bool PageMakerImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &)
{
return libpagemaker::PMDocument::parse(&rInput, &rGenerator);
}
......
......@@ -8,16 +8,18 @@
#ifndef _PAGEMAKERIMPORTFILTER_HXX
#define _PAGEMAKERIMPORTFILTER_HXX
#include "ImportFilterBase.hxx"
#include "writerperfect/ImportFilter.hxx"
#include "DocumentHandlerForOdg.hxx"
/* This component will be instantiated for both import or export. Whether it calls
* setSourceDocument or setTargetDocument determines which Impl function the filter
* member calls */
class PageMakerImportFilter : public writerperfect::draw::ImportFilterBase
class PageMakerImportFilter : public writerperfect::ImportFilter<OdgGenerator>
{
public:
PageMakerImportFilter(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &rxContext)
: writerperfect::draw::ImportFilterBase(rxContext)
: writerperfect::ImportFilter<OdgGenerator>(rxContext)
{
}
......@@ -31,7 +33,7 @@ public:
private:
virtual bool doDetectFormat(librevenge::RVNGInputStream &rInput, OUString &rTypeName) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
};
OUString PageMakerImportFilter_getImplementationName()
......
......@@ -23,7 +23,7 @@ using com::sun::star::uno::Sequence;
using com::sun::star::uno::XComponentContext;
using com::sun::star::uno::XInterface;
bool VisioImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &)
bool VisioImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &)
{
return libvisio::VisioDocument::parse(&rInput, &rGenerator);
}
......
......@@ -8,16 +8,18 @@
#ifndef _VISIOIMPORTFILTER_HXX
#define _VISIOIMPORTFILTER_HXX
#include "ImportFilterBase.hxx"
#include "writerperfect/ImportFilter.hxx"
#include "DocumentHandlerForOdg.hxx"
/* This component will be instantiated for both import or export. Whether it calls
* setSourceDocument or setTargetDocument determines which Impl function the filter
* member calls */
class VisioImportFilter : public writerperfect::draw::ImportFilterBase
class VisioImportFilter : public writerperfect::ImportFilter<OdgGenerator>
{
public:
VisioImportFilter(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &rxContext)
: writerperfect::draw::ImportFilterBase(rxContext)
: writerperfect::ImportFilter<OdgGenerator>(rxContext)
{
}
......@@ -31,7 +33,7 @@ public:
private:
virtual bool doDetectFormat(librevenge::RVNGInputStream &rInput, OUString &rTypeName) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
};
OUString VisioImportFilter_getImplementationName()
......
......@@ -30,7 +30,7 @@ using com::sun::star::uno::Sequence;
using com::sun::star::uno::XComponentContext;
using com::sun::star::uno::XInterface;
bool WPGImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &)
bool WPGImportFilter::doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &)
{
return libwpg::WPGraphics::parse(&rInput, &rGenerator);
}
......
......@@ -13,16 +13,18 @@
#ifndef _WPGIMPORTFILTER_HXX
#define _WPGIMPORTFILTER_HXX
#include "ImportFilterBase.hxx"
#include "writerperfect/ImportFilter.hxx"
#include "DocumentHandlerForOdg.hxx"
/* This component will be instantiated for both import or export. Whether it calls
* setSourceDocument or setTargetDocument determines which Impl function the filter
* member calls */
class WPGImportFilter : public writerperfect::draw::ImportFilterBase
class WPGImportFilter : public writerperfect::ImportFilter<OdgGenerator>
{
public:
WPGImportFilter(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &rxContext)
: writerperfect::draw::ImportFilterBase(rxContext)
: writerperfect::ImportFilter<OdgGenerator>(rxContext)
{
}
......@@ -36,7 +38,7 @@ public:
private:
virtual bool doDetectFormat(librevenge::RVNGInputStream &rInput, OUString &rTypeName) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, librevenge::RVNGDrawingInterface &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
virtual bool doImportDocument(librevenge::RVNGInputStream &rInput, OdgGenerator &rGenerator, utl::MediaDescriptor &) SAL_OVERRIDE;
};
OUString WPGImportFilter_getImplementationName()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment