1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
22 #include "sbamultiplex.hxx"
24 #include <com/sun/star/sdbc/XRow.hpp>
25 #include <com/sun/star/sdbc/XParameters.hpp>
26 #include <com/sun/star/sdbc/XColumnLocate.hpp>
27 #include <com/sun/star/sdbc/XCloseable.hpp>
28 #include <com/sun/star/sdbcx/XRowLocate.hpp>
29 #include <com/sun/star/sdbc/XRowUpdate.hpp>
30 #include <com/sun/star/sdbc/XResultSetUpdate.hpp>
31 #include <com/sun/star/sdbc/XRowSet.hpp>
32 #include <com/sun/star/sdbcx/XDeleteRows.hpp>
33 #include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp>
34 #include <com/sun/star/sdbc/XWarningsSupplier.hpp>
35 #include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
36 #include <com/sun/star/sdb/XSQLErrorBroadcaster.hpp>
37 #include <com/sun/star/sdb/XRowSetApproveBroadcaster.hpp>
38 #include <com/sun/star/form/XLoadable.hpp>
39 #include <com/sun/star/sdb/XResultSetAccess.hpp>
40 #include <com/sun/star/beans/XPropertySet.hpp>
41 #include <com/sun/star/container/XNameContainer.hpp>
42 #include <com/sun/star/form/XForm.hpp>
43 #include <com/sun/star/beans/XMultiPropertySet.hpp>
44 #include <com/sun/star/beans/XFastPropertySet.hpp>
45 #include <com/sun/star/container/XIndexContainer.hpp>
46 #include <com/sun/star/container/XContainer.hpp>
47 #include <com/sun/star/form/XReset.hpp>
48 #include <com/sun/star/form/XSubmit.hpp>
49 #include <com/sun/star/form/XDatabaseParameterBroadcaster.hpp>
50 #include <com/sun/star/container/XEnumerationAccess.hpp>
51 #include <com/sun/star/beans/XPropertyState.hpp>
52 #include <com/sun/star/awt/XTabControllerModel.hpp>
53 #include <com/sun/star/io/XPersistObject.hpp>
54 #include <com/sun/star/container/XNamed.hpp>
55 #include <com/sun/star/util/XCancellable.hpp>
56 #include <comphelper/interfacecontainer3.hxx>
57 #include <comphelper/uno3.hxx>
58 #include <cppuhelper/implbase.hxx>
59 #include <cppuhelper/implbase12.hxx>
60 #include <cppuhelper/implbase10.hxx>
66 typedef ::cppu::WeakImplHelper
< css::sdbc::XResultSetMetaDataSupplier
67 , css::sdb::XResultSetAccess
68 , css::sdbc::XResultSetUpdate
70 , css::sdb::XRowSetApproveBroadcaster
71 , css::sdbcx::XRowLocate
72 , css::sdbc::XRowUpdate
74 , css::sdbcx::XColumnsSupplier
75 , css::sdbc::XColumnLocate
76 // --- stardiv::one::form::component::DatabaseForm ---
77 , css::sdbc::XParameters
78 , css::sdbcx::XDeleteRows
79 > SbaXFormAdapter_BASE1
;
80 typedef ::cppu::ImplHelper12
< css::sdbc::XWarningsSupplier
81 , css::sdbc::XCloseable
82 , css::form::XLoadable
83 , css::sdb::XSQLErrorBroadcaster
84 , css::form::XDatabaseParameterBroadcaster
85 // --- stardiv::one::form::component::Form ---
88 , css::awt::XTabControllerModel
89 // --- stardiv::one::form::FormComponent ---
90 , css::lang::XComponent
91 , css::beans::XFastPropertySet
92 // already present : css::form::XFormComponent (base of css::form::XForm)
93 , css::beans::XMultiPropertySet
94 , css::container::XNamed
95 > SbaXFormAdapter_BASE2
;
96 typedef ::cppu::ImplHelper10
< css::io::XPersistObject
97 , css::beans::XPropertySet
98 // --- stardiv::one::data::DatabaseCursor ---
99 , css::util::XCancellable
100 // already present : css::beans::XPropertySet
101 // --- stardiv::one::data::DatabaseComponent ---
102 // already present : css::lang::XComponent
103 // already present : css::container::XChild (base of css::form::XForm)
104 // interfaces I don't know the service which they belong to ;)
105 // (they are supported by FmXDatabaseForm, se we support it, too)
106 , css::beans::XPropertyState
108 , css::container::XNameContainer
109 , css::container::XIndexContainer
110 , css::container::XContainer
111 , css::container::XEnumerationAccess
112 // interfaces we need because of other reasons
113 , css::beans::XPropertyChangeListener
114 > SbaXFormAdapter_BASE3
;
116 class SbaXFormAdapter final
117 :public SbaXFormAdapter_BASE1
118 ,public SbaXFormAdapter_BASE2
119 ,public SbaXFormAdapter_BASE3
122 css::uno::Reference
< css::sdbc::XRowSet
> m_xMainForm
;
123 ::osl::Mutex m_aMutex
;
125 SbaXLoadMultiplexer m_aLoadListeners
;
126 SbaXRowSetMultiplexer m_aRowSetListeners
;
127 SbaXRowSetApproveMultiplexer m_aRowSetApproveListeners
;
128 SbaXSQLErrorMultiplexer m_aErrorListeners
;
129 SbaXParameterMultiplexer m_aParameterListeners
;
130 SbaXSubmitMultiplexer m_aSubmitListeners
;
131 SbaXResetMultiplexer m_aResetListeners
;
133 SbaXPropertyChangeMultiplexer m_aPropertyChangeListeners
;
134 SbaXVetoableChangeMultiplexer m_aVetoablePropertyChangeListeners
;
135 SbaXPropertiesChangeMultiplexer m_aPropertiesChangeListeners
;
137 ::comphelper::OInterfaceContainerHelper3
<css::lang::XEventListener
> m_aDisposeListeners
;
138 ::comphelper::OInterfaceContainerHelper3
<css::container::XContainerListener
> m_aContainerListeners
;
140 // hierarchy administration
141 css::uno::Reference
< css::uno::XInterface
> m_xParent
;
142 std::vector
< css::uno::Reference
< css::form::XFormComponent
> > m_aChildren
;
143 std::vector
< OUString
> m_aChildNames
;
147 sal_Int32 m_nNamePropHandle
;
150 const css::uno::Reference
< css::sdbc::XRowSet
>& getAttachedForm() const { return m_xMainForm
; }
154 virtual ~SbaXFormAdapter() override
;
156 // css::uno::Reference< css::reflection::XIdlClass > getIdlClass();
157 // css::uno::Sequence<css::uno::Reference< css::reflection::XIdlClass > > getIdlClasses();
159 void AttachForm(const css::uno::Reference
< css::sdbc::XRowSet
>& xNewMaster
);
162 DECLARE_UNO3_DEFAULTS(SbaXFormAdapter
, SbaXFormAdapter_BASE1
)
163 virtual css::uno::Any SAL_CALL
queryInterface(const css::uno::Type
& _rType
) override
;
166 virtual css::uno::Sequence
< css::uno::Type
> SAL_CALL
getTypes( ) override
;
167 virtual css::uno::Sequence
< sal_Int8
> SAL_CALL
getImplementationId( ) override
;
169 // css::sdbc::XCloseable
170 virtual void SAL_CALL
close() override
;
172 // css::sdbc::XResultSetMetaDataSupplier
173 virtual css::uno::Reference
< css::sdbc::XResultSetMetaData
> SAL_CALL
getMetaData() override
;
175 // css::sdbc::XColumnLocate
176 virtual sal_Int32 SAL_CALL
findColumn(const OUString
& columnName
) override
;
178 // css::sdbcx::XColumnsSupplier
179 virtual css::uno::Reference
< css::container::XNameAccess
> SAL_CALL
getColumns() override
;
182 virtual sal_Bool SAL_CALL
wasNull() override
;
183 virtual OUString SAL_CALL
getString(sal_Int32 columnIndex
) override
;
184 virtual sal_Bool SAL_CALL
getBoolean(sal_Int32 columnIndex
) override
;
185 virtual sal_Int8 SAL_CALL
getByte(sal_Int32 columnIndex
) override
;
186 virtual sal_Int16 SAL_CALL
getShort(sal_Int32 columnIndex
) override
;
187 virtual sal_Int32 SAL_CALL
getInt(sal_Int32 columnIndex
) override
;
188 virtual sal_Int64 SAL_CALL
getLong(sal_Int32 columnIndex
) override
;
189 virtual float SAL_CALL
getFloat(sal_Int32 columnIndex
) override
;
190 virtual double SAL_CALL
getDouble(sal_Int32 columnIndex
) override
;
191 virtual css::uno::Sequence
< sal_Int8
> SAL_CALL
getBytes(sal_Int32 columnIndex
) override
;
192 virtual css::util::Date SAL_CALL
getDate(sal_Int32 columnIndex
) override
;
193 virtual css::util::Time SAL_CALL
getTime(sal_Int32 columnIndex
) override
;
194 virtual css::util::DateTime SAL_CALL
getTimestamp(sal_Int32 columnIndex
) override
;
195 virtual css::uno::Reference
< css::io::XInputStream
> SAL_CALL
getBinaryStream(sal_Int32 columnIndex
) override
;
196 virtual css::uno::Reference
< css::io::XInputStream
> SAL_CALL
getCharacterStream(sal_Int32 columnIndex
) override
;
197 virtual css::uno::Any SAL_CALL
getObject(sal_Int32 columnIndex
, const css::uno::Reference
< css::container::XNameAccess
>& typeMap
) override
;
198 virtual css::uno::Reference
< css::sdbc::XRef
> SAL_CALL
getRef(sal_Int32 columnIndex
) override
;
199 virtual css::uno::Reference
< css::sdbc::XBlob
> SAL_CALL
getBlob(sal_Int32 columnIndex
) override
;
200 virtual css::uno::Reference
< css::sdbc::XClob
> SAL_CALL
getClob(sal_Int32 columnIndex
) override
;
201 virtual css::uno::Reference
< css::sdbc::XArray
> SAL_CALL
getArray(sal_Int32 columnIndex
) override
;
203 // css::sdbcx::XRowLocate
204 virtual css::uno::Any SAL_CALL
getBookmark() override
;
205 virtual sal_Bool SAL_CALL
moveToBookmark(const css::uno::Any
& bookmark
) override
;
206 virtual sal_Bool SAL_CALL
moveRelativeToBookmark(const css::uno::Any
& bookmark
, sal_Int32 rows
) override
;
207 virtual sal_Int32 SAL_CALL
compareBookmarks(const css::uno::Any
& first
, const css::uno::Any
& second
) override
;
208 virtual sal_Bool SAL_CALL
hasOrderedBookmarks() override
;
209 virtual sal_Int32 SAL_CALL
hashBookmark(const css::uno::Any
& bookmark
) override
;
211 // css::sdbc::XRowUpdate
212 virtual void SAL_CALL
updateNull(sal_Int32 columnIndex
) override
;
213 virtual void SAL_CALL
updateBoolean(sal_Int32 columnIndex
, sal_Bool x
) override
;
214 virtual void SAL_CALL
updateByte(sal_Int32 columnIndex
, sal_Int8 x
) override
;
215 virtual void SAL_CALL
updateShort(sal_Int32 columnIndex
, sal_Int16 x
) override
;
216 virtual void SAL_CALL
updateInt(sal_Int32 columnIndex
, sal_Int32 x
) override
;
217 virtual void SAL_CALL
updateLong(sal_Int32 columnIndex
, sal_Int64 x
) override
;
218 virtual void SAL_CALL
updateFloat(sal_Int32 columnIndex
, float x
) override
;
219 virtual void SAL_CALL
updateDouble(sal_Int32 columnIndex
, double x
) override
;
220 virtual void SAL_CALL
updateString(sal_Int32 columnIndex
, const OUString
& x
) override
;
221 virtual void SAL_CALL
updateBytes(sal_Int32 columnIndex
, const css::uno::Sequence
< sal_Int8
>& x
) override
;
222 virtual void SAL_CALL
updateDate(sal_Int32 columnIndex
, const css::util::Date
& x
) override
;
223 virtual void SAL_CALL
updateTime(sal_Int32 columnIndex
, const css::util::Time
& x
) override
;
224 virtual void SAL_CALL
updateTimestamp(sal_Int32 columnIndex
, const css::util::DateTime
& x
) override
;
225 virtual void SAL_CALL
updateBinaryStream(sal_Int32 columnIndex
, const css::uno::Reference
< css::io::XInputStream
>& x
, sal_Int32 length
) override
;
226 virtual void SAL_CALL
updateCharacterStream(sal_Int32 columnIndex
, const css::uno::Reference
< css::io::XInputStream
>& x
, sal_Int32 length
) override
;
227 virtual void SAL_CALL
updateObject(sal_Int32 columnIndex
, const css::uno::Any
& x
) override
;
228 virtual void SAL_CALL
updateNumericObject(sal_Int32 columnIndex
, const css::uno::Any
& x
, sal_Int32 scale
) override
;
230 // css::sdbc::XResultSet
231 virtual sal_Bool SAL_CALL
next() override
;
232 virtual sal_Bool SAL_CALL
isBeforeFirst() override
;
233 virtual sal_Bool SAL_CALL
isAfterLast() override
;
234 virtual sal_Bool SAL_CALL
isFirst() override
;
235 virtual sal_Bool SAL_CALL
isLast() override
;
236 virtual void SAL_CALL
beforeFirst() override
;
237 virtual void SAL_CALL
afterLast() override
;
238 virtual sal_Bool SAL_CALL
first() override
;
239 virtual sal_Bool SAL_CALL
last() override
;
240 virtual sal_Int32 SAL_CALL
getRow() override
;
241 virtual sal_Bool SAL_CALL
absolute(sal_Int32 row
) override
;
242 virtual sal_Bool SAL_CALL
relative(sal_Int32 rows
) override
;
243 virtual sal_Bool SAL_CALL
previous() override
;
244 virtual void SAL_CALL
refreshRow() override
;
245 virtual sal_Bool SAL_CALL
rowUpdated() override
;
246 virtual sal_Bool SAL_CALL
rowInserted() override
;
247 virtual sal_Bool SAL_CALL
rowDeleted() override
;
248 virtual css::uno::Reference
< css::uno::XInterface
> SAL_CALL
getStatement() override
;
250 // css::sdbc::XResultSetUpdate
251 virtual void SAL_CALL
insertRow() override
;
252 virtual void SAL_CALL
updateRow() override
;
253 virtual void SAL_CALL
deleteRow() override
;
254 virtual void SAL_CALL
cancelRowUpdates() override
;
255 virtual void SAL_CALL
moveToInsertRow() override
;
256 virtual void SAL_CALL
moveToCurrentRow() override
;
258 // css::sdbc::XRowSet
259 virtual void SAL_CALL
execute() override
;
260 virtual void SAL_CALL
addRowSetListener(const css::uno::Reference
< css::sdbc::XRowSetListener
>& listener
) override
;
261 virtual void SAL_CALL
removeRowSetListener(const css::uno::Reference
< css::sdbc::XRowSetListener
>& listener
) override
;
263 // css::sdbcx::XDeleteRows
264 virtual css::uno::Sequence
<sal_Int32
> SAL_CALL
deleteRows(const css::uno::Sequence
< css::uno::Any
>& rows
) override
;
266 // css::sdbc::XWarningsSupplier
267 virtual css::uno::Any SAL_CALL
getWarnings() override
;
268 virtual void SAL_CALL
clearWarnings() override
;
270 // css::sdb::XRowSetApproveBroadcaster
271 virtual void SAL_CALL
addRowSetApproveListener(const css::uno::Reference
< css::sdb::XRowSetApproveListener
>& listener
) override
;
272 virtual void SAL_CALL
removeRowSetApproveListener(const css::uno::Reference
< css::sdb::XRowSetApproveListener
>& listener
) override
;
274 // css::sdbc::XSQLErrorBroadcaster
275 virtual void SAL_CALL
addSQLErrorListener(const css::uno::Reference
< css::sdb::XSQLErrorListener
>& _rListener
) override
;
276 virtual void SAL_CALL
removeSQLErrorListener(const css::uno::Reference
< css::sdb::XSQLErrorListener
>& _rListener
) override
;
278 // css::sdb::XResultSetAccess
279 virtual css::uno::Reference
< css::sdbc::XResultSet
> SAL_CALL
createResultSet() override
;
281 // css::form::XLoadable
282 virtual void SAL_CALL
load() override
;
283 virtual void SAL_CALL
unload() override
;
284 virtual void SAL_CALL
reload() override
;
285 virtual sal_Bool SAL_CALL
isLoaded() override
;
286 virtual void SAL_CALL
addLoadListener(const css::uno::Reference
< css::form::XLoadListener
>& aListener
) override
;
287 virtual void SAL_CALL
removeLoadListener(const css::uno::Reference
< css::form::XLoadListener
>& aListener
) override
;
289 // css::sdbc::XParameters
290 virtual void SAL_CALL
setNull(sal_Int32 parameterIndex
, sal_Int32 sqlType
) override
;
291 virtual void SAL_CALL
setObjectNull(sal_Int32 parameterIndex
, sal_Int32 sqlType
, const OUString
& typeName
) override
;
292 virtual void SAL_CALL
setBoolean(sal_Int32 parameterIndex
, sal_Bool x
) override
;
293 virtual void SAL_CALL
setByte(sal_Int32 parameterIndex
, sal_Int8 x
) override
;
294 virtual void SAL_CALL
setShort(sal_Int32 parameterIndex
, sal_Int16 x
) override
;
295 virtual void SAL_CALL
setInt(sal_Int32 parameterIndex
, sal_Int32 x
) override
;
296 virtual void SAL_CALL
setLong(sal_Int32 parameterIndex
, sal_Int64 x
) override
;
297 virtual void SAL_CALL
setFloat(sal_Int32 parameterIndex
, float x
) override
;
298 virtual void SAL_CALL
setDouble(sal_Int32 parameterIndex
, double x
) override
;
299 virtual void SAL_CALL
setString(sal_Int32 parameterIndex
, const OUString
& x
) override
;
300 virtual void SAL_CALL
setBytes(sal_Int32 parameterIndex
, const css::uno::Sequence
< sal_Int8
>& x
) override
;
301 virtual void SAL_CALL
setDate(sal_Int32 parameterIndex
, const css::util::Date
& x
) override
;
302 virtual void SAL_CALL
setTime(sal_Int32 parameterIndex
, const css::util::Time
& x
) override
;
303 virtual void SAL_CALL
setTimestamp(sal_Int32 parameterIndex
, const css::util::DateTime
& x
) override
;
304 virtual void SAL_CALL
setBinaryStream(sal_Int32 parameterIndex
, const css::uno::Reference
< css::io::XInputStream
>& x
, sal_Int32 length
) override
;
305 virtual void SAL_CALL
setCharacterStream(sal_Int32 parameterIndex
, const css::uno::Reference
< css::io::XInputStream
>& x
, sal_Int32 length
) override
;
306 virtual void SAL_CALL
setObject(sal_Int32 parameterIndex
, const css::uno::Any
& x
) override
;
307 virtual void SAL_CALL
setObjectWithInfo(sal_Int32 parameterIndex
, const css::uno::Any
& x
, sal_Int32 targetSqlType
, sal_Int32 scale
) override
;
308 virtual void SAL_CALL
setRef(sal_Int32 parameterIndex
, const css::uno::Reference
< css::sdbc::XRef
>& x
) override
;
309 virtual void SAL_CALL
setBlob(sal_Int32 parameterIndex
, const css::uno::Reference
< css::sdbc::XBlob
>& x
) override
;
310 virtual void SAL_CALL
setClob(sal_Int32 parameterIndex
, const css::uno::Reference
< css::sdbc::XClob
>& x
) override
;
311 virtual void SAL_CALL
setArray(sal_Int32 parameterIndex
, const css::uno::Reference
< css::sdbc::XArray
>& x
) override
;
312 virtual void SAL_CALL
clearParameters() override
;
314 // css::form::XDatabaseParameterBroadcaster
315 virtual void SAL_CALL
addParameterListener(const css::uno::Reference
< css::form::XDatabaseParameterListener
>& aListener
) override
;
316 virtual void SAL_CALL
removeParameterListener(const css::uno::Reference
< css::form::XDatabaseParameterListener
>& aListener
) override
;
318 // css::container::XChild
319 virtual css::uno::Reference
< css::uno::XInterface
> SAL_CALL
getParent() override
;
320 virtual void SAL_CALL
setParent(const css::uno::Reference
< css::uno::XInterface
>& Parent
) override
;
322 // css::form::XSubmit
323 virtual void SAL_CALL
submit(const css::uno::Reference
< css::awt::XControl
>& aControl
, const css::awt::MouseEvent
& aMouseEvt
) override
;
324 virtual void SAL_CALL
addSubmitListener(const css::uno::Reference
< css::form::XSubmitListener
>& aListener
) override
;
325 virtual void SAL_CALL
removeSubmitListener(const css::uno::Reference
< css::form::XSubmitListener
>& aListener
) override
;
327 // css::awt::XTabControllerModel
328 virtual sal_Bool SAL_CALL
getGroupControl() override
;
329 virtual void SAL_CALL
setGroupControl(sal_Bool GroupControl
) override
;
330 virtual void SAL_CALL
setControlModels(const css::uno::Sequence
< css::uno::Reference
< css::awt::XControlModel
> >& Controls
) override
;
331 virtual css::uno::Sequence
< css::uno::Reference
< css::awt::XControlModel
> > SAL_CALL
getControlModels() override
;
332 virtual void SAL_CALL
setGroup(const css::uno::Sequence
< css::uno::Reference
< css::awt::XControlModel
> >& _rGroup
, const OUString
& GroupName
) override
;
333 virtual sal_Int32 SAL_CALL
getGroupCount() override
;
334 virtual void SAL_CALL
getGroup(sal_Int32 nGroup
, css::uno::Sequence
< css::uno::Reference
< css::awt::XControlModel
> >& _rGroup
, OUString
& Name
) override
;
335 virtual void SAL_CALL
getGroupByName(const OUString
& Name
, css::uno::Sequence
< css::uno::Reference
< css::awt::XControlModel
> >& _rGroup
) override
;
337 // css::lang::XComponent
338 virtual void SAL_CALL
dispose() override
;
339 virtual void SAL_CALL
addEventListener(const css::uno::Reference
< css::lang::XEventListener
>& xListener
) override
;
340 virtual void SAL_CALL
removeEventListener(const css::uno::Reference
< css::lang::XEventListener
>& aListener
) override
;
342 // css::beans::XFastPropertySet
343 virtual void SAL_CALL
setFastPropertyValue(sal_Int32 nHandle
, const css::uno::Any
& aValue
) override
;
344 virtual css::uno::Any SAL_CALL
getFastPropertyValue(sal_Int32 nHandle
) override
;
346 // css::container::XNamed
347 virtual OUString SAL_CALL
getName() override
;
348 virtual void SAL_CALL
setName(const OUString
& aName
) override
;
350 // css::io::XPersistObject
351 virtual OUString SAL_CALL
getServiceName() override
;
352 virtual void SAL_CALL
write(const css::uno::Reference
< css::io::XObjectOutputStream
>& _rxOutStream
) override
;
353 virtual void SAL_CALL
read(const css::uno::Reference
< css::io::XObjectInputStream
>& _rxInStream
) override
;
355 // css::beans::XMultiPropertySet
356 virtual css::uno::Reference
< css::beans::XPropertySetInfo
> SAL_CALL
getPropertySetInfo() override
;
357 virtual void SAL_CALL
setPropertyValues(const css::uno::Sequence
< OUString
>& PropertyNames
, const css::uno::Sequence
< css::uno::Any
>& Values
) override
;
358 virtual css::uno::Sequence
< css::uno::Any
> SAL_CALL
getPropertyValues(const css::uno::Sequence
< OUString
>& aPropertyNames
) override
;
359 virtual void SAL_CALL
addPropertiesChangeListener(const css::uno::Sequence
< OUString
>& aPropertyNames
, const css::uno::Reference
< css::beans::XPropertiesChangeListener
>& xListener
) override
;
360 virtual void SAL_CALL
removePropertiesChangeListener(const css::uno::Reference
< css::beans::XPropertiesChangeListener
>& Listener
) override
;
361 virtual void SAL_CALL
firePropertiesChangeEvent(const css::uno::Sequence
< OUString
>& aPropertyNames
, const css::uno::Reference
< css::beans::XPropertiesChangeListener
>& xListener
) override
;
363 // css::beans::XPropertySet
364 virtual void SAL_CALL
setPropertyValue(const OUString
& aPropertyName
, const css::uno::Any
& aValue
) override
;
365 virtual css::uno::Any SAL_CALL
getPropertyValue(const OUString
& PropertyName
) override
;
366 virtual void SAL_CALL
addPropertyChangeListener(const OUString
& aPropertyName
, const css::uno::Reference
< css::beans::XPropertyChangeListener
>& xListener
) override
;
367 virtual void SAL_CALL
removePropertyChangeListener(const OUString
& aPropertyName
, const css::uno::Reference
< css::beans::XPropertyChangeListener
>& aListener
) override
;
368 virtual void SAL_CALL
addVetoableChangeListener(const OUString
& PropertyName
, const css::uno::Reference
< css::beans::XVetoableChangeListener
>& aListener
) override
;
369 virtual void SAL_CALL
removeVetoableChangeListener(const OUString
& PropertyName
, const css::uno::Reference
< css::beans::XVetoableChangeListener
>& aListener
) override
;
371 // css::util::XCancellable
372 virtual void SAL_CALL
cancel() override
;
374 // css::beans::XPropertyState
375 virtual css::beans::PropertyState SAL_CALL
getPropertyState(const OUString
& PropertyName
) override
;
376 virtual css::uno::Sequence
< css::beans::PropertyState
> SAL_CALL
getPropertyStates(const css::uno::Sequence
< OUString
>& aPropertyName
) override
;
377 virtual void SAL_CALL
setPropertyToDefault(const OUString
& PropertyName
) override
;
378 virtual css::uno::Any SAL_CALL
getPropertyDefault(const OUString
& aPropertyName
) override
;
381 virtual void SAL_CALL
reset() override
;
382 virtual void SAL_CALL
addResetListener(const css::uno::Reference
< css::form::XResetListener
>& aListener
) override
;
383 virtual void SAL_CALL
removeResetListener(const css::uno::Reference
< css::form::XResetListener
>& aListener
) override
;
385 // css::container::XNameContainer
386 virtual void SAL_CALL
insertByName(const OUString
& aName
, const css::uno::Any
& aElement
) override
;
387 virtual void SAL_CALL
removeByName(const OUString
& Name
) override
;
389 // css::container::XNameReplace
390 virtual void SAL_CALL
replaceByName(const OUString
& aName
, const css::uno::Any
& aElement
) override
;
392 // css::container::XNameAccess
393 virtual css::uno::Any SAL_CALL
getByName(const OUString
& aName
) override
;
394 virtual css::uno::Sequence
< OUString
> SAL_CALL
getElementNames() override
;
395 virtual sal_Bool SAL_CALL
hasByName(const OUString
& aName
) override
;
397 // css::container::XElementAccess
398 virtual css::uno::Type SAL_CALL
getElementType() override
;
399 virtual sal_Bool SAL_CALL
hasElements() override
;
401 // css::container::XIndexContainer
402 virtual void SAL_CALL
insertByIndex(sal_Int32 _rIndex
, const css::uno::Any
& Element
) override
;
403 virtual void SAL_CALL
removeByIndex(sal_Int32 _rIndex
) override
;
405 // css::container::XIndexReplace
406 virtual void SAL_CALL
replaceByIndex(sal_Int32 _rIndex
, const css::uno::Any
& Element
) override
;
408 // css::container::XIndexAccess
409 virtual sal_Int32 SAL_CALL
getCount() override
;
410 virtual css::uno::Any SAL_CALL
getByIndex(sal_Int32 _rIndex
) override
;
412 // css::container::XContainer
413 virtual void SAL_CALL
addContainerListener(const css::uno::Reference
< css::container::XContainerListener
>& xListener
) override
;
414 virtual void SAL_CALL
removeContainerListener(const css::uno::Reference
< css::container::XContainerListener
>& xListener
) override
;
416 // css::container::XEnumerationAccess
417 virtual css::uno::Reference
< css::container::XEnumeration
> SAL_CALL
createEnumeration() override
;
419 // css::lang::XEventListener
420 virtual void SAL_CALL
disposing(const css::lang::EventObject
& Source
) override
;
422 // css::beans::XPropertyChangeListener
423 virtual void SAL_CALL
propertyChange(const css::beans::PropertyChangeEvent
& evt
) override
;
426 // container handling
427 /// @throws css::lang::IllegalArgumentException
428 void implInsert(const css::uno::Any
& aElement
, sal_Int32 nIndex
, const OUString
* pNewElName
= nullptr);
429 sal_Int32
implGetPos(const OUString
& rName
);
431 void StopListening();
432 void StartListening();
436 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */