27#include <com/sun/star/ucb/IllegalIdentifierException.hpp>
28#include <com/sun/star/ucb/OpenMode.hpp>
39HierarchyResultSetDataSupplier::HierarchyResultSetDataSupplier(
40 const uno::Reference< uno::XComponentContext >& rxContext,
46 rContent->getProvider().
get() ),
48 m_nOpenMode( nOpenMode ), m_bCountFinal( false )
68 std::unique_lock<std::mutex>& rGuard,
84 =
m_xContent->getIdentifier()->getContentIdentifier();
86 if ( ( aId.lastIndexOf(
'/' ) + 1 ) != aId.getLength() )
99uno::Reference< ucb::XContentIdentifier >
102 std::unique_lock aGuard(
m_aMutex );
106 uno::Reference< ucb::XContentIdentifier > xId
116 if ( !aId.isEmpty() )
118 uno::Reference< ucb::XContentIdentifier > xId
119 = new ::ucbhelper::ContentIdentifier( aId );
123 return uno::Reference< ucb::XContentIdentifier >();
128uno::Reference< ucb::XContent >
131 std::unique_lock aGuard(
m_aMutex );
135 uno::Reference< ucb::XContent > xContent
144 uno::Reference< ucb::XContentIdentifier > xId
150 uno::Reference< ucb::XContent > xContent
151 =
m_xContent->getProvider()->queryContent( xId );
156 catch ( ucb::IllegalIdentifierException
const & )
160 return uno::Reference< ucb::XContent >();
167 std::unique_lock aGuard(
m_aMutex );
188 sal_uInt32
nPos = nOldCount;
211 if ( xResultSet.is() )
217 xResultSet->rowCountChanged(
221 xResultSet->rowCountFinal();
233 std::unique_lock aGuard(
m_aMutex );
250 if ( xResultSet.is() )
256 xResultSet->rowCountChanged(
259 xResultSet->rowCountFinal();
281uno::Reference< sdbc::XRow >
284 std::unique_lock aGuard(
m_aMutex );
288 uno::Reference< sdbc::XRow > xRow
302 uno::Reference< sdbc::XRow > xRow
314 return uno::Reference< sdbc::XRow >();
321 std::unique_lock aGuard(
m_aMutex );
345 case ucb::OpenMode::FOLDERS:
353 case ucb::OpenMode::DOCUMENTS:
361 case ucb::OpenMode::ALL:
uno::Reference< ucb::XContent > m_xContent
Reference< XComponentContext > m_xContext
css::uno::Reference< css::sdbc::XRow > getPropertyValues(const css::uno::Sequence< css::beans::Property > &rProperties)
virtual void validate() override
virtual css::uno::Reference< css::sdbc::XRow > queryPropertyValues(sal_uInt32 nIndex) override
virtual void releasePropertyValues(sal_uInt32 nIndex) override
bool getResultImpl(std::unique_lock< std::mutex > &, sal_uInt32 nIndex)
virtual sal_uInt32 totalCount() override
virtual css::uno::Reference< css::ucb::XContent > queryContent(sal_uInt32 nIndex) override
HierarchyEntry::iterator m_aIterator
rtl::Reference< HierarchyContent > m_xContent
bool checkResult(const HierarchyEntryData &rResult)
OUString queryContentIdentifierStringImpl(std::unique_lock< std::mutex > &, sal_uInt32 nIndex)
virtual sal_uInt32 currentCount() override
virtual void close() override
virtual OUString queryContentIdentifierString(sal_uInt32 nIndex) final override
css::uno::Reference< css::uno::XComponentContext > m_xContext
virtual bool getResult(sal_uInt32 nIndex) final override
virtual css::uno::Reference< css::ucb::XContentIdentifier > queryContentIdentifier(sal_uInt32 nIndex) override
virtual bool isCountFinal() override
virtual ~HierarchyResultSetDataSupplier() override
rtl::Reference< ResultSet > getResultSet() const
constexpr OUStringLiteral aData
DESKTOP_DEPLOYMENTMISC_DLLPUBLIC OUString getIdentifier(css::uno::Reference< css::deployment::XPackage > const &package)
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)