Kaydet (Commit) 23a2f5fc authored tarafından Fridrich Štrba's avatar Fridrich Štrba

First step for a MWAWImportFilter

Change-Id: I03f48d26a4bafcd82cb96b1b90a7f49f3ea433ce
üst 8569f74b
...@@ -52,10 +52,13 @@ $(eval $(call gb_Library_use_externals,wpftwriter,\ ...@@ -52,10 +52,13 @@ $(eval $(call gb_Library_use_externals,wpftwriter,\
wpd \ wpd \
wpg \ wpg \
wps \ wps \
mwaw \
zlib \
)) ))
$(eval $(call gb_Library_add_exception_objects,wpftwriter,\ $(eval $(call gb_Library_add_exception_objects,wpftwriter,\
writerperfect/source/writer/MSWorksImportFilter \ writerperfect/source/writer/MSWorksImportFilter \
writerperfect/source/writer/MWAWImportFilter \
writerperfect/source/writer/WordPerfectImportFilter \ writerperfect/source/writer/WordPerfectImportFilter \
writerperfect/source/writer/wpftwriter_genericfilter \ writerperfect/source/writer/wpftwriter_genericfilter \
)) ))
......
...@@ -55,7 +55,6 @@ using com::sun::star::xml::sax::XAttributeList; ...@@ -55,7 +55,6 @@ using com::sun::star::xml::sax::XAttributeList;
using com::sun::star::xml::sax::XDocumentHandler; using com::sun::star::xml::sax::XDocumentHandler;
using com::sun::star::xml::sax::XParser; using com::sun::star::xml::sax::XParser;
void callHandler(Reference < XDocumentHandler > xDocHandler);
sal_Bool SAL_CALL MSWorksImportFilter::importImpl( const Sequence< ::com::sun::star::beans::PropertyValue >& aDescriptor ) sal_Bool SAL_CALL MSWorksImportFilter::importImpl( const Sequence< ::com::sun::star::beans::PropertyValue >& aDescriptor )
throw (RuntimeException) throw (RuntimeException)
......
This diff is collapsed.
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* 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 _MWAWIMPORTFILTER_HXX
#define _MWAWIMPORTFILTER_HXX
#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 <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
#include <cppuhelper/implbase5.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 MWAWImportFilter : public cppu::WeakImplHelper5
<
com::sun::star::document::XFilter,
com::sun::star::document::XImporter,
com::sun::star::document::XExtendedFilterDetection,
com::sun::star::lang::XInitialization,
com::sun::star::lang::XServiceInfo
>
{
protected:
::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > mxContext;
::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent > mxDoc;
::rtl::OUString msFilterName;
::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > mxHandler;
sal_Bool SAL_CALL importImpl( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > &aDescriptor )
throw (::com::sun::star::uno::RuntimeException);
public:
MWAWImportFilter( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &rxContext )
: mxContext( rxContext ) {}
virtual ~MWAWImportFilter() {}
// 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);
virtual void SAL_CALL cancel( )
throw (::com::sun::star::uno::RuntimeException);
// 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);
//XExtendedFilterDetection
virtual ::rtl::OUString SAL_CALL detect( com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > &Descriptor )
throw( com::sun::star::uno::RuntimeException );
// 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);
// XServiceInfo
virtual ::rtl::OUString SAL_CALL getImplementationName( )
throw (::com::sun::star::uno::RuntimeException);
virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString &ServiceName )
throw (::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( )
throw (::com::sun::star::uno::RuntimeException);
};
::rtl::OUString MWAWImportFilter_getImplementationName()
throw ( ::com::sun::star::uno::RuntimeException );
sal_Bool SAL_CALL MWAWImportFilter_supportsService( const ::rtl::OUString &ServiceName )
throw ( ::com::sun::star::uno::RuntimeException );
::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL MWAWImportFilter_getSupportedServiceNames( )
throw ( ::com::sun::star::uno::RuntimeException );
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
SAL_CALL MWAWImportFilter_createInstance( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &rContext)
throw ( ::com::sun::star::uno::Exception );
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -55,8 +55,6 @@ using com::sun::star::xml::sax::XAttributeList; ...@@ -55,8 +55,6 @@ using com::sun::star::xml::sax::XAttributeList;
using com::sun::star::xml::sax::XDocumentHandler; using com::sun::star::xml::sax::XDocumentHandler;
using com::sun::star::xml::sax::XParser; using com::sun::star::xml::sax::XParser;
void callHandler(Reference < XDocumentHandler > xDocHandler);
static bool handleEmbeddedWPGObject(const WPXBinaryData &data, OdfDocumentHandler *pHandler, const OdfStreamType streamType) static bool handleEmbeddedWPGObject(const WPXBinaryData &data, OdfDocumentHandler *pHandler, const OdfStreamType streamType)
{ {
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include "WordPerfectImportFilter.hxx" #include "WordPerfectImportFilter.hxx"
#include "MSWorksImportFilter.hxx" #include "MSWorksImportFilter.hxx"
#include "MWAWImportFilter.hxx"
namespace { namespace {
...@@ -43,6 +44,9 @@ static cppu::ImplementationEntry const services[] = { ...@@ -43,6 +44,9 @@ static cppu::ImplementationEntry const services[] = {
{ &MSWorksImportFilter_createInstance, &MSWorksImportFilter_getImplementationName, { &MSWorksImportFilter_createInstance, &MSWorksImportFilter_getImplementationName,
&MSWorksImportFilter_getSupportedServiceNames, &MSWorksImportFilter_getSupportedServiceNames,
&cppu::createSingleComponentFactory, 0, 0 }, &cppu::createSingleComponentFactory, 0, 0 },
{ &MWAWImportFilter_createInstance, &MWAWImportFilter_getImplementationName,
&MWAWImportFilter_getSupportedServiceNames,
&cppu::createSingleComponentFactory, 0, 0 },
{ 0, 0, 0, 0, 0, 0 } }; { 0, 0, 0, 0, 0, 0 } };
} }
......
...@@ -22,6 +22,10 @@ ...@@ -22,6 +22,10 @@
<service name="com.sun.star.document.ImportFilter"/> <service name="com.sun.star.document.ImportFilter"/>
<service name="com.sun.star.document.ExtendedTypeDetection"/> <service name="com.sun.star.document.ExtendedTypeDetection"/>
</implementation> </implementation>
<implementation name="com.sun.star.comp.Writer.MWAWImportFilter">
<service name="com.sun.star.document.ImportFilter"/>
<service name="com.sun.star.document.ExtendedTypeDetection"/>
</implementation>
<implementation name="com.sun.star.comp.Writer.WordPerfectImportFilter"> <implementation name="com.sun.star.comp.Writer.WordPerfectImportFilter">
<service name="com.sun.star.document.ExtendedTypeDetection"/> <service name="com.sun.star.document.ExtendedTypeDetection"/>
<service name="com.sun.star.document.ImportFilter"/> <service name="com.sun.star.document.ImportFilter"/>
......
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