23#include <com/sun/star/lang/XTypeProvider.hpp>
24#include <com/sun/star/lang/XServiceInfo.hpp>
25#include <com/sun/star/ucb/XFetchProvider.hpp>
26#include <com/sun/star/ucb/XFetchProviderForContentAccess.hpp>
27#include <com/sun/star/ucb/XCachedContentResultSetStubFactory.hpp>
32 ,
public css::lang::XTypeProvider
33 ,
public css::lang::XServiceInfo
34 ,
public css::ucb::XFetchProvider
35 ,
public css::ucb::XFetchProviderForContentAccess
53 std::unique_lock<std::mutex>& rGuard,
54 css::uno::Any& rRowContent,
55 const css::uno::Reference< css::sdbc::XRow >& xRow );
63 std::unique_lock<std::mutex>& rGuard,
65 ,
const css::uno::Reference< css::ucb::XContentAccess >& xContentAccess );
70 std::unique_lock<std::mutex>& rGuard,
72 ,
const css::uno::Reference< css::ucb::XContentAccess >& xContentAccess );
77 std::unique_lock<std::mutex>& rGuard,
79 ,
const css::uno::Reference< css::ucb::XContentAccess >& xContentAccess );
86 std::unique_lock<std::mutex>& rGuard,
87 sal_Int32 nRowStartPosition, sal_Int32 nRowCount,
bool bDirection,
88 std::function<
void(std::unique_lock<std::mutex>&, css::uno::Any& rRowContent)> impl_loadRow);
97 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type & rType )
override;
100 virtual
void SAL_CALL
release()
124 virtual css::
ucb::FetchResult SAL_CALL
125 fetch( sal_Int32 nRowStartPosition
126 , sal_Int32 nRowCount,
sal_Bool bDirection ) override;
131 virtual css::
ucb::FetchResult SAL_CALL
133 , sal_Int32 nRowCount,
sal_Bool bDirection ) override;
135 virtual css::
ucb::FetchResult SAL_CALL
137 , sal_Int32 nRowCount,
sal_Bool bDirection ) override;
139 virtual css::
ucb::FetchResult SAL_CALL
141 , sal_Int32 nRowCount,
sal_Bool bDirection ) override;
146 public
cppu::WeakImplHelper<
147 css::lang::XServiceInfo,
148 css::
ucb::XCachedContentResultSetStubFactory>
163 virtual css::uno::Reference< css::sdbc::XResultSet > SAL_CALL
164 createCachedContentResultSetStub(
165 const css::uno::Reference< css::sdbc::XResultSet > & xSource )
override;
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
sal_Int32 m_nLastFetchSize
virtual void SAL_CALL acquire() noexcept override
bool m_bLastFetchDirection
virtual void impl_propertyChange(const css::beans::PropertyChangeEvent &evt) override
bool m_bColumnCountCached
virtual css::ucb::FetchResult SAL_CALL fetchContentIdentifierStrings(sal_Int32 nRowStartPosition, sal_Int32 nRowCount, sal_Bool bDirection) override
static void impl_getCurrentContentIdentifier(std::unique_lock< std::mutex > &rGuard, css::uno::Any &rAny, const css::uno::Reference< css::ucb::XContentAccess > &xContentAccess)
virtual void impl_vetoableChange(const css::beans::PropertyChangeEvent &aEvent) override
css::ucb::FetchResult impl_fetchHelper(std::unique_lock< std::mutex > &rGuard, sal_Int32 nRowStartPosition, sal_Int32 nRowCount, bool bDirection, std::function< void(std::unique_lock< std::mutex > &, css::uno::Any &rRowContent)> impl_loadRow)
static void impl_getCurrentContent(std::unique_lock< std::mutex > &rGuard, css::uno::Any &rAny, const css::uno::Reference< css::ucb::XContentAccess > &xContentAccess)
static void impl_getCurrentContentIdentifierString(std::unique_lock< std::mutex > &rGuard, css::uno::Any &rAny, const css::uno::Reference< css::ucb::XContentAccess > &xContentAccess)
virtual css::ucb::FetchResult SAL_CALL fetch(sal_Int32 nRowStartPosition, sal_Int32 nRowCount, sal_Bool bDirection) override
void impl_getCurrentRowContent(std::unique_lock< std::mutex > &rGuard, css::uno::Any &rRowContent, const css::uno::Reference< css::sdbc::XRow > &xRow)
virtual void SAL_CALL release() noexcept override
virtual ~CachedContentResultSetStub() override
virtual OUString SAL_CALL getImplementationName() override
virtual css::ucb::FetchResult SAL_CALL fetchContents(sal_Int32 nRowStartPosition, sal_Int32 nRowCount, sal_Bool bDirection) override
const OUString m_aPropertyNameForFetchSize
void impl_propagateFetchSizeAndDirection(std::unique_lock< std::mutex > &rGuard, sal_Int32 nFetchSize, bool bFetchDirection)
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual css::ucb::FetchResult SAL_CALL fetchContentIdentifiers(sal_Int32 nRowStartPosition, sal_Int32 nRowCount, sal_Bool bDirection) override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
const OUString m_aPropertyNameForFetchDirection
sal_Int32 impl_getColumnCount(std::unique_lock< std::mutex > &)
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
CachedContentResultSetStub(css::uno::Reference< css::sdbc::XResultSet > const &xOrigin)
bool m_bNeedToPropagateFetchSize
bool m_bFirstFetchSizePropagationDone