/* -*- 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/. */ /* "This product is not manufactured, approved, or supported by * Corel Corporation or Corel Corporation Limited." */ #ifndef INCLUDED_WRITERPERFECT_SOURCE_WRITER_WORDPERFECTIMPORTFILTER_HXX #define INCLUDED_WRITERPERFECT_SOURCE_WRITER_WORDPERFECTIMPORTFILTER_HXX #include #include #include #include #include #include #include #include #include #include #include /* 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 WordPerfectImportFilter : public cppu::WeakImplHelper < css::document::XFilter, css::document::XImporter, css::document::XExtendedFilterDetection, css::lang::XInitialization, css::lang::XServiceInfo > { protected: css::uno::Reference< css::uno::XComponentContext > mxContext; css::uno::Reference< css::lang::XComponent > mxDoc; OUString msFilterName; bool SAL_CALL importImpl(const css::uno::Sequence< css::beans::PropertyValue > &aDescriptor) throw (css::uno::RuntimeException, std::exception); public: explicit WordPerfectImportFilter(const css::uno::Reference< css::uno::XComponentContext > &rxContext) : mxContext(rxContext) {} virtual ~WordPerfectImportFilter() override {} // XFilter virtual sal_Bool SAL_CALL filter(const css::uno::Sequence< css::beans::PropertyValue > &aDescriptor) throw (css::uno::RuntimeException, std::exception) override; virtual void SAL_CALL cancel() throw (css::uno::RuntimeException, std::exception) override; // XImporter virtual void SAL_CALL setTargetDocument(const css::uno::Reference< css::lang::XComponent > &xDoc) throw (css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) override; //XExtendedFilterDetection virtual OUString SAL_CALL detect(css::uno::Sequence< css::beans::PropertyValue > &Descriptor) throw(css::uno::RuntimeException, std::exception) override; // XInitialization virtual void SAL_CALL initialize(const css::uno::Sequence< css::uno::Any > &aArguments) throw (css::uno::Exception, css::uno::RuntimeException, std::exception) override; // XServiceInfo virtual OUString SAL_CALL getImplementationName() throw (css::uno::RuntimeException, std::exception) override; virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) throw (css::uno::RuntimeException, std::exception) override; virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw (css::uno::RuntimeException, std::exception) override; }; bool SAL_CALL WordPerfectImportFilter_supportsService(const OUString &ServiceName) throw (css::uno::RuntimeException); #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */