1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef _SBA_FORMADAPTER_HXX
25 #define _SBA_FORMADAPTER_HXX
26 
27 #ifndef _SBA_MULTIPLEX_HXX
28 #include "sbamultiplex.hxx"
29 #endif
30 
31 #ifndef _COM_SUN_STAR_SDBC_XROW_HPP_
32 #include <com/sun/star/sdbc/XRow.hpp>
33 #endif
34 #ifndef _COM_SUN_STAR_SDBC_XPARAMETERS_HPP_
35 #include <com/sun/star/sdbc/XParameters.hpp>
36 #endif
37 #ifndef _COM_SUN_STAR_SDBC_XCOLUMNLOCATE_HPP_
38 #include <com/sun/star/sdbc/XColumnLocate.hpp>
39 #endif
40 #ifndef _COM_SUN_STAR_SDBC_XCLOSEABLE_HPP_
41 #include <com/sun/star/sdbc/XCloseable.hpp>
42 #endif
43 #ifndef _COM_SUN_STAR_SDBCX_XROWLOCATE_HPP_
44 #include <com/sun/star/sdbcx/XRowLocate.hpp>
45 #endif
46 #ifndef _COM_SUN_STAR_SDBC_XROWUPDATE_HPP_
47 #include <com/sun/star/sdbc/XRowUpdate.hpp>
48 #endif
49 #ifndef _COM_SUN_STAR_SDBC_XRESULTSETUPDATE_HPP_
50 #include <com/sun/star/sdbc/XResultSetUpdate.hpp>
51 #endif
52 #ifndef _COM_SUN_STAR_SDBC_XROWSET_HPP_
53 #include <com/sun/star/sdbc/XRowSet.hpp>
54 #endif
55 #ifndef _COM_SUN_STAR_SDBCX_XDELETEROWS_HPP_
56 #include <com/sun/star/sdbcx/XDeleteRows.hpp>
57 #endif
58 #ifndef _COM_SUN_STAR_SDBC_XRESULTSETMETADATASUPPLIER_HPP_
59 #include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp>
60 #endif
61 #ifndef _COM_SUN_STAR_SDBC_XWARNINGSSUPPLIER_HPP_
62 #include <com/sun/star/sdbc/XWarningsSupplier.hpp>
63 #endif
64 #ifndef _COM_SUN_STAR_SDBCX_XCOLUMNSSUPPLIER_HPP_
65 #include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
66 #endif
67 #ifndef _COM_SUN_STAR_SDBC_XSQLERRORBROADCASTER_HPP_
68 #include <com/sun/star/sdb/XSQLErrorBroadcaster.hpp>
69 #endif
70 #ifndef _COM_SUN_STAR_SDB_XROWSETAPPROVEBROADCASTER_HPP_
71 #include <com/sun/star/sdb/XRowSetApproveBroadcaster.hpp>
72 #endif
73 #ifndef _COM_SUN_STAR_FORM_XLOADABLE_HPP_
74 #include <com/sun/star/form/XLoadable.hpp>
75 #endif
76 #ifndef _COM_SUN_STAR_SDB_XRESULTSETACCESS_HPP_
77 #include <com/sun/star/sdb/XResultSetAccess.hpp>
78 #endif
79 #ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_
80 #include <com/sun/star/beans/XPropertySet.hpp>
81 #endif
82 #ifndef _COM_SUN_STAR_CONTAINER_XNAMECONTAINER_HPP_
83 #include <com/sun/star/container/XNameContainer.hpp>
84 #endif
85 #ifndef _COM_SUN_STAR_FORM_XFORM_HPP_
86 #include <com/sun/star/form/XForm.hpp>
87 #endif
88 #ifndef _COM_SUN_STAR_BEANS_XMULTIPROPERTYSET_HPP_
89 #include <com/sun/star/beans/XMultiPropertySet.hpp>
90 #endif
91 #ifndef _COM_SUN_STAR_BEANS_XFASTPROPERTYSET_HPP_
92 #include <com/sun/star/beans/XFastPropertySet.hpp>
93 #endif
94 #ifndef _COM_SUN_STAR_CONTAINER_XINDEXCONTAINER_HPP_
95 #include <com/sun/star/container/XIndexContainer.hpp>
96 #endif
97 #ifndef _COM_SUN_STAR_CONTAINER_XCONTAINER_HPP_
98 #include <com/sun/star/container/XContainer.hpp>
99 #endif
100 #ifndef _COM_SUN_STAR_FORM_XRESET_HPP_
101 #include <com/sun/star/form/XReset.hpp>
102 #endif
103 #ifndef _COM_SUN_STAR_FORM_XSUBMIT_HPP_
104 #include <com/sun/star/form/XSubmit.hpp>
105 #endif
106 #ifndef _COM_SUN_STAR_FORM_XDATABASEPARAMETERBROADCASTER_HPP_
107 #include <com/sun/star/form/XDatabaseParameterBroadcaster.hpp>
108 #endif
109 #ifndef _COM_SUN_STAR_CONTAINER_XENUMERATIONACCESS_HPP_
110 #include <com/sun/star/container/XEnumerationAccess.hpp>
111 #endif
112 #ifndef _COM_SUN_STAR_BEANS_XPROPERTYSTATE_HPP_
113 #include <com/sun/star/beans/XPropertyState.hpp>
114 #endif
115 #ifndef _COM_SUN_STAR_AWT_XTABCONTROLLERMODEL_HPP_
116 #include <com/sun/star/awt/XTabControllerModel.hpp>
117 #endif
118 #ifndef _COM_SUN_STAR_IO_XPERSISTOBJECT_HPP_
119 #include <com/sun/star/io/XPersistObject.hpp>
120 #endif
121 #ifndef _COM_SUN_STAR_CONTAINER_XNAMED_HPP_
122 #include <com/sun/star/container/XNamed.hpp>
123 #endif
124 #ifndef _COM_SUN_STAR_UTIL_XCANCELLABLE_HPP_
125 #include <com/sun/star/util/XCancellable.hpp>
126 #endif
127 #ifndef _COMPHELPER_STLTYPES_HXX_
128 #include <comphelper/stl_types.hxx>
129 #endif
130 #ifndef _COMPHELPER_UNO3_HXX_
131 #include <comphelper/uno3.hxx>
132 #endif
133 #ifndef _CPPUHELPER_IMPLBASE12_HXX_
134 #include <cppuhelper/implbase12.hxx>
135 #endif
136 #ifndef _CPPUHELPER_IMPLBASE10_HXX_
137 #include <cppuhelper/implbase10.hxx>
138 #endif
139 #ifndef _DBAUI_MODULE_DBU_HXX_
140 #include "moduledbu.hxx"
141 #endif
142 
143 namespace dbaui
144 {
145 	//==================================================================
146 	// SbaXFormAdapter
147 	//==================================================================
148 
149 	typedef ::cppu::WeakImplHelper12<	::com::sun::star::sdbc::XResultSetMetaDataSupplier
150 									,	::com::sun::star::sdb::XResultSetAccess
151 									,	::com::sun::star::sdbc::XResultSetUpdate
152 									,	::com::sun::star::sdbc::XRowSet
153 									,	::com::sun::star::sdb::XRowSetApproveBroadcaster
154 									,	::com::sun::star::sdbcx::XRowLocate
155 									,	::com::sun::star::sdbc::XRowUpdate
156 									,	::com::sun::star::sdbc::XRow
157 									,	::com::sun::star::sdbcx::XColumnsSupplier
158 									,	::com::sun::star::sdbc::XColumnLocate
159 									// --- stardiv::one::form::component::DatabaseForm ---
160 									,	::com::sun::star::sdbc::XParameters
161 									,	::com::sun::star::sdbcx::XDeleteRows
162 									>	SbaXFormAdapter_BASE1;
163 	typedef ::cppu::ImplHelper12	<	::com::sun::star::sdbc::XWarningsSupplier
164 									,	::com::sun::star::sdbc::XCloseable
165 									,	::com::sun::star::form::XLoadable
166 									,	::com::sun::star::sdb::XSQLErrorBroadcaster
167 									,	::com::sun::star::form::XDatabaseParameterBroadcaster
168 										// --- stardiv::one::form::component::Form ---
169 									,		::com::sun::star::form::XForm
170 									,		::com::sun::star::form::XSubmit
171 									,		::com::sun::star::awt::XTabControllerModel
172 											// --- stardiv::one::form::FormComponent ---
173 									,			::com::sun::star::lang::XComponent
174 									,			::com::sun::star::beans::XFastPropertySet
175 											// already present : ::com::sun::star::form::XFormComponent (base of ::com::sun::star::form::XForm)
176 									,			::com::sun::star::beans::XMultiPropertySet
177 									,			::com::sun::star::container::XNamed
178 									>	SbaXFormAdapter_BASE2;
179 	typedef ::cppu::ImplHelper10	<			::com::sun::star::io::XPersistObject
180 									,			::com::sun::star::beans::XPropertySet
181 										// --- stardiv::one::data::DatabaseCursor ---
182 									,		::com::sun::star::util::XCancellable
183 										// already present : ::com::sun::star::beans::XPropertySet
184 											// --- stardiv::one::data::DatabaseComponent ---
185 											// already present : ::com::sun::star::lang::XComponent
186 											// already present : ::com::sun::star::container::XChild (base of ::com::sun::star::form::XForm)
187 									// interfaces I don't know the service which they belong to ;)
188 									// (they are supported by FmXDatabaseForm, se we support it, too)
189 									,	::com::sun::star::beans::XPropertyState
190 									,	::com::sun::star::form::XReset
191 									,	::com::sun::star::container::XNameContainer
192 									,	::com::sun::star::container::XIndexContainer
193 									,	::com::sun::star::container::XContainer
194 									,	::com::sun::star::container::XEnumerationAccess
195 									// interfaces we need because of other reasons
196 									,	::com::sun::star::beans::XPropertyChangeListener
197 									>	SbaXFormAdapter_BASE3;
198 
199 	class SbaXFormAdapter
200 		:public SbaXFormAdapter_BASE1
201 		,public SbaXFormAdapter_BASE2
202 		,public SbaXFormAdapter_BASE3
203 	{
204 	private:
205         OModuleClient                m_aModuleClient;
206 		::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet > 							m_xMainForm;
207 		::osl::Mutex						m_aMutex;
208 
209 		SbaXLoadMultiplexer					m_aLoadListeners;
210 		SbaXRowSetMultiplexer				m_aRowSetListeners;
211 		SbaXRowSetApproveMultiplexer		m_aRowSetApproveListeners;
212 		SbaXSQLErrorMultiplexer				m_aErrorListeners;
213 		SbaXParameterMultiplexer			m_aParameterListeners;
214 		SbaXSubmitMultiplexer				m_aSubmitListeners;
215 		SbaXResetMultiplexer				m_aResetListeners;
216 
217 		SbaXPropertyChangeMultiplexer		m_aPropertyChangeListeners;
218 		SbaXVetoableChangeMultiplexer		m_aVetoablePropertyChangeListeners;
219 		SbaXPropertiesChangeMultiplexer		m_aPropertiesChangeListeners;
220 
221 		::cppu::OInterfaceContainerHelper	m_aDisposeListeners;
222 		::cppu::OInterfaceContainerHelper	m_aContainerListeners;
223 
224 		// hierarchy administration
225 		::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > 						m_xParent;
226 		::std::vector<	::com::sun::star::uno::Reference< ::com::sun::star::form::XFormComponent > >	m_aChildren;
227 		::std::vector< ::rtl::OUString >																m_aChildNames;
228 
229 		// properties
230 		::rtl::OUString					m_sName;
231 		sal_Int32						m_nNamePropHandle;
232 
233 	public:
getAttachedForm() const234 		::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >  getAttachedForm() const { return m_xMainForm; }
235 
236 	public:
237 		SbaXFormAdapter();
238 		~SbaXFormAdapter();
239 
240 	//	::com::sun::star::uno::Reference< ::com::sun::star::reflection::XIdlClass >  getIdlClass();
241 	//	::com::sun::star::uno::Sequence<::com::sun::star::uno::Reference< ::com::sun::star::reflection::XIdlClass > > getIdlClasses();
242 
243 		void AttachForm(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xNewMaster);
244 
245 		// UNO
246 		DECLARE_UNO3_DEFAULTS(SbaXFormAdapter, SbaXFormAdapter_BASE1);
247 		virtual ::com::sun::star::uno::Any	SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException);
248 
249 		// XTypeProvider
250 		virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes(  ) throw (::com::sun::star::uno::RuntimeException);
251 		virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId(  ) throw (::com::sun::star::uno::RuntimeException);
252 
253 	// ::com::sun::star::sdbc::XCloseable
254 		virtual void SAL_CALL close() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
255 
256 	// ::com::sun::star::sdbc::XResultSetMetaDataSupplier
257 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSetMetaData > SAL_CALL getMetaData() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
258 
259 	// ::com::sun::star::sdbc::XColumnLocate
260 		virtual sal_Int32 SAL_CALL findColumn(const ::rtl::OUString& columnName) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
261 
262 	// ::com::sun::star::sdbcx::XColumnsSupplier
263 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL getColumns() throw(::com::sun::star::uno::RuntimeException);
264 
265 	// ::com::sun::star::sdbc::XRow
266 		virtual sal_Bool SAL_CALL wasNull() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
267 		virtual ::rtl::OUString SAL_CALL getString(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
268 		virtual sal_Bool SAL_CALL getBoolean(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
269 		virtual sal_Int8 SAL_CALL getByte(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
270 		virtual sal_Int16 SAL_CALL getShort(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
271 		virtual sal_Int32 SAL_CALL getInt(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
272 		virtual sal_Int64 SAL_CALL getLong(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
273 		virtual float SAL_CALL getFloat(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
274 		virtual double SAL_CALL getDouble(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
275 		virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getBytes(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
276 		virtual ::com::sun::star::util::Date SAL_CALL getDate(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
277 		virtual ::com::sun::star::util::Time SAL_CALL getTime(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
278 		virtual ::com::sun::star::util::DateTime SAL_CALL getTimestamp(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
279 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >  SAL_CALL getBinaryStream(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
280 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >  SAL_CALL getCharacterStream(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
281 		virtual ::com::sun::star::uno::Any SAL_CALL getObject(sal_Int32 columnIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& typeMap) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
282 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef >  SAL_CALL getRef(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
283 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob >  SAL_CALL getBlob(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
284 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob >  SAL_CALL getClob(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
285 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XArray >  SAL_CALL getArray(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
286 
287 	// ::com::sun::star::sdbcx::XRowLocate
288 		virtual ::com::sun::star::uno::Any SAL_CALL getBookmark() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
289 		virtual sal_Bool SAL_CALL moveToBookmark(const ::com::sun::star::uno::Any& bookmark) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
290 		virtual sal_Bool SAL_CALL moveRelativeToBookmark(const ::com::sun::star::uno::Any& bookmark, sal_Int32 rows) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
291 		virtual sal_Int32 SAL_CALL compareBookmarks(const ::com::sun::star::uno::Any& first, const ::com::sun::star::uno::Any& second) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
292 		virtual sal_Bool SAL_CALL hasOrderedBookmarks() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
293 		virtual sal_Int32 SAL_CALL hashBookmark(const ::com::sun::star::uno::Any& bookmark) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
294 
295 	// ::com::sun::star::sdbc::XRowUpdate
296 		virtual void SAL_CALL updateNull(sal_Int32 columnIndex) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
297 		virtual void SAL_CALL updateBoolean(sal_Int32 columnIndex, sal_Bool x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
298 		virtual void SAL_CALL updateByte(sal_Int32 columnIndex, sal_Int8 x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
299 		virtual void SAL_CALL updateShort(sal_Int32 columnIndex, sal_Int16 x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
300 		virtual void SAL_CALL updateInt(sal_Int32 columnIndex, sal_Int32 x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
301 		virtual void SAL_CALL updateLong(sal_Int32 columnIndex, sal_Int64 x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
302 		virtual void SAL_CALL updateFloat(sal_Int32 columnIndex, float x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
303 		virtual void SAL_CALL updateDouble(sal_Int32 columnIndex, double x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
304 		virtual void SAL_CALL updateString(sal_Int32 columnIndex, const ::rtl::OUString& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
305 		virtual void SAL_CALL updateBytes(sal_Int32 columnIndex, const ::com::sun::star::uno::Sequence< sal_Int8 >& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
306 		virtual void SAL_CALL updateDate(sal_Int32 columnIndex, const ::com::sun::star::util::Date& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
307 		virtual void SAL_CALL updateTime(sal_Int32 columnIndex, const ::com::sun::star::util::Time& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
308 		virtual void SAL_CALL updateTimestamp(sal_Int32 columnIndex, const ::com::sun::star::util::DateTime& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
309 		virtual void SAL_CALL updateBinaryStream(sal_Int32 columnIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
310 		virtual void SAL_CALL updateCharacterStream(sal_Int32 columnIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
311 		virtual void SAL_CALL updateObject(sal_Int32 columnIndex, const ::com::sun::star::uno::Any& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
312 		virtual void SAL_CALL updateNumericObject(sal_Int32 columnIndex, const ::com::sun::star::uno::Any& x, sal_Int32 scale) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
313 
314 	// ::com::sun::star::sdbc::XResultSet
315 		virtual sal_Bool SAL_CALL next() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
316 		virtual sal_Bool SAL_CALL isBeforeFirst() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
317 		virtual sal_Bool SAL_CALL isAfterLast() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
318 		virtual sal_Bool SAL_CALL isFirst() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
319 		virtual sal_Bool SAL_CALL isLast() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
320 		virtual void SAL_CALL beforeFirst() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
321 		virtual void SAL_CALL afterLast() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
322 		virtual sal_Bool SAL_CALL first() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
323 		virtual sal_Bool SAL_CALL last() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
324 		virtual sal_Int32 SAL_CALL getRow() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
325 		virtual sal_Bool SAL_CALL absolute(sal_Int32 row) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
326 		virtual sal_Bool SAL_CALL relative(sal_Int32 rows) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
327 		virtual sal_Bool SAL_CALL previous() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
328 		virtual void SAL_CALL refreshRow() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
329 		virtual sal_Bool SAL_CALL rowUpdated() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
330 		virtual sal_Bool SAL_CALL rowInserted() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
331 		virtual sal_Bool SAL_CALL rowDeleted() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
332 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >  SAL_CALL getStatement() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
333 
334 	// ::com::sun::star::sdbc::XResultSetUpdate
335 		virtual void SAL_CALL insertRow() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
336 		virtual void SAL_CALL updateRow() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
337 		virtual void SAL_CALL deleteRow() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
338 		virtual void SAL_CALL cancelRowUpdates() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
339 		virtual void SAL_CALL moveToInsertRow() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
340 		virtual void SAL_CALL moveToCurrentRow() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
341 
342 	// ::com::sun::star::sdbc::XRowSet
343 		virtual void SAL_CALL execute() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
344 		virtual void SAL_CALL addRowSetListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSetListener >& listener) throw(::com::sun::star::uno::RuntimeException);
345 		virtual void SAL_CALL removeRowSetListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSetListener >& listener) throw(::com::sun::star::uno::RuntimeException);
346 
347 	// ::com::sun::star::sdbcx::XDeleteRows
348 		virtual ::com::sun::star::uno::Sequence<sal_Int32> SAL_CALL deleteRows(const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& rows) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
349 
350 	// ::com::sun::star::sdbc::XWarningsSupplier
351 		virtual ::com::sun::star::uno::Any SAL_CALL getWarnings() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
352 		virtual void SAL_CALL clearWarnings() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
353 
354 	// ::com::sun::star::sdb::XRowSetApproveBroadcaster
355 		virtual void SAL_CALL addRowSetApproveListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowSetApproveListener >& listener) throw(::com::sun::star::uno::RuntimeException);
356 		virtual void SAL_CALL removeRowSetApproveListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowSetApproveListener >& listener) throw(::com::sun::star::uno::RuntimeException);
357 
358 	// com::sun::star::sdbc::XSQLErrorBroadcaster
359 		virtual void SAL_CALL addSQLErrorListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLErrorListener >& _rListener) throw(::com::sun::star::uno::RuntimeException);
360 		virtual void SAL_CALL removeSQLErrorListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLErrorListener >& _rListener) throw(::com::sun::star::uno::RuntimeException);
361 
362 	// ::com::sun::star::sdb::XResultSetAccess
363 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL createResultSet() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
364 
365 	// com::sun::star::form::XLoadable
366 		virtual void SAL_CALL load() throw(::com::sun::star::uno::RuntimeException);
367 		virtual void SAL_CALL unload() throw(::com::sun::star::uno::RuntimeException);
368 		virtual void SAL_CALL reload() throw(::com::sun::star::uno::RuntimeException);
369 		virtual sal_Bool SAL_CALL isLoaded() throw(::com::sun::star::uno::RuntimeException);
370 		virtual void SAL_CALL addLoadListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XLoadListener >& aListener) throw(::com::sun::star::uno::RuntimeException);
371 		virtual void SAL_CALL removeLoadListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XLoadListener >& aListener) throw(::com::sun::star::uno::RuntimeException);
372 
373 	// ::com::sun::star::sdbc::XParameters
374 		virtual void SAL_CALL setNull(sal_Int32 parameterIndex, sal_Int32 sqlType) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
375 		virtual void SAL_CALL setObjectNull(sal_Int32 parameterIndex, sal_Int32 sqlType, const ::rtl::OUString& typeName) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
376 		virtual void SAL_CALL setBoolean(sal_Int32 parameterIndex, sal_Bool x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
377 		virtual void SAL_CALL setByte(sal_Int32 parameterIndex, sal_Int8 x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
378 		virtual void SAL_CALL setShort(sal_Int32 parameterIndex, sal_Int16 x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
379 		virtual void SAL_CALL setInt(sal_Int32 parameterIndex, sal_Int32 x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
380 		virtual void SAL_CALL setLong(sal_Int32 parameterIndex, sal_Int64 x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
381 		virtual void SAL_CALL setFloat(sal_Int32 parameterIndex, float x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
382 		virtual void SAL_CALL setDouble(sal_Int32 parameterIndex, double x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
383 		virtual void SAL_CALL setString(sal_Int32 parameterIndex, const ::rtl::OUString& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
384 		virtual void SAL_CALL setBytes(sal_Int32 parameterIndex, const ::com::sun::star::uno::Sequence< sal_Int8 >& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
385 		virtual void SAL_CALL setDate(sal_Int32 parameterIndex, const ::com::sun::star::util::Date& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
386 		virtual void SAL_CALL setTime(sal_Int32 parameterIndex, const ::com::sun::star::util::Time& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
387 		virtual void SAL_CALL setTimestamp(sal_Int32 parameterIndex, const ::com::sun::star::util::DateTime& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
388 		virtual void SAL_CALL setBinaryStream(sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
389 		virtual void SAL_CALL setCharacterStream(sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
390 		virtual void SAL_CALL setObject(sal_Int32 parameterIndex, const ::com::sun::star::uno::Any& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
391 		virtual void SAL_CALL setObjectWithInfo(sal_Int32 parameterIndex, const ::com::sun::star::uno::Any& x, sal_Int32 targetSqlType, sal_Int32 scale) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
392 		virtual void SAL_CALL setRef(sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef >& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
393 		virtual void SAL_CALL setBlob(sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob >& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
394 		virtual void SAL_CALL setClob(sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob >& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
395 		virtual void SAL_CALL setArray(sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XArray >& x) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
396 		virtual void SAL_CALL clearParameters() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
397 
398 		// ::com::sun::star::form::XDatabaseParameterBroadcaster
399 		virtual void SAL_CALL addParameterListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener >& aListener) throw(::com::sun::star::uno::RuntimeException);
400 		virtual void SAL_CALL removeParameterListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener >& aListener) throw(::com::sun::star::uno::RuntimeException);
401 
402 		// ::com::sun::star::container::XChild
403 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getParent() throw(::com::sun::star::uno::RuntimeException);
404 		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);
405 
406 		// ::com::sun::star::form::XSubmit
407 		virtual void SAL_CALL submit(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >& aControl, const ::com::sun::star::awt::MouseEvent& aMouseEvt) throw(::com::sun::star::uno::RuntimeException);
408 		virtual void SAL_CALL addSubmitListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XSubmitListener >& aListener) throw(::com::sun::star::uno::RuntimeException);
409 		virtual void SAL_CALL removeSubmitListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XSubmitListener >& aListener) throw(::com::sun::star::uno::RuntimeException);
410 
411 		// ::com::sun::star::awt::XTabControllerModel
412 		virtual sal_Bool SAL_CALL getGroupControl() throw(::com::sun::star::uno::RuntimeException);
413 		virtual void SAL_CALL setGroupControl(sal_Bool GroupControl) throw(::com::sun::star::uno::RuntimeException);
414 		virtual void SAL_CALL setControlModels(const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >  >& Controls) throw(::com::sun::star::uno::RuntimeException);
415 		virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >  > SAL_CALL getControlModels() throw(::com::sun::star::uno::RuntimeException);
416 		virtual void SAL_CALL setGroup(const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >  >& _rGroup, const ::rtl::OUString& GroupName) throw(::com::sun::star::uno::RuntimeException);
417 		virtual sal_Int32 SAL_CALL getGroupCount() throw(::com::sun::star::uno::RuntimeException);
418 		virtual void SAL_CALL getGroup(sal_Int32 nGroup, ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >  >& _rGroup, ::rtl::OUString& Name) throw(::com::sun::star::uno::RuntimeException);
419 		virtual void SAL_CALL getGroupByName(const ::rtl::OUString& Name, ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >  >& _rGroup) throw(::com::sun::star::uno::RuntimeException);
420 
421 		// ::com::sun::star::lang::XComponent
422 		virtual void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException);
423 		virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener) throw(::com::sun::star::uno::RuntimeException);
424 		virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener) throw(::com::sun::star::uno::RuntimeException);
425 
426 		// ::com::sun::star::beans::XFastPropertySet
427 		virtual void SAL_CALL setFastPropertyValue(sal_Int32 nHandle, 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);
428 		virtual ::com::sun::star::uno::Any SAL_CALL getFastPropertyValue(sal_Int32 nHandle) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
429 
430 		// ::com::sun::star::container::XNamed
431 		virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException);
432 		virtual void SAL_CALL setName(const ::rtl::OUString& aName) throw(::com::sun::star::uno::RuntimeException);
433 
434 		// ::com::sun::star::io::XPersistObject
435 		virtual ::rtl::OUString SAL_CALL getServiceName() throw(::com::sun::star::uno::RuntimeException);
436 		virtual void SAL_CALL write(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectOutputStream >& _rxOutStream) throw(::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
437 		virtual void SAL_CALL read(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectInputStream >& _rxInStream) throw(::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
438 
439 		// ::com::sun::star::beans::XMultiPropertySet
440 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >  SAL_CALL getPropertySetInfo() throw(::com::sun::star::uno::RuntimeException);
441 		virtual void SAL_CALL setPropertyValues(const ::com::sun::star::uno::Sequence< ::rtl::OUString >& PropertyNames, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& Values) throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
442 		virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL getPropertyValues(const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames) throw(::com::sun::star::uno::RuntimeException);
443 		virtual void SAL_CALL addPropertiesChangeListener(const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener) throw(::com::sun::star::uno::RuntimeException);
444 		virtual void SAL_CALL removePropertiesChangeListener(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& Listener) throw(::com::sun::star::uno::RuntimeException);
445 		virtual void SAL_CALL firePropertiesChangeEvent(const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener) throw(::com::sun::star::uno::RuntimeException);
446 
447 		// ::com::sun::star::beans::XPropertySet
448 		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);
449 		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);
450 		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);
451 		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);
452 		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);
453 		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);
454 
455 		// ::com::sun::star::util::XCancellable
456 		virtual void SAL_CALL cancel() throw(::com::sun::star::uno::RuntimeException);
457 
458 		// ::com::sun::star::beans::XPropertyState
459 		virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState(const ::rtl::OUString& PropertyName) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
460 		virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL getPropertyStates(const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyName) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
461 		virtual void SAL_CALL setPropertyToDefault(const ::rtl::OUString& PropertyName) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
462 		virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault(const ::rtl::OUString& aPropertyName) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
463 
464 		// ::com::sun::star::form::XReset
465 		virtual void SAL_CALL reset() throw(::com::sun::star::uno::RuntimeException);
466 		virtual void SAL_CALL addResetListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XResetListener >& aListener) throw(::com::sun::star::uno::RuntimeException);
467 		virtual void SAL_CALL removeResetListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XResetListener >& aListener) throw(::com::sun::star::uno::RuntimeException);
468 
469 		// ::com::sun::star::container::XNameContainer
470 		virtual void SAL_CALL insertByName(const ::rtl::OUString& aName, const ::com::sun::star::uno::Any& aElement) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::container::ElementExistException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
471 		virtual void SAL_CALL removeByName(const ::rtl::OUString& Name) throw(::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
472 
473 		// ::com::sun::star::container::XNameReplace
474 		virtual void SAL_CALL replaceByName(const ::rtl::OUString& aName, const ::com::sun::star::uno::Any& aElement) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
475 
476 		// ::com::sun::star::container::XNameAccess
477 		virtual ::com::sun::star::uno::Any SAL_CALL getByName(const ::rtl::OUString& aName) throw(::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
478 		virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() throw(::com::sun::star::uno::RuntimeException);
479 		virtual sal_Bool SAL_CALL hasByName(const ::rtl::OUString& aName) throw(::com::sun::star::uno::RuntimeException);
480 
481 		// ::com::sun::star::container::XElementAccess
482 		virtual ::com::sun::star::uno::Type SAL_CALL getElementType() throw(::com::sun::star::uno::RuntimeException) ;
483 		virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
484 
485 		// ::com::sun::star::container::XIndexContainer
486 		virtual void SAL_CALL insertByIndex(sal_Int32 _rIndex, const ::com::sun::star::uno::Any& Element) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
487 		virtual void SAL_CALL removeByIndex(sal_Int32 _rIndex) throw(::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
488 
489 		// ::com::sun::star::container::XIndexReplace
490 		virtual void SAL_CALL replaceByIndex(sal_Int32 _rIndex, const ::com::sun::star::uno::Any& Element) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
491 
492 		// ::com::sun::star::container::XIndexAccess
493 		virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
494 		virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 _rIndex) throw(::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
495 
496 		// ::com::sun::star::container::XContainer
497 		virtual void SAL_CALL addContainerListener(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener) throw(::com::sun::star::uno::RuntimeException);
498 		virtual void SAL_CALL removeContainerListener(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener) throw(::com::sun::star::uno::RuntimeException);
499 
500 		// ::com::sun::star::container::XEnumerationAccess
501 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration >  SAL_CALL createEnumeration() throw(::com::sun::star::uno::RuntimeException);
502 
503 		// ::com::sun::star::lang::XEventListener
504 		virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw(::com::sun::star::uno::RuntimeException);
505 
506 		// ::com::sun::star::beans::XPropertyChangeListener
507 		virtual void SAL_CALL propertyChange(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
508 
509 	protected:
510 		// container handling
511 		void implInsert(const ::com::sun::star::uno::Any& aElement, sal_Int32 nIndex, const ::rtl::OUString* pNewElName = NULL) throw(::com::sun::star::lang::IllegalArgumentException);
512 		sal_Int32 implGetPos(const ::rtl::OUString& rName);
513 
514 		void StopListening();
515 		void StartListening();
516 	};
517 }
518 #endif // _SBA_FORMADAPTER_HXX
519 
520