25#include <com/sun/star/beans/PropertyAttribute.hpp>
26#include <com/sun/star/sdbc/SQLException.hpp>
31#include <osl/diagnose.h>
65 beans::PropertyAttribute::BOUND | beans::PropertyAttribute::READONLY,
70 beans::PropertyAttribute::BOUND | beans::PropertyAttribute::READONLY,
80#define RESULTSET_PROPERTY_COUNT 2
86class PropertySetInfo :
88 public lang::XTypeProvider,
89 public beans::XPropertySetInfo
95 std::u16string_view aName, beans::Property& rProp )
const;
99 const PropertyInfo* pProps,
103 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type & rType )
override;
104 virtual void SAL_CALL acquire()
106 virtual
void SAL_CALL release()
110 virtual css::
uno::Sequence<
sal_Int8 > SAL_CALL getImplementationId() override;
111 virtual css::
uno::Sequence< css::
uno::
Type > SAL_CALL getTypes() override;
114 virtual
uno::Sequence< beans::Property > SAL_CALL getProperties() override;
115 virtual beans::Property SAL_CALL getPropertyByName(
116 const OUString& aName ) override;
117 virtual
sal_Bool SAL_CALL hasPropertyByName( const OUString& Name ) override;
122typedef
comphelper::OMultiTypeInterfaceContainerHelperVar4<OUString, css::beans::XPropertyChangeListener>
139 uno::Reference< css::ucb::XCommandEnvironment >
m_xEnv;
152 uno::Reference< uno::XComponentContext > xContext,
153 const uno::Sequence< beans::Property >& rProperties,
155 uno::Reference< css::ucb::XCommandEnvironment > xEnv );
158inline ResultSet_Impl::ResultSet_Impl(
159 uno::Reference< uno::XComponentContext > xContext,
160 const uno::Sequence< beans::Property >& rProperties,
162 uno::Reference< css::ucb::XCommandEnvironment > xEnv )
164 m_xEnv(
std::move( xEnv )),
165 m_aProperties( rProperties ),
166 m_xDataSupplier(
std::move( xDataSupplier )),
169 m_bAfterLast( false )
178 const uno::Reference< uno::XComponentContext >& rxContext,
179 const uno::Sequence< beans::Property >& rProperties,
187 rDataSupplier->m_pResultSet =
this;
192 const uno::Reference< uno::XComponentContext >& rxContext,
193 const uno::Sequence< beans::Property >& rProperties,
195 const uno::Reference< css::ucb::XCommandEnvironment >& rxEnv )
196:
m_pImpl( new ResultSet_Impl( rxContext, rProperties, rDataSupplier, rxEnv ) )
198 rDataSupplier->m_pResultSet =
this;
232 std::unique_lock aGuard(
m_pImpl->m_aMutex );
234 if (
m_pImpl->m_aDisposeEventListeners.getLength(aGuard) )
236 lang::EventObject aEvt;
237 aEvt.Source =
static_cast< lang::XComponent *
>( this );
238 m_pImpl->m_aDisposeEventListeners.disposeAndClear( aGuard, aEvt );
241 if (
m_pImpl->m_pPropertyChangeListeners )
243 lang::EventObject aEvt;
244 aEvt.Source =
static_cast< beans::XPropertySet *
>( this );
245 m_pImpl->m_pPropertyChangeListeners->disposeAndClear( aGuard, aEvt );
248 m_pImpl->m_xDataSupplier->close();
254 const uno::Reference< lang::XEventListener >& Listener )
256 std::unique_lock aGuard(
m_pImpl->m_aMutex );
258 m_pImpl->m_aDisposeEventListeners.addInterface( aGuard, Listener );
264 const uno::Reference< lang::XEventListener >& Listener )
266 std::unique_lock aGuard(
m_pImpl->m_aMutex );
268 m_pImpl->m_aDisposeEventListeners.removeInterface( aGuard, Listener );
278 std::unique_lock aGuard(
m_pImpl->m_aMutex );
280 if ( !
m_pImpl->m_xMetaData.is() )
297 std::unique_lock aGuard(
m_pImpl->m_aMutex );
301 m_pImpl->m_xDataSupplier->validate();
309 m_pImpl->m_xDataSupplier->validate();
314 m_pImpl->m_xDataSupplier->validate();
324 m_pImpl->m_xDataSupplier->validate();
329 if ( !
m_pImpl->m_xDataSupplier->getResult( 0 ) )
331 m_pImpl->m_xDataSupplier->validate();
335 m_pImpl->m_xDataSupplier->validate();
336 return (
m_pImpl->m_nPos == 0 );
343 m_pImpl->m_xDataSupplier->validate();
353 m_pImpl->m_xDataSupplier->validate();
357 m_pImpl->m_xDataSupplier->validate();
358 return (
m_pImpl->m_nPos == 1 );
367 m_pImpl->m_xDataSupplier->validate();
374 m_pImpl->m_xDataSupplier->validate();
378 m_pImpl->m_xDataSupplier->validate();
386 std::unique_lock aGuard(
m_pImpl->m_aMutex );
389 m_pImpl->m_xDataSupplier->validate();
396 std::unique_lock aGuard(
m_pImpl->m_aMutex );
398 m_pImpl->m_xDataSupplier->validate();
406 if (
m_pImpl->m_xDataSupplier->getResult( 0 ) )
408 std::unique_lock aGuard(
m_pImpl->m_aMutex );
411 m_pImpl->m_xDataSupplier->validate();
415 m_pImpl->m_xDataSupplier->validate();
426 std::unique_lock aGuard(
m_pImpl->m_aMutex );
429 m_pImpl->m_xDataSupplier->validate();
433 m_pImpl->m_xDataSupplier->validate();
443 m_pImpl->m_xDataSupplier->validate();
447 m_pImpl->m_xDataSupplier->validate();
476 if ( ( row * -1 ) >
nCount )
478 std::unique_lock aGuard(
m_pImpl->m_aMutex );
481 m_pImpl->m_xDataSupplier->validate();
486 std::unique_lock aGuard(
m_pImpl->m_aMutex );
489 m_pImpl->m_xDataSupplier->validate();
497 throw sdbc::SQLException();
505 std::unique_lock aGuard(
m_pImpl->m_aMutex );
508 m_pImpl->m_xDataSupplier->validate();
513 std::unique_lock aGuard(
m_pImpl->m_aMutex );
515 m_pImpl->m_xDataSupplier->validate();
541 throw sdbc::SQLException();
546 if ( (
m_pImpl->m_nPos + rows ) > 0 )
548 std::unique_lock aGuard(
m_pImpl->m_aMutex );
551 m_pImpl->m_xDataSupplier->validate();
556 std::unique_lock aGuard(
m_pImpl->m_aMutex );
559 m_pImpl->m_xDataSupplier->validate();
563 else if ( rows == 0 )
566 m_pImpl->m_xDataSupplier->validate();
574 std::unique_lock aGuard(
m_pImpl->m_aMutex );
577 m_pImpl->m_xDataSupplier->validate();
582 std::unique_lock aGuard(
m_pImpl->m_aMutex );
584 m_pImpl->m_xDataSupplier->validate();
600 std::unique_lock aGuard(
m_pImpl->m_aMutex );
613 m_pImpl->m_xDataSupplier->validate();
617 m_pImpl->m_xDataSupplier->validate();
625 std::unique_lock aGuard(
m_pImpl->m_aMutex );
629 m_pImpl->m_xDataSupplier->releasePropertyValues(
m_pImpl->m_nPos );
630 m_pImpl->m_xDataSupplier->validate();
637 m_pImpl->m_xDataSupplier->validate();
645 m_pImpl->m_xDataSupplier->validate();
653 m_pImpl->m_xDataSupplier->validate();
665 m_pImpl->m_xDataSupplier->validate();
666 return uno::Reference< uno::XInterface >();
682 uno::Reference< sdbc::XRow > xValues
683 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
687 m_pImpl->m_xDataSupplier->validate();
688 return xValues->wasNull();
692 m_pImpl->m_xDataSupplier->validate();
702 uno::Reference< sdbc::XRow > xValues
703 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
708 m_pImpl->m_xDataSupplier->validate();
709 return xValues->getString( columnIndex );
714 m_pImpl->m_xDataSupplier->validate();
724 uno::Reference< sdbc::XRow > xValues
725 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
730 m_pImpl->m_xDataSupplier->validate();
731 return xValues->getBoolean( columnIndex );
736 m_pImpl->m_xDataSupplier->validate();
746 uno::Reference< sdbc::XRow > xValues
747 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
752 m_pImpl->m_xDataSupplier->validate();
753 return xValues->getByte( columnIndex );
758 m_pImpl->m_xDataSupplier->validate();
768 uno::Reference< sdbc::XRow > xValues
769 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
774 m_pImpl->m_xDataSupplier->validate();
775 return xValues->getShort( columnIndex );
780 m_pImpl->m_xDataSupplier->validate();
790 uno::Reference< sdbc::XRow > xValues
791 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
796 m_pImpl->m_xDataSupplier->validate();
797 return xValues->getInt( columnIndex );
802 m_pImpl->m_xDataSupplier->validate();
812 uno::Reference< sdbc::XRow > xValues
813 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
818 m_pImpl->m_xDataSupplier->validate();
819 return xValues->getLong( columnIndex );
824 m_pImpl->m_xDataSupplier->validate();
834 uno::Reference< sdbc::XRow > xValues
835 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
840 m_pImpl->m_xDataSupplier->validate();
841 return xValues->getFloat( columnIndex );
846 m_pImpl->m_xDataSupplier->validate();
856 uno::Reference< sdbc::XRow > xValues
857 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
862 m_pImpl->m_xDataSupplier->validate();
863 return xValues->getDouble( columnIndex );
868 m_pImpl->m_xDataSupplier->validate();
874uno::Sequence< sal_Int8 > SAL_CALL
879 uno::Reference< sdbc::XRow > xValues
880 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
885 m_pImpl->m_xDataSupplier->validate();
886 return xValues->getBytes( columnIndex );
891 m_pImpl->m_xDataSupplier->validate();
892 return uno::Sequence< sal_Int8 >();
901 uno::Reference< sdbc::XRow > xValues
902 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
907 m_pImpl->m_xDataSupplier->validate();
908 return xValues->getDate( columnIndex );
913 m_pImpl->m_xDataSupplier->validate();
923 uno::Reference< sdbc::XRow > xValues
924 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
929 m_pImpl->m_xDataSupplier->validate();
930 return xValues->getTime( columnIndex );
935 m_pImpl->m_xDataSupplier->validate();
941util::DateTime SAL_CALL
946 uno::Reference< sdbc::XRow > xValues
947 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
952 m_pImpl->m_xDataSupplier->validate();
953 return xValues->getTimestamp( columnIndex );
958 m_pImpl->m_xDataSupplier->validate();
959 return util::DateTime();
964uno::Reference< io::XInputStream > SAL_CALL
969 uno::Reference< sdbc::XRow > xValues
970 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
975 m_pImpl->m_xDataSupplier->validate();
976 return xValues->getBinaryStream( columnIndex );
981 m_pImpl->m_xDataSupplier->validate();
982 return uno::Reference< io::XInputStream >();
987uno::Reference< io::XInputStream > SAL_CALL
992 uno::Reference< sdbc::XRow > xValues
993 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
998 m_pImpl->m_xDataSupplier->validate();
999 return xValues->getCharacterStream( columnIndex );
1004 m_pImpl->m_xDataSupplier->validate();
1005 return uno::Reference< io::XInputStream >();
1011 sal_Int32 columnIndex,
1012 const uno::Reference< container::XNameAccess >& typeMap )
1016 uno::Reference< sdbc::XRow > xValues
1017 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
1022 m_pImpl->m_xDataSupplier->validate();
1023 return xValues->getObject( columnIndex, typeMap );
1028 m_pImpl->m_xDataSupplier->validate();
1034uno::Reference< sdbc::XRef > SAL_CALL
1039 uno::Reference< sdbc::XRow > xValues
1040 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
1045 m_pImpl->m_xDataSupplier->validate();
1046 return xValues->getRef( columnIndex );
1051 m_pImpl->m_xDataSupplier->validate();
1052 return uno::Reference< sdbc::XRef >();
1057uno::Reference< sdbc::XBlob > SAL_CALL
1062 uno::Reference< sdbc::XRow > xValues
1063 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
1068 m_pImpl->m_xDataSupplier->validate();
1069 return xValues->getBlob( columnIndex );
1074 m_pImpl->m_xDataSupplier->validate();
1075 return uno::Reference< sdbc::XBlob >();
1080uno::Reference< sdbc::XClob > SAL_CALL
1085 uno::Reference< sdbc::XRow > xValues
1086 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
1091 m_pImpl->m_xDataSupplier->validate();
1092 return xValues->getClob( columnIndex );
1097 m_pImpl->m_xDataSupplier->validate();
1098 return uno::Reference< sdbc::XClob >();
1103uno::Reference< sdbc::XArray > SAL_CALL
1108 uno::Reference< sdbc::XRow > xValues
1109 =
m_pImpl->m_xDataSupplier->queryPropertyValues(
1114 m_pImpl->m_xDataSupplier->validate();
1115 return xValues->getArray( columnIndex );
1120 m_pImpl->m_xDataSupplier->validate();
1121 return uno::Reference< sdbc::XArray >();
1131 m_pImpl->m_xDataSupplier->close();
1132 m_pImpl->m_xDataSupplier->validate();
1143 return m_pImpl->m_xDataSupplier->queryContentIdentifierString(
1151uno::Reference< css::ucb::XContentIdentifier > SAL_CALL
1155 return m_pImpl->m_xDataSupplier->queryContentIdentifier(
1158 return uno::Reference< css::ucb::XContentIdentifier >();
1163uno::Reference< css::ucb::XContent > SAL_CALL
1167 return m_pImpl->m_xDataSupplier->queryContent(
m_pImpl->m_nPos - 1 );
1169 return uno::Reference< css::ucb::XContent >();
1177uno::Reference< beans::XPropertySetInfo > SAL_CALL
1180 std::unique_lock aGuard(
m_pImpl->m_aMutex );
1182 if ( !
m_pImpl->m_xPropSetInfo.is() )
1186 return m_pImpl->m_xPropSetInfo;
1194 if ( aPropertyName ==
"RowCount" )
1197 throw lang::IllegalArgumentException();
1199 else if ( aPropertyName ==
"IsRowCountFinal" )
1202 throw lang::IllegalArgumentException();
1206 throw beans::UnknownPropertyException(aPropertyName);
1213 const OUString& PropertyName )
1217 if ( PropertyName ==
"RowCount" )
1219 aValue <<=
m_pImpl->m_xDataSupplier->currentCount();
1221 else if ( PropertyName ==
"IsRowCountFinal" )
1223 aValue <<=
m_pImpl->m_xDataSupplier->isCountFinal();
1227 throw beans::UnknownPropertyException(PropertyName);
1236 const OUString& aPropertyName,
1237 const uno::Reference< beans::XPropertyChangeListener >& xListener )
1241 std::unique_lock aGuard(
m_pImpl->m_aMutex );
1243 if ( !aPropertyName.isEmpty() &&
1244 aPropertyName !=
"RowCount" &&
1245 aPropertyName !=
"IsRowCountFinal" )
1246 throw beans::UnknownPropertyException(aPropertyName);
1248 if ( !
m_pImpl->m_pPropertyChangeListeners )
1249 m_pImpl->m_pPropertyChangeListeners.reset(
1252 m_pImpl->m_pPropertyChangeListeners->addInterface(aGuard,
1253 aPropertyName, xListener );
1259 const OUString& aPropertyName,
1260 const uno::Reference< beans::XPropertyChangeListener >& xListener )
1262 std::unique_lock aGuard(
m_pImpl->m_aMutex );
1264 if ( !aPropertyName.isEmpty() &&
1265 aPropertyName !=
"RowCount" &&
1266 aPropertyName !=
"IsRowCountFinal" )
1267 throw beans::UnknownPropertyException(aPropertyName);
1269 if (
m_pImpl->m_pPropertyChangeListeners )
1270 m_pImpl->m_pPropertyChangeListeners->removeInterface(aGuard,
1271 aPropertyName, xListener );
1279 const uno::Reference< beans::XVetoableChangeListener >& )
1288 const uno::Reference< beans::XVetoableChangeListener >& )
1299 std::unique_lock aGuard(
m_pImpl->m_aMutex );
1301 if ( !
m_pImpl->m_pPropertyChangeListeners )
1306 =
m_pImpl->m_pPropertyChangeListeners->getContainer(aGuard,
1307 rEvt.PropertyName );
1308 if ( pPropsContainer )
1310 pPropsContainer->
notifyEach(aGuard, &beans::XPropertyChangeListener::propertyChange, rEvt);
1315 =
m_pImpl->m_pPropertyChangeListeners->getContainer( aGuard, OUString() );
1316 if ( pPropsContainer )
1318 pPropsContainer->
notifyEach( aGuard, &beans::XPropertyChangeListener::propertyChange, rEvt);
1325 OSL_ENSURE( nOld < nNew, "ResultSet::rowCountChanged - nOld >= nNew!
" );
1327 if ( !m_pImpl->m_pPropertyChangeListeners )
1331 beans::PropertyChangeEvent(
1336 uno::Any( nOld ), // old value
1337 uno::Any( nNew ) ) ); // new value
1341void ResultSet::rowCountFinal()
1343 if ( !m_pImpl->m_pPropertyChangeListeners )
1347 beans::PropertyChangeEvent(
1352 uno:: Any( false ), // old value
1353 uno::Any( true ) ) ); // new value
1357const uno::Sequence< beans::Property >& ResultSet::getProperties() const
1359 return m_pImpl->m_aProperties;
1363const uno::Reference< css::ucb::XCommandEnvironment >&
1364ResultSet::getEnvironment() const
1366 return m_pImpl->m_xEnv;
1369} // namespace ucbhelper
1371namespace ucbhelper_impl {
1374// PropertySetInfo Implementation.
1377PropertySetInfo::PropertySetInfo(
1378 const PropertyInfo* pProps,
1380 : m_aProps( nProps )
1386 const PropertyInfo* pEntry = pProps;
1387 beans::Property* pProperties = m_aProps.getArray();
1389 for ( sal_Int32 n = 0; n < nProps; ++n )
1391 beans::Property& rProp = pProperties[ n ];
1393 rProp.Name = OUString::createFromAscii( pEntry->pName );
1394 rProp.Handle = pEntry->nHandle;
1395 rProp.Type = pEntry->pGetCppuType();
1396 rProp.Attributes = pEntry->nAttributes;
1404// XInterface methods.
1405void SAL_CALL PropertySetInfo::acquire()
1408 OWeakObject::acquire();
1411void SAL_CALL PropertySetInfo::release()
1414 OWeakObject::release();
1417css::uno::Any SAL_CALL PropertySetInfo::queryInterface(
1418 const css::uno::Type & rType )
1420 css::uno::Any aRet = cppu::queryInterface( rType,
1421 static_cast< lang::XTypeProvider* >(this),
1422 static_cast< beans::XPropertySetInfo* >(this)
1424 return aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType );
1427// XTypeProvider methods.
1430XTYPEPROVIDER_IMPL_2( PropertySetInfo,
1431 lang::XTypeProvider,
1432 beans::XPropertySetInfo );
1435// XPropertySetInfo methods.
1439uno::Sequence< beans::Property > SAL_CALL PropertySetInfo::getProperties()
1446beans::Property SAL_CALL PropertySetInfo::getPropertyByName(
1447 const OUString& aName )
1449 beans::Property aProp;
1450 if ( queryProperty( aName, aProp ) )
1453 throw beans::UnknownPropertyException(aName);
1458sal_Bool SAL_CALL PropertySetInfo::hasPropertyByName(
1459 const OUString& Name )
1461 beans::Property aProp;
1462 return queryProperty( Name, aProp );
1466bool PropertySetInfo::queryProperty(
1467 std::u16string_view aName, beans::Property& rProp ) const
1469 sal_Int32 nCount = m_aProps.getLength();
1470 const beans::Property* pProps = m_aProps.getConstArray();
1471 for ( sal_Int32 n = 0; n < nCount; ++n )
1473 const beans::Property& rCurr = pProps[ n ];
1474 if ( rCurr.Name == aName )
1484} // namespace ucbhelper_impl
1486/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Reference< XComponentContext > m_xContext
void notifyEach(std::unique_lock< std::mutex > &rGuard, void(SAL_CALL ListenerT::*NotificationMethod)(const EventT &), const EventT &Event) const
css::uno::Type const & get()
This class provides a propertyset info ( the complete implementation of the interface XPropertySetInf...
ResultSet(const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Sequence< css::beans::Property > &rProperties, const rtl::Reference< ResultSetDataSupplier > &rDataSupplier)
Construction.
virtual void SAL_CALL dispose() override
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
virtual sal_Bool SAL_CALL absolute(sal_Int32 row) override
virtual sal_Bool SAL_CALL wasNull() override
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getStatement() override
std::unique_ptr< ResultSet_Impl > m_pImpl
void rowCountChanged(sal_uInt32 nOld, sal_uInt32 nNew)
This method should be called by the data supplier for the result set to indicate that there were new ...
virtual sal_Bool SAL_CALL next() override
virtual sal_Int32 SAL_CALL getRow() override
virtual void SAL_CALL beforeFirst() override
virtual css::uno::Reference< css::sdbc::XBlob > SAL_CALL getBlob(sal_Int32 columnIndex) override
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &Listener) override
virtual css::util::DateTime SAL_CALL getTimestamp(sal_Int32 columnIndex) override
virtual sal_Bool SAL_CALL relative(sal_Int32 rows) override
virtual OUString SAL_CALL getImplementationName() override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual OUString SAL_CALL queryContentIdentifierString() override
virtual sal_Bool SAL_CALL last() override
virtual css::uno::Any SAL_CALL getObject(sal_Int32 columnIndex, const css::uno::Reference< css::container::XNameAccess > &typeMap) override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getBytes(sal_Int32 columnIndex) override
virtual float SAL_CALL getFloat(sal_Int32 columnIndex) override
virtual sal_Bool SAL_CALL isLast() override
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
virtual css::uno::Reference< css::io::XInputStream > SAL_CALL getCharacterStream(sal_Int32 columnIndex) override
virtual ~ResultSet() override
virtual css::uno::Reference< css::io::XInputStream > SAL_CALL getBinaryStream(sal_Int32 columnIndex) override
virtual css::util::Date SAL_CALL getDate(sal_Int32 columnIndex) override
virtual OUString SAL_CALL getString(sal_Int32 columnIndex) override
virtual sal_Int16 SAL_CALL getShort(sal_Int32 columnIndex) override
virtual void SAL_CALL close() override
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
virtual sal_Bool SAL_CALL rowUpdated() override
virtual void SAL_CALL afterLast() override
void propertyChanged(const css::beans::PropertyChangeEvent &rEvt) const
This method propagates property value changes to all registered listeners.
virtual sal_Bool SAL_CALL rowInserted() override
virtual css::util::Time SAL_CALL getTime(sal_Int32 columnIndex) override
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual void SAL_CALL refreshRow() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual css::uno::Reference< css::sdbc::XClob > SAL_CALL getClob(sal_Int32 columnIndex) override
virtual sal_Bool SAL_CALL rowDeleted() override
virtual sal_Bool SAL_CALL previous() override
virtual sal_Bool SAL_CALL first() override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
virtual sal_Int32 SAL_CALL getInt(sal_Int32 columnIndex) override
virtual css::uno::Reference< css::ucb::XContentIdentifier > SAL_CALL queryContentIdentifier() override
virtual sal_Int8 SAL_CALL getByte(sal_Int32 columnIndex) override
virtual css::uno::Reference< css::sdbc::XResultSetMetaData > SAL_CALL getMetaData() override
virtual sal_Bool SAL_CALL isBeforeFirst() override
virtual css::uno::Reference< css::sdbc::XRef > SAL_CALL getRef(sal_Int32 columnIndex) override
virtual sal_Int64 SAL_CALL getLong(sal_Int32 columnIndex) override
virtual double SAL_CALL getDouble(sal_Int32 columnIndex) override
virtual css::uno::Reference< css::ucb::XContent > SAL_CALL queryContent() override
virtual sal_Bool SAL_CALL getBoolean(sal_Int32 columnIndex) override
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &Listener) override
virtual css::uno::Reference< css::sdbc::XArray > SAL_CALL getArray(sal_Int32 columnIndex) override
virtual sal_Bool SAL_CALL isAfterLast() override
virtual sal_Bool SAL_CALL isFirst() override
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType, Interface1 *p1)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
static const uno::Type & sal_Int32_getCppuType()
cppu::OMultiTypeInterfaceContainerHelperVar< OUString > PropertyChangeListeners
const PropertyInfo aPropertyTable[]
static const uno::Type & sal_Bool_getCppuType()
constexpr OUStringLiteral RESULTSET_SERVICE_NAME
uno::Sequence< beans::Property > m_aProps
#define RESULTSET_PROPERTY_COUNT
std::unique_ptr< PropertyChangeListeners > m_pPropertyChangeListeners
uno::Reference< beans::XPropertySetInfo > m_xPropSetInfo
uno::Reference< sdbc::XResultSetMetaData > m_xMetaData
uno::Reference< css::ucb::XCommandEnvironment > m_xEnv
uno::Reference< uno::XComponentContext > m_xContext
comphelper::OInterfaceContainerHelper4< lang::XEventListener > m_aDisposeEventListeners
uno::Sequence< beans::Property > m_aProperties
rtl::Reference< ResultSetDataSupplier > m_xDataSupplier