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