20#ifndef INCLUDED_OOX_CORE_FILTERBASE_HXX
21#define INCLUDED_OOX_CORE_FILTERBASE_HXX
25#include <com/sun/star/document/XExporter.hpp>
26#include <com/sun/star/document/XFilter.hpp>
27#include <com/sun/star/document/XImporter.hpp>
28#include <com/sun/star/lang/XInitialization.hpp>
29#include <com/sun/star/lang/XServiceInfo.hpp>
30#include <com/sun/star/uno/Any.hxx>
31#include <com/sun/star/uno/Reference.hxx>
32#include <com/sun/star/uno/Sequence.hxx>
37#include <rtl/ustring.hxx>
41 namespace beans {
struct PropertyValue; }
42 namespace drawing {
class XShape; }
43 namespace frame {
class XFrame; }
44 namespace frame {
class XModel; }
45 namespace io {
class XInputStream; }
46 namespace io {
class XOutputStream; }
47 namespace io {
class XStream; }
48 namespace lang {
class XComponent; }
49 namespace lang {
class XMultiServiceFactory; }
50 namespace task {
class XStatusIndicator; }
51 namespace uno {
class XComponentContext; }
55 class SequenceAsHashMap;
58 class MediaDescriptor;
63 class ModelObjectHelper;
67 class OleObjectHelper;
88typedef ::cppu::WeakImplHelper<
89 css::lang::XServiceInfo,
90 css::lang::XInitialization,
91 css::document::XImporter,
92 css::document::XExporter,
93 css::document::XFilter >
101 const css::uno::Reference< css::uno::XComponentContext >& rxContext );
106 bool isImportFilter()
const;
108 bool isExportFilter()
const;
120 const css::uno::Reference< css::uno::XComponentContext >&
124 const css::uno::Reference< css::frame::XModel >&
128 const css::uno::Reference< css::lang::XMultiServiceFactory >&
129 getModelFactory()
const;
132 const css::uno::Reference< css::frame::XFrame >&
133 getTargetFrame()
const;
136 const css::uno::Reference< css::task::XStatusIndicator >&
137 getStatusIndicator()
const;
146 const OUString& getFileUrl()
const;
149 OUString getAbsoluteUrl(
const OUString& rUrl )
const;
162 css::uno::Reference< css::io::XInputStream >
163 openInputStream(
const OUString& rStreamName )
const;
173 css::uno::Reference< css::io::XOutputStream >
174 openOutputStream(
const OUString& rStreamName )
const;
177 void commitStorage()
const;
189 const css::uno::Reference<css::lang::XMultiServiceFactory>& xFactory)
const;
206 virtual css::uno::Sequence< OUString > SAL_CALL
221 virtual void SAL_CALL initialize(
222 const css::uno::Sequence< css::uno::Any >& rArgs )
override;
226 virtual void SAL_CALL setTargetDocument(
227 const css::uno::Reference< css::lang::XComponent >& rxDocument )
override;
231 virtual void SAL_CALL setSourceDocument(
232 const css::uno::Reference< css::lang::XComponent >& rxDocument )
override;
237 const css::uno::Sequence< css::beans::PropertyValue >& rMediaDescSeq )
override;
239 virtual void SAL_CALL cancel()
override;
241 bool exportVBA()
const;
243 bool isExportTemplate()
const;
246 virtual css::uno::Reference< css::io::XInputStream >
248 virtual css::uno::Reference< css::io::XStream >
253 css::uno::Reference< css::io::XStream >
const &
254 getMainDocumentStream( )
const;
257 void setMediaDescriptor(
258 const css::uno::Sequence< css::beans::PropertyValue >& rMediaDescSeq );
268 const css::uno::Reference< css::io::XInputStream >& rxInStream )
const = 0;
270 const css::uno::Reference< css::io::XStream >& rxOutStream )
const = 0;
273 std::unique_ptr< FilterBaseImpl >
mxImpl;
Provides helper functions for colors, device measurement conversion, graphics, and graphic objects ha...
Contains tables for named drawing objects for a document model.
virtual bool importDocument()=0
Derived classes implement import of the entire document.
virtual bool exportDocument()=0
Derived classes implement export of the entire document.
virtual StorageRef implCreateStorage(const css::uno::Reference< css::io::XStream > &rxOutStream) const =0
std::unique_ptr< FilterBaseImpl > mxImpl
virtual ::oox::ole::VbaProject * implCreateVbaProject() const =0
Derived classes create a VBA project manager object.
virtual StorageRef implCreateStorage(const css::uno::Reference< css::io::XInputStream > &rxInStream) const =0
Helper for OLE object handling.
Reference< XComponentContext > getComponentContext(Reference< XMultiServiceFactory > const &factory)
css::uno::Sequence< OUString > getSupportedServiceNames()
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
@ ECMA_376_1ST_EDITION
There are currently 5 editions of ECMA-376, latest is from 2021.
::cppu::WeakImplHelper< css::lang::XServiceInfo, css::lang::XInitialization, css::document::XImporter, css::document::XExporter, css::document::XFilter > FilterBase_BASE
std::shared_ptr< StorageBase > StorageRef
css::uno::Sequence< sal_Int8 > StreamDataSequence