1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 #ifndef _VISIOIMPORTFILTER_HXX
9 #define _VISIOIMPORTFILTER_HXX
11 #include <com/sun/star/document/XFilter.hpp>
12 #include <com/sun/star/document/XImporter.hpp>
13 #include <com/sun/star/document/XExtendedFilterDetection.hpp>
14 #include <com/sun/star/lang/XInitialization.hpp>
15 #include <com/sun/star/lang/XServiceInfo.hpp>
16 #include <com/sun/star/uno/XComponentContext.hpp>
17 #include <com/sun/star/xml/sax/XDocumentHandler.hpp>
18 #include <cppuhelper/implbase5.hxx>
22 /* This component will be instantiated for both import or export. Whether it calls
23 * setSourceDocument or setTargetDocument determines which Impl function the filter
25 class VisioImportFilter
: public cppu::WeakImplHelper5
27 com::sun::star::document::XFilter
,
28 com::sun::star::document::XImporter
,
29 com::sun::star::document::XExtendedFilterDetection
,
30 com::sun::star::lang::XInitialization
,
31 com::sun::star::lang::XServiceInfo
36 ::com::sun::star::uno::Reference
< ::com::sun::star::uno::XComponentContext
> mxContext
;
37 ::com::sun::star::uno::Reference
< ::com::sun::star::lang::XComponent
> mxDoc
;
38 OUString msFilterName
;
39 ::com::sun::star::uno::Reference
< ::com::sun::star::xml::sax::XDocumentHandler
> mxHandler
;
42 VisioImportFilter( const ::com::sun::star::uno::Reference
< ::com::sun::star::uno::XComponentContext
> &rxContext
)
43 : mxContext( rxContext
) {}
44 virtual ~VisioImportFilter() {}
47 virtual sal_Bool SAL_CALL
filter( const ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
>& aDescriptor
)
48 throw (::com::sun::star::uno::RuntimeException
);
49 virtual void SAL_CALL
cancel( )
50 throw (::com::sun::star::uno::RuntimeException
);
53 virtual void SAL_CALL
setTargetDocument( const ::com::sun::star::uno::Reference
< ::com::sun::star::lang::XComponent
>& xDoc
)
54 throw (::com::sun::star::lang::IllegalArgumentException
, ::com::sun::star::uno::RuntimeException
);
56 //XExtendedFilterDetection
57 virtual OUString SAL_CALL
detect( com::sun::star::uno::Sequence
< com::sun::star::beans::PropertyValue
>& Descriptor
)
58 throw( com::sun::star::uno::RuntimeException
);
61 virtual void SAL_CALL
initialize( const ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Any
>& aArguments
)
62 throw (::com::sun::star::uno::Exception
, ::com::sun::star::uno::RuntimeException
);
65 virtual OUString SAL_CALL
getImplementationName( )
66 throw (::com::sun::star::uno::RuntimeException
);
67 virtual sal_Bool SAL_CALL
supportsService( const OUString
&ServiceName
)
68 throw (::com::sun::star::uno::RuntimeException
);
69 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames( )
70 throw (::com::sun::star::uno::RuntimeException
);
74 OUString
VisioImportFilter_getImplementationName()
75 throw ( ::com::sun::star::uno::RuntimeException
);
77 sal_Bool SAL_CALL
VisioImportFilter_supportsService( const OUString
&ServiceName
)
78 throw ( ::com::sun::star::uno::RuntimeException
);
80 ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
VisioImportFilter_getSupportedServiceNames( )
81 throw ( ::com::sun::star::uno::RuntimeException
);
83 ::com::sun::star::uno::Reference
< ::com::sun::star::uno::XInterface
>
84 SAL_CALL
VisioImportFilter_createInstance( const ::com::sun::star::uno::Reference
< ::com::sun::star::uno::XComponentContext
> & rContext
)
85 throw ( ::com::sun::star::uno::Exception
);
89 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */