xref: /aoo41x/main/svx/inc/svx/unomodel.hxx (revision 3334a7e6)
1*3334a7e6SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*3334a7e6SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*3334a7e6SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*3334a7e6SAndrew Rist  * distributed with this work for additional information
6*3334a7e6SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*3334a7e6SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*3334a7e6SAndrew Rist  * "License"); you may not use this file except in compliance
9*3334a7e6SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*3334a7e6SAndrew Rist  *
11*3334a7e6SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*3334a7e6SAndrew Rist  *
13*3334a7e6SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*3334a7e6SAndrew Rist  * software distributed under the License is distributed on an
15*3334a7e6SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*3334a7e6SAndrew Rist  * KIND, either express or implied.  See the License for the
17*3334a7e6SAndrew Rist  * specific language governing permissions and limitations
18*3334a7e6SAndrew Rist  * under the License.
19*3334a7e6SAndrew Rist  *
20*3334a7e6SAndrew Rist  *************************************************************/
21*3334a7e6SAndrew Rist 
22*3334a7e6SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef SVX_UNOMODEL_HXX
25cdf0e10cSrcweir #define SVX_UNOMODEL_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #ifndef SVX_LIGHT
28cdf0e10cSrcweir 
29cdf0e10cSrcweir #include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
30cdf0e10cSrcweir #include <com/sun/star/lang/XServiceInfo.hpp>
31cdf0e10cSrcweir #include <com/sun/star/ucb/XAnyCompareFactory.hpp>
32cdf0e10cSrcweir #include <com/sun/star/io/XOutputStream.hpp>
33cdf0e10cSrcweir #include <com/sun/star/io/XInputStream.hpp>
34cdf0e10cSrcweir #include <sfx2/sfxbasemodel.hxx>
35cdf0e10cSrcweir #include <svx/fmdmod.hxx>
36cdf0e10cSrcweir #include "svx/svxdllapi.h"
37cdf0e10cSrcweir 
38cdf0e10cSrcweir class SdrModel;
39cdf0e10cSrcweir 
40cdf0e10cSrcweir class SVX_DLLPUBLIC SvxUnoDrawingModel : public SfxBaseModel, // implements SfxListener, OWEAKOBJECT & other
41cdf0e10cSrcweir 						   public SvxFmMSFactory,
42cdf0e10cSrcweir 						   public ::com::sun::star::drawing::XDrawPagesSupplier,
43cdf0e10cSrcweir 						   public ::com::sun::star::lang::XServiceInfo,
44cdf0e10cSrcweir 						   public ::com::sun::star::ucb::XAnyCompareFactory
45cdf0e10cSrcweir {
46cdf0e10cSrcweir 	friend class SvxUnoDrawPagesAccess;
47cdf0e10cSrcweir 
48cdf0e10cSrcweir private:
49cdf0e10cSrcweir 	SdrModel* mpDoc;
50cdf0e10cSrcweir 
51cdf0e10cSrcweir 	::com::sun::star::uno::WeakReference< ::com::sun::star::drawing::XDrawPages > mxDrawPagesAccess;
52cdf0e10cSrcweir 
53cdf0e10cSrcweir 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxDashTable;
54cdf0e10cSrcweir 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxGradientTable;
55cdf0e10cSrcweir 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxHatchTable;
56cdf0e10cSrcweir 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxBitmapTable;
57cdf0e10cSrcweir 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxTransGradientTable;
58cdf0e10cSrcweir 	::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxMarkerTable;
59cdf0e10cSrcweir 
60cdf0e10cSrcweir 	::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > maTypeSequence;
61cdf0e10cSrcweir 
62cdf0e10cSrcweir public:
63cdf0e10cSrcweir 	SvxUnoDrawingModel( SdrModel* pDoc ) throw();
64cdf0e10cSrcweir 	virtual ~SvxUnoDrawingModel() throw();
65cdf0e10cSrcweir 
GetDoc() const66cdf0e10cSrcweir 	SdrModel* GetDoc() const { return mpDoc; }
67cdf0e10cSrcweir 
68cdf0e10cSrcweir 	// XInterface
69cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
70cdf0e10cSrcweir 	virtual void SAL_CALL acquire() throw();
71cdf0e10cSrcweir 	virtual void SAL_CALL release() throw();
72cdf0e10cSrcweir 
73cdf0e10cSrcweir 	// XModel
74cdf0e10cSrcweir     virtual void SAL_CALL lockControllers(  ) throw(::com::sun::star::uno::RuntimeException);
75cdf0e10cSrcweir     virtual void SAL_CALL unlockControllers(  ) throw(::com::sun::star::uno::RuntimeException);
76cdf0e10cSrcweir     virtual sal_Bool SAL_CALL hasControllersLocked(  ) throw(::com::sun::star::uno::RuntimeException);
77cdf0e10cSrcweir 
78cdf0e10cSrcweir 	// XTypeProvider
79cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes(  ) throw(::com::sun::star::uno::RuntimeException);
80cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId(  ) throw(::com::sun::star::uno::RuntimeException);
81cdf0e10cSrcweir 
82cdf0e10cSrcweir 	// XDrawPagesSupplier
83cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPages > SAL_CALL getDrawPages(  ) throw(::com::sun::star::uno::RuntimeException);
84cdf0e10cSrcweir 
85cdf0e10cSrcweir 	// XMultiServiceFactory ( SvxFmMSFactory )
86cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstance( const ::rtl::OUString& aServiceSpecifier ) throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
87cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableServiceNames(  ) throw(::com::sun::star::uno::RuntimeException);
88cdf0e10cSrcweir 
89cdf0e10cSrcweir 	// XServiceInfo
90cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
91cdf0e10cSrcweir     virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
92cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
93cdf0e10cSrcweir 
94cdf0e10cSrcweir 	// XAnyCompareFactory
95cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XAnyCompare > SAL_CALL createAnyCompareByName( const ::rtl::OUString& PropertyName ) throw(::com::sun::star::uno::RuntimeException);
96cdf0e10cSrcweir };
97cdf0e10cSrcweir 
98cdf0e10cSrcweir SVX_DLLPUBLIC extern sal_Bool SvxDrawingLayerExport( SdrModel* pModel, const com::sun::star::uno::Reference<com::sun::star::io::XOutputStream>& xOut );
99cdf0e10cSrcweir SVX_DLLPUBLIC extern sal_Bool SvxDrawingLayerExport( SdrModel* pModel, const com::sun::star::uno::Reference<com::sun::star::io::XOutputStream>& xOut, const com::sun::star::uno::Reference< com::sun::star::lang::XComponent >& xComponent );
100cdf0e10cSrcweir SVX_DLLPUBLIC extern sal_Bool SvxDrawingLayerExport( SdrModel* pModel, const com::sun::star::uno::Reference<com::sun::star::io::XOutputStream>& xOut, const com::sun::star::uno::Reference< com::sun::star::lang::XComponent >& xComponent, const char* pExportService  );
101cdf0e10cSrcweir SVX_DLLPUBLIC extern sal_Bool SvxDrawingLayerImport( SdrModel* pModel, const com::sun::star::uno::Reference<com::sun::star::io::XInputStream>& xInputStream );
102cdf0e10cSrcweir SVX_DLLPUBLIC extern sal_Bool SvxDrawingLayerImport( SdrModel* pModel, const com::sun::star::uno::Reference<com::sun::star::io::XInputStream>& xInputStream, const com::sun::star::uno::Reference< com::sun::star::lang::XComponent >& xComponent  );
103cdf0e10cSrcweir SVX_DLLPUBLIC extern sal_Bool SvxDrawingLayerImport( SdrModel* pModel, const com::sun::star::uno::Reference<com::sun::star::io::XInputStream>& xInputStream, const com::sun::star::uno::Reference< com::sun::star::lang::XComponent >& xComponent, const char* pImportService );
104cdf0e10cSrcweir 
105cdf0e10cSrcweir #endif
106cdf0e10cSrcweir 
107cdf0e10cSrcweir #endif
108cdf0e10cSrcweir 
109