1*cdf0e10cSrcweir /*************************************************************************
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir  *
7*cdf0e10cSrcweir  * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir  *
9*cdf0e10cSrcweir  * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir  *
11*cdf0e10cSrcweir  * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir  * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir  * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir  * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir  * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir  *
21*cdf0e10cSrcweir  * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir  * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir  * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir  * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir  *
26*cdf0e10cSrcweir  ************************************************************************/
27*cdf0e10cSrcweir 
28*cdf0e10cSrcweir #ifndef REPORTDESIGN_API_REPORTDEFINITION_HXX
29*cdf0e10cSrcweir #define REPORTDESIGN_API_REPORTDEFINITION_HXX
30*cdf0e10cSrcweir 
31*cdf0e10cSrcweir #include "dllapi.h"
32*cdf0e10cSrcweir 
33*cdf0e10cSrcweir #include "ReportHelperDefines.hxx"
34*cdf0e10cSrcweir 
35*cdf0e10cSrcweir /** === begin UNO includes === **/
36*cdf0e10cSrcweir #include <com/sun/star/datatransfer/XTransferable.hpp>
37*cdf0e10cSrcweir #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
38*cdf0e10cSrcweir #include <com/sun/star/document/XUndoManagerSupplier.hpp>
39*cdf0e10cSrcweir #include <com/sun/star/frame/XModule.hpp>
40*cdf0e10cSrcweir #include <com/sun/star/frame/XTitle.hpp>
41*cdf0e10cSrcweir #include <com/sun/star/frame/XTitleChangeBroadcaster.hpp>
42*cdf0e10cSrcweir #include <com/sun/star/frame/XUntitledNumbers.hpp>
43*cdf0e10cSrcweir #include <com/sun/star/lang/XServiceInfo.hpp>
44*cdf0e10cSrcweir #include <com/sun/star/lang/XTypeProvider.hpp>
45*cdf0e10cSrcweir #include <com/sun/star/lang/XUnoTunnel.hpp>
46*cdf0e10cSrcweir #include <com/sun/star/report/XReportDefinition.hpp>
47*cdf0e10cSrcweir #include <com/sun/star/util/XNumberFormatsSupplier.hpp>
48*cdf0e10cSrcweir /** === end UNO includes === **/
49*cdf0e10cSrcweir 
50*cdf0e10cSrcweir #include <comphelper/embeddedobjectcontainer.hxx>
51*cdf0e10cSrcweir #include <comphelper/uno3.hxx>
52*cdf0e10cSrcweir #include <cppuhelper/basemutex.hxx>
53*cdf0e10cSrcweir #include <cppuhelper/propertysetmixin.hxx>
54*cdf0e10cSrcweir #include <svx/unomod.hxx>
55*cdf0e10cSrcweir 
56*cdf0e10cSrcweir #if !defined(INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_13)
57*cdf0e10cSrcweir #define INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_13
58*cdf0e10cSrcweir #define COMPHELPER_IMPLBASE_INTERFACE_NUMBER 13
59*cdf0e10cSrcweir #include <comphelper/implbase_var.hxx>
60*cdf0e10cSrcweir #endif
61*cdf0e10cSrcweir 
62*cdf0e10cSrcweir #include <boost/shared_ptr.hpp>
63*cdf0e10cSrcweir 
64*cdf0e10cSrcweir 
65*cdf0e10cSrcweir namespace rptui
66*cdf0e10cSrcweir {
67*cdf0e10cSrcweir     class OReportModel;
68*cdf0e10cSrcweir }
69*cdf0e10cSrcweir namespace comphelper
70*cdf0e10cSrcweir {
71*cdf0e10cSrcweir     class MediaDescriptor;
72*cdf0e10cSrcweir }
73*cdf0e10cSrcweir namespace reportdesign
74*cdf0e10cSrcweir {
75*cdf0e10cSrcweir     class OReportComponentProperties;
76*cdf0e10cSrcweir     typedef ::comphelper::WeakComponentImplHelper13 <   ::com::sun::star::report::XReportDefinition
77*cdf0e10cSrcweir                                                     ,   ::com::sun::star::document::XEventBroadcaster
78*cdf0e10cSrcweir                                                     ,   ::com::sun::star::lang::XServiceInfo
79*cdf0e10cSrcweir                                                     ,   ::com::sun::star::frame::XModule
80*cdf0e10cSrcweir                                                     ,   ::com::sun::star::lang::XUnoTunnel
81*cdf0e10cSrcweir                                                     ,   ::com::sun::star::util::XNumberFormatsSupplier
82*cdf0e10cSrcweir                                                     ,   ::com::sun::star::frame::XTitle
83*cdf0e10cSrcweir                                                     ,   ::com::sun::star::frame::XTitleChangeBroadcaster
84*cdf0e10cSrcweir                                                     ,   ::com::sun::star::frame::XUntitledNumbers
85*cdf0e10cSrcweir                                                     ,   ::com::sun::star::document::XDocumentPropertiesSupplier
86*cdf0e10cSrcweir                                                     ,   ::com::sun::star::datatransfer::XTransferable
87*cdf0e10cSrcweir                                                     ,   ::com::sun::star::document::XUndoManagerSupplier
88*cdf0e10cSrcweir                                                     ,   SvxUnoDrawMSFactory
89*cdf0e10cSrcweir                                                     >   ReportDefinitionBase;
90*cdf0e10cSrcweir 
91*cdf0e10cSrcweir     typedef ::cppu::PropertySetMixin< ::com::sun::star::report::XReportDefinition > ReportDefinitionPropertySet;
92*cdf0e10cSrcweir 
93*cdf0e10cSrcweir     struct OReportDefinitionImpl;
94*cdf0e10cSrcweir     /** \class OReportDefinition Defines the implementation of a \interface com:::sun::star::report::XReportDefinition
95*cdf0e10cSrcweir 	 * \ingroup reportdesign_api
96*cdf0e10cSrcweir 	 *
97*cdf0e10cSrcweir 	 */
98*cdf0e10cSrcweir     class REPORTDESIGN_DLLPUBLIC OReportDefinition  :public ::cppu::BaseMutex
99*cdf0e10cSrcweir 								                    ,public ReportDefinitionBase
100*cdf0e10cSrcweir 								                    ,public ReportDefinitionPropertySet
101*cdf0e10cSrcweir                                                     ,public ::comphelper::IEmbeddedHelper
102*cdf0e10cSrcweir 	{
103*cdf0e10cSrcweir     private:
104*cdf0e10cSrcweir 		::boost::shared_ptr<OReportComponentProperties>								m_aProps;
105*cdf0e10cSrcweir         ::boost::shared_ptr<OReportDefinitionImpl>                                  m_pImpl;
106*cdf0e10cSrcweir 
107*cdf0e10cSrcweir     private:
108*cdf0e10cSrcweir 		OReportDefinition(const OReportDefinition&);
109*cdf0e10cSrcweir 		OReportDefinition& operator=(const OReportDefinition&);
110*cdf0e10cSrcweir 
111*cdf0e10cSrcweir 		void setSection(	 const ::rtl::OUString& _sProperty
112*cdf0e10cSrcweir 							,const sal_Bool& _bOn
113*cdf0e10cSrcweir 							,const ::rtl::OUString& _sName
114*cdf0e10cSrcweir 							,::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _member);
115*cdf0e10cSrcweir 
116*cdf0e10cSrcweir 		template <typename T> void set(	 const ::rtl::OUString& _sProperty
117*cdf0e10cSrcweir 										,const T& _Value
118*cdf0e10cSrcweir 										,T& _member)
119*cdf0e10cSrcweir 		{
120*cdf0e10cSrcweir 			BoundListeners l;
121*cdf0e10cSrcweir 			{
122*cdf0e10cSrcweir 				::osl::MutexGuard aGuard(m_aMutex);
123*cdf0e10cSrcweir 				prepareSet(_sProperty, ::com::sun::star::uno::makeAny(_member), ::com::sun::star::uno::makeAny(_Value), &l);
124*cdf0e10cSrcweir 				_member = _Value;
125*cdf0e10cSrcweir 			}
126*cdf0e10cSrcweir 			l.notify();
127*cdf0e10cSrcweir 		}
128*cdf0e10cSrcweir 
129*cdf0e10cSrcweir 		/// write a single XML stream into the package
130*cdf0e10cSrcweir 		sal_Bool WriteThroughComponent(
131*cdf0e10cSrcweir 			/// the component we export
132*cdf0e10cSrcweir 			const ::com::sun::star::uno::Reference<
133*cdf0e10cSrcweir 				::com::sun::star::lang::XComponent> & xComponent,
134*cdf0e10cSrcweir 			const sal_Char* pStreamName,		/// the stream name
135*cdf0e10cSrcweir 			const sal_Char* pServiceName,		/// service name of the component
136*cdf0e10cSrcweir 			/// the argument (XInitialization)
137*cdf0e10cSrcweir 			const ::com::sun::star::uno::Sequence<
138*cdf0e10cSrcweir 				::com::sun::star::uno::Any> & rArguments,
139*cdf0e10cSrcweir 			/// output descriptor
140*cdf0e10cSrcweir 			const ::com::sun::star::uno::Sequence<
141*cdf0e10cSrcweir 				::com::sun::star::beans::PropertyValue> & rMediaDesc,
142*cdf0e10cSrcweir 			sal_Bool bPlainStream
143*cdf0e10cSrcweir 			, const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& _xStorageToSaveTo);			/// neither compress nor encrypt
144*cdf0e10cSrcweir 
145*cdf0e10cSrcweir 		/// write a single output stream
146*cdf0e10cSrcweir 		/// (to be called either directly or by WriteThroughComponent(...))
147*cdf0e10cSrcweir 		sal_Bool WriteThroughComponent(
148*cdf0e10cSrcweir 			const ::com::sun::star::uno::Reference<
149*cdf0e10cSrcweir 				::com::sun::star::io::XOutputStream> & xOutputStream,
150*cdf0e10cSrcweir 			const ::com::sun::star::uno::Reference<
151*cdf0e10cSrcweir 				::com::sun::star::lang::XComponent> & xComponent,
152*cdf0e10cSrcweir 			const sal_Char* pServiceName,
153*cdf0e10cSrcweir 			const ::com::sun::star::uno::Sequence<
154*cdf0e10cSrcweir 				::com::sun::star::uno::Any> & rArguments,
155*cdf0e10cSrcweir 			const ::com::sun::star::uno::Sequence<
156*cdf0e10cSrcweir 				::com::sun::star::beans::PropertyValue> & rMediaDesc);
157*cdf0e10cSrcweir 
158*cdf0e10cSrcweir 		void notifyEvent(const ::rtl::OUString& _sEventName);
159*cdf0e10cSrcweir         void init();
160*cdf0e10cSrcweir         void fillArgs(::comphelper::MediaDescriptor& _aDescriptor);
161*cdf0e10cSrcweir 
162*cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::frame::XTitle >             impl_getTitleHelper_throw();
163*cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::frame::XUntitledNumbers >   impl_getUntitledHelper_throw();
164*cdf0e10cSrcweir 
165*cdf0e10cSrcweir         /** loads the report definition from the given storage
166*cdf0e10cSrcweir             @precond
167*cdf0e10cSrcweir                 our mutex is locked
168*cdf0e10cSrcweir             @throws
169*cdf0e10cSrcweir         */
170*cdf0e10cSrcweir         void impl_loadFromStorage_nolck_throw(
171*cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& _rxStorage,
172*cdf0e10cSrcweir             const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _rArguments
173*cdf0e10cSrcweir         );
174*cdf0e10cSrcweir 
175*cdf0e10cSrcweir 	protected:
176*cdf0e10cSrcweir 		virtual ~OReportDefinition();
177*cdf0e10cSrcweir 
178*cdf0e10cSrcweir         /** this function is called upon disposing the component
179*cdf0e10cSrcweir         */
180*cdf0e10cSrcweir         virtual void SAL_CALL disposing();
181*cdf0e10cSrcweir 	public:
182*cdf0e10cSrcweir 		explicit OReportDefinition(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & _xContext);
183*cdf0e10cSrcweir         explicit OReportDefinition(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & _xContext
184*cdf0e10cSrcweir                                   ,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & _xFactory
185*cdf0e10cSrcweir                                   ,::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& _xShape);
186*cdf0e10cSrcweir 
187*cdf0e10cSrcweir 		static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(void) throw( ::com::sun::star::uno::RuntimeException );
188*cdf0e10cSrcweir 		static ::rtl::OUString getImplementationName_Static(void) throw( ::com::sun::star::uno::RuntimeException );
189*cdf0e10cSrcweir 		static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
190*cdf0e10cSrcweir 			create(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & xContext);
191*cdf0e10cSrcweir 
192*cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > getContext();
193*cdf0e10cSrcweir 
194*cdf0e10cSrcweir         /** return the SdrModel of the real model
195*cdf0e10cSrcweir         *
196*cdf0e10cSrcweir         * \return
197*cdf0e10cSrcweir         */
198*cdf0e10cSrcweir         ::boost::shared_ptr<rptui::OReportModel> getSdrModel() const;
199*cdf0e10cSrcweir 
200*cdf0e10cSrcweir         static ::boost::shared_ptr<rptui::OReportModel> getSdrModel(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition >& _xReportDefinition);
201*cdf0e10cSrcweir     private:
202*cdf0e10cSrcweir         DECLARE_XINTERFACE( )
203*cdf0e10cSrcweir         DECLARE_XTYPEPROVIDER( )
204*cdf0e10cSrcweir 		// ::com::sun::star::lang::XServiceInfo
205*cdf0e10cSrcweir 		virtual ::sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
206*cdf0e10cSrcweir 		virtual ::rtl::OUString SAL_CALL getImplementationName(  ) throw(::com::sun::star::uno::RuntimeException);
207*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames(  ) throw(::com::sun::star::uno::RuntimeException);
208*cdf0e10cSrcweir 
209*cdf0e10cSrcweir 		// com::sun::star::beans::XPropertySet
210*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(  ) throw(::com::sun::star::uno::RuntimeException);
211*cdf0e10cSrcweir 		virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
212*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
213*cdf0e10cSrcweir 		virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
214*cdf0e10cSrcweir 		virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
215*cdf0e10cSrcweir 		virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
216*cdf0e10cSrcweir 		virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
217*cdf0e10cSrcweir 
218*cdf0e10cSrcweir 		// XReportDefinition
219*cdf0e10cSrcweir         virtual ::rtl::OUString SAL_CALL getMimeType() throw (::com::sun::star::uno::RuntimeException);
220*cdf0e10cSrcweir         virtual void SAL_CALL setMimeType( const ::rtl::OUString& _mimetype ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
221*cdf0e10cSrcweir 		virtual ::rtl::OUString SAL_CALL getCaption() throw (::com::sun::star::uno::RuntimeException);
222*cdf0e10cSrcweir 		virtual void SAL_CALL setCaption( const ::rtl::OUString& _caption ) throw (::com::sun::star::uno::RuntimeException);
223*cdf0e10cSrcweir 		virtual ::sal_Int16 SAL_CALL getGroupKeepTogether() throw (::com::sun::star::uno::RuntimeException);
224*cdf0e10cSrcweir 		virtual void SAL_CALL setGroupKeepTogether( ::sal_Int16 _groupkeeptogether ) throw (::com::sun::star::uno::RuntimeException);
225*cdf0e10cSrcweir 		virtual ::sal_Int16 SAL_CALL getPageHeaderOption() throw (::com::sun::star::uno::RuntimeException);
226*cdf0e10cSrcweir 		virtual void SAL_CALL setPageHeaderOption( ::sal_Int16 _pageheaderoption ) throw (::com::sun::star::uno::RuntimeException);
227*cdf0e10cSrcweir 		virtual ::sal_Int16 SAL_CALL getPageFooterOption() throw (::com::sun::star::uno::RuntimeException);
228*cdf0e10cSrcweir 		virtual void SAL_CALL setPageFooterOption( ::sal_Int16 _pagefooteroption ) throw (::com::sun::star::uno::RuntimeException);
229*cdf0e10cSrcweir 		virtual ::rtl::OUString SAL_CALL getCommand() throw (::com::sun::star::uno::RuntimeException);
230*cdf0e10cSrcweir 		virtual void SAL_CALL setCommand( const ::rtl::OUString& _command ) throw (::com::sun::star::uno::RuntimeException);
231*cdf0e10cSrcweir 		virtual ::sal_Int32 SAL_CALL getCommandType() throw (::com::sun::star::uno::RuntimeException);
232*cdf0e10cSrcweir 		virtual void SAL_CALL setCommandType( ::sal_Int32 _commandtype ) throw (::com::sun::star::uno::RuntimeException);
233*cdf0e10cSrcweir         virtual ::rtl::OUString SAL_CALL getFilter() throw (::com::sun::star::uno::RuntimeException);
234*cdf0e10cSrcweir         virtual void SAL_CALL setFilter( const ::rtl::OUString& _filter ) throw (::com::sun::star::uno::RuntimeException);
235*cdf0e10cSrcweir         virtual ::sal_Bool SAL_CALL getEscapeProcessing() throw (::com::sun::star::uno::RuntimeException);
236*cdf0e10cSrcweir         virtual void SAL_CALL setEscapeProcessing( ::sal_Bool _escapeprocessing ) throw (::com::sun::star::uno::RuntimeException);
237*cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > SAL_CALL getActiveConnection() throw (::com::sun::star::uno::RuntimeException);
238*cdf0e10cSrcweir         virtual void SAL_CALL setActiveConnection( const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _activeconnection ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
239*cdf0e10cSrcweir         virtual ::rtl::OUString SAL_CALL getDataSourceName() throw (::com::sun::star::uno::RuntimeException);
240*cdf0e10cSrcweir         virtual void SAL_CALL setDataSourceName( const ::rtl::OUString& _datasourcename ) throw (::com::sun::star::uno::RuntimeException);
241*cdf0e10cSrcweir 		virtual ::sal_Bool SAL_CALL getReportHeaderOn() throw (::com::sun::star::uno::RuntimeException);
242*cdf0e10cSrcweir 		virtual void SAL_CALL setReportHeaderOn( ::sal_Bool _reportheaderon ) throw (::com::sun::star::uno::RuntimeException);
243*cdf0e10cSrcweir 		virtual ::sal_Bool SAL_CALL getReportFooterOn() throw (::com::sun::star::uno::RuntimeException);
244*cdf0e10cSrcweir 		virtual void SAL_CALL setReportFooterOn( ::sal_Bool _reportfooteron ) throw (::com::sun::star::uno::RuntimeException);
245*cdf0e10cSrcweir 		virtual ::sal_Bool SAL_CALL getPageHeaderOn() throw (::com::sun::star::uno::RuntimeException);
246*cdf0e10cSrcweir 		virtual void SAL_CALL setPageHeaderOn( ::sal_Bool _pageheaderon ) throw (::com::sun::star::uno::RuntimeException);
247*cdf0e10cSrcweir 		virtual ::sal_Bool SAL_CALL getPageFooterOn() throw (::com::sun::star::uno::RuntimeException);
248*cdf0e10cSrcweir 		virtual void SAL_CALL setPageFooterOn( ::sal_Bool _pagefooteron ) throw (::com::sun::star::uno::RuntimeException);
249*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroups > SAL_CALL getGroups() throw (::com::sun::star::uno::RuntimeException);
250*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > SAL_CALL getReportHeader() throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
251*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > SAL_CALL getPageHeader() throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
252*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > SAL_CALL getDetail() throw (::com::sun::star::uno::RuntimeException);
253*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > SAL_CALL getPageFooter() throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
254*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > SAL_CALL getReportFooter() throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
255*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventBroadcaster > SAL_CALL getEventBroadcaster(  ) throw (::com::sun::star::lang::DisposedException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
256*cdf0e10cSrcweir         virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableMimeTypes(  ) throw (::com::sun::star::lang::DisposedException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
257*cdf0e10cSrcweir 
258*cdf0e10cSrcweir 		// XReportComponent
259*cdf0e10cSrcweir         REPORTCOMPONENT_HEADER()
260*cdf0e10cSrcweir 
261*cdf0e10cSrcweir         // XShape
262*cdf0e10cSrcweir         SHAPE_HEADER()
263*cdf0e10cSrcweir 
264*cdf0e10cSrcweir         // XShapeDescriptor
265*cdf0e10cSrcweir         virtual ::rtl::OUString SAL_CALL getShapeType(  ) throw (::com::sun::star::uno::RuntimeException);
266*cdf0e10cSrcweir 
267*cdf0e10cSrcweir         //XFunctionsSupplier
268*cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunctions > SAL_CALL getFunctions() throw (::com::sun::star::uno::RuntimeException);
269*cdf0e10cSrcweir 
270*cdf0e10cSrcweir 		// XCloneable
271*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone(  ) throw (::com::sun::star::uno::RuntimeException);
272*cdf0e10cSrcweir 
273*cdf0e10cSrcweir 		// XComponent
274*cdf0e10cSrcweir 		virtual void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException);
275*cdf0e10cSrcweir 		virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & aListener) throw(::com::sun::star::uno::RuntimeException)
276*cdf0e10cSrcweir 		{
277*cdf0e10cSrcweir 			cppu::WeakComponentImplHelperBase::addEventListener(aListener);
278*cdf0e10cSrcweir 		}
279*cdf0e10cSrcweir 		virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & aListener) throw(::com::sun::star::uno::RuntimeException)
280*cdf0e10cSrcweir 		{
281*cdf0e10cSrcweir 			cppu::WeakComponentImplHelperBase::removeEventListener(aListener);
282*cdf0e10cSrcweir 		}
283*cdf0e10cSrcweir 
284*cdf0e10cSrcweir 		// XChild
285*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getParent(  ) throw (::com::sun::star::uno::RuntimeException);
286*cdf0e10cSrcweir 		virtual void SAL_CALL setParent( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& Parent ) throw (::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException);
287*cdf0e10cSrcweir 
288*cdf0e10cSrcweir 		// XCloseBroadcaster
289*cdf0e10cSrcweir 		virtual void SAL_CALL addCloseListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseListener >& Listener ) throw (::com::sun::star::uno::RuntimeException);
290*cdf0e10cSrcweir 		virtual void SAL_CALL removeCloseListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseListener >& Listener ) throw (::com::sun::star::uno::RuntimeException);
291*cdf0e10cSrcweir 
292*cdf0e10cSrcweir 		// XCloseable
293*cdf0e10cSrcweir 		virtual void SAL_CALL close( ::sal_Bool DeliverOwnership ) throw (::com::sun::star::util::CloseVetoException, ::com::sun::star::uno::RuntimeException);
294*cdf0e10cSrcweir 
295*cdf0e10cSrcweir 		// XModel
296*cdf0e10cSrcweir 		virtual ::sal_Bool SAL_CALL attachResource( const ::rtl::OUString& URL, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& Arguments ) throw (::com::sun::star::uno::RuntimeException);
297*cdf0e10cSrcweir 		virtual ::rtl::OUString SAL_CALL getURL(  ) throw (::com::sun::star::uno::RuntimeException);
298*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getArgs(  ) throw (::com::sun::star::uno::RuntimeException);
299*cdf0e10cSrcweir 		virtual void SAL_CALL connectController( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController >& Controller ) throw (::com::sun::star::uno::RuntimeException);
300*cdf0e10cSrcweir 		virtual void SAL_CALL disconnectController( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController >& Controller ) throw (::com::sun::star::uno::RuntimeException);
301*cdf0e10cSrcweir 		virtual void SAL_CALL lockControllers(  ) throw (::com::sun::star::uno::RuntimeException);
302*cdf0e10cSrcweir 		virtual void SAL_CALL unlockControllers(  ) throw (::com::sun::star::uno::RuntimeException);
303*cdf0e10cSrcweir 		virtual ::sal_Bool SAL_CALL hasControllersLocked(  ) throw (::com::sun::star::uno::RuntimeException);
304*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController > SAL_CALL getCurrentController(  ) throw (::com::sun::star::uno::RuntimeException);
305*cdf0e10cSrcweir 		virtual void SAL_CALL setCurrentController( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController >& Controller ) throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
306*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getCurrentSelection(  ) throw (::com::sun::star::uno::RuntimeException);
307*cdf0e10cSrcweir 
308*cdf0e10cSrcweir 		// XStorageBasedDocument
309*cdf0e10cSrcweir 		virtual void SAL_CALL loadFromStorage( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMediaDescriptor ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::frame::DoubleInitializationException, ::com::sun::star::io::IOException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
310*cdf0e10cSrcweir 		virtual void SAL_CALL storeToStorage( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMediaDescriptor ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::io::IOException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
311*cdf0e10cSrcweir 		virtual void SAL_CALL switchToStorage( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::io::IOException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
312*cdf0e10cSrcweir 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > SAL_CALL getDocumentStorage(  ) throw (::com::sun::star::io::IOException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
313*cdf0e10cSrcweir 		virtual void SAL_CALL addStorageChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XStorageChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
314*cdf0e10cSrcweir 		virtual void SAL_CALL removeStorageChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XStorageChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
315*cdf0e10cSrcweir 
316*cdf0e10cSrcweir         // XViewDataSupplier
317*cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL getViewData(  ) throw (::com::sun::star::uno::RuntimeException);
318*cdf0e10cSrcweir         virtual void SAL_CALL setViewData( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& Data ) throw (::com::sun::star::uno::RuntimeException);
319*cdf0e10cSrcweir 
320*cdf0e10cSrcweir 		// XLoadable
321*cdf0e10cSrcweir 		virtual void SAL_CALL initNew(  ) throw (::com::sun::star::frame::DoubleInitializationException, ::com::sun::star::io::IOException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
322*cdf0e10cSrcweir 		virtual void SAL_CALL load( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments ) throw (::com::sun::star::frame::DoubleInitializationException, ::com::sun::star::io::IOException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
323*cdf0e10cSrcweir 
324*cdf0e10cSrcweir 		// XVisualObject
325*cdf0e10cSrcweir 		virtual void SAL_CALL setVisualAreaSize( ::sal_Int64 nAspect, const ::com::sun::star::awt::Size& aSize ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::embed::WrongStateException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
326*cdf0e10cSrcweir 		virtual ::com::sun::star::awt::Size SAL_CALL getVisualAreaSize( ::sal_Int64 nAspect ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::embed::WrongStateException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
327*cdf0e10cSrcweir 		virtual ::com::sun::star::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation( ::sal_Int64 nAspect ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::embed::WrongStateException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
328*cdf0e10cSrcweir 		virtual ::sal_Int32 SAL_CALL getMapUnit( ::sal_Int64 nAspect ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
329*cdf0e10cSrcweir 
330*cdf0e10cSrcweir 		// XModifiable2
331*cdf0e10cSrcweir         virtual ::sal_Bool SAL_CALL disableSetModified(  ) throw (::com::sun::star::uno::RuntimeException);
332*cdf0e10cSrcweir         virtual ::sal_Bool SAL_CALL enableSetModified(  ) throw (::com::sun::star::uno::RuntimeException);
333*cdf0e10cSrcweir         virtual ::sal_Bool SAL_CALL isSetModifiedEnabled(  ) throw (::com::sun::star::uno::RuntimeException);
334*cdf0e10cSrcweir 
335*cdf0e10cSrcweir 		// XModifiable
336*cdf0e10cSrcweir 		virtual ::sal_Bool SAL_CALL isModified(  ) throw (::com::sun::star::uno::RuntimeException);
337*cdf0e10cSrcweir 		virtual void SAL_CALL setModified( ::sal_Bool bModified ) throw (::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException);
338*cdf0e10cSrcweir 
339*cdf0e10cSrcweir 		// XModifyBroadcaster
340*cdf0e10cSrcweir 		virtual void SAL_CALL addModifyListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
341*cdf0e10cSrcweir 		virtual void SAL_CALL removeModifyListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
342*cdf0e10cSrcweir 
343*cdf0e10cSrcweir 		// document::XEventBroadcaster
344*cdf0e10cSrcweir 		virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
345*cdf0e10cSrcweir 		virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
346*cdf0e10cSrcweir 
347*cdf0e10cSrcweir 		// document::XEventListener
348*cdf0e10cSrcweir 		virtual void SAL_CALL notifyEvent( const ::com::sun::star::document::EventObject& aEvent ) throw (::com::sun::star::uno::RuntimeException);
349*cdf0e10cSrcweir 
350*cdf0e10cSrcweir         // XUIConfigurationManagerSupplier
351*cdf0e10cSrcweir 	    virtual ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIConfigurationManager > SAL_CALL getUIConfigurationManager(  ) throw (::com::sun::star::uno::RuntimeException);
352*cdf0e10cSrcweir 
353*cdf0e10cSrcweir         // XDocumentSubStorageSupplier
354*cdf0e10cSrcweir 	    virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > SAL_CALL getDocumentSubStorage( const ::rtl::OUString& aStorageName, sal_Int32 nMode ) throw (::com::sun::star::uno::RuntimeException);
355*cdf0e10cSrcweir 	    virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getDocumentSubStoragesNames(  ) throw (::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
356*cdf0e10cSrcweir 
357*cdf0e10cSrcweir         // com::sun::star::lang::XUnoTunnel
358*cdf0e10cSrcweir 		virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException);
359*cdf0e10cSrcweir 		static ::com::sun::star::uno::Sequence< sal_Int8 > getUnoTunnelImplementationId();
360*cdf0e10cSrcweir 
361*cdf0e10cSrcweir         // SvxUnoDrawMSFactory
362*cdf0e10cSrcweir         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);
363*cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstanceWithArguments( const ::rtl::OUString& ServiceSpecifier, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& Arguments ) throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
364*cdf0e10cSrcweir         ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableServiceNames(void) throw( ::com::sun::star::uno::RuntimeException );
365*cdf0e10cSrcweir 
366*cdf0e10cSrcweir         // XStyleFamiliesSupplier
367*cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL getStyleFamilies(  ) throw (::com::sun::star::uno::RuntimeException);
368*cdf0e10cSrcweir 
369*cdf0e10cSrcweir 		// XModule
370*cdf0e10cSrcweir 		virtual void SAL_CALL setIdentifier( const ::rtl::OUString& Identifier ) throw (::com::sun::star::uno::RuntimeException);
371*cdf0e10cSrcweir 		virtual ::rtl::OUString SAL_CALL getIdentifier(  ) throw (::com::sun::star::uno::RuntimeException);
372*cdf0e10cSrcweir 
373*cdf0e10cSrcweir         // XNumberFormatsSupplier
374*cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getNumberFormatSettings(  ) throw (::com::sun::star::uno::RuntimeException);
375*cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormats > SAL_CALL getNumberFormats(  ) throw (::com::sun::star::uno::RuntimeException);
376*cdf0e10cSrcweir 
377*cdf0e10cSrcweir         // XTitle
378*cdf0e10cSrcweir         virtual ::rtl::OUString SAL_CALL getTitle(  ) throw (::com::sun::star::uno::RuntimeException);
379*cdf0e10cSrcweir         virtual void SAL_CALL setTitle( const ::rtl::OUString& sTitle ) throw (::com::sun::star::uno::RuntimeException);
380*cdf0e10cSrcweir 
381*cdf0e10cSrcweir         // XTitleChangeBroadcaster
382*cdf0e10cSrcweir         virtual void SAL_CALL addTitleChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XTitleChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
383*cdf0e10cSrcweir         virtual void SAL_CALL removeTitleChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XTitleChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
384*cdf0e10cSrcweir 
385*cdf0e10cSrcweir         // XUntitledNumbers
386*cdf0e10cSrcweir         virtual ::sal_Int32 SAL_CALL leaseNumber( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xComponent ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
387*cdf0e10cSrcweir         virtual void SAL_CALL releaseNumber( ::sal_Int32 nNumber ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
388*cdf0e10cSrcweir         virtual void SAL_CALL releaseNumberForComponent( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xComponent ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
389*cdf0e10cSrcweir         virtual ::rtl::OUString SAL_CALL getUntitledPrefix(  ) throw (::com::sun::star::uno::RuntimeException);
390*cdf0e10cSrcweir 
391*cdf0e10cSrcweir         // XDocumentPropertiesSupplier
392*cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentProperties > SAL_CALL getDocumentProperties(  ) throw (::com::sun::star::uno::RuntimeException);
393*cdf0e10cSrcweir 
394*cdf0e10cSrcweir         // XTransferable
395*cdf0e10cSrcweir         virtual ::com::sun::star::uno::Any SAL_CALL getTransferData( const ::com::sun::star::datatransfer::DataFlavor& aFlavor ) throw (::com::sun::star::datatransfer::UnsupportedFlavorException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
396*cdf0e10cSrcweir         virtual ::com::sun::star::uno::Sequence< ::com::sun::star::datatransfer::DataFlavor > SAL_CALL getTransferDataFlavors(  ) throw (::com::sun::star::uno::RuntimeException);
397*cdf0e10cSrcweir         virtual ::sal_Bool SAL_CALL isDataFlavorSupported( const ::com::sun::star::datatransfer::DataFlavor& aFlavor ) throw (::com::sun::star::uno::RuntimeException);
398*cdf0e10cSrcweir 
399*cdf0e10cSrcweir         // XUndoManagerSupplier
400*cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XUndoManager > SAL_CALL getUndoManager(  ) throw (::com::sun::star::uno::RuntimeException);
401*cdf0e10cSrcweir 
402*cdf0e10cSrcweir         // comphelper::IEmbeddedHelper
403*cdf0e10cSrcweir         virtual com::sun::star::uno::Reference < com::sun::star::embed::XStorage > getStorage() const;
404*cdf0e10cSrcweir         virtual ::comphelper::EmbeddedObjectContainer& getEmbeddedObjectContainer() const;
405*cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler > getInteractionHandler() const;
406*cdf0e10cSrcweir         virtual bool isEnableSetModified() const;
407*cdf0e10cSrcweir 
408*cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > getContext() const;
409*cdf0e10cSrcweir   	};
410*cdf0e10cSrcweir // =============================================================================
411*cdf0e10cSrcweir } // namespace reportdesign
412*cdf0e10cSrcweir // =============================================================================
413*cdf0e10cSrcweir #endif // REPORTDESIGN_API_REPORTDEFINITION_HXX
414*cdf0e10cSrcweir 
415