summaryrefslogtreecommitdiff
path: root/ucb/source/ucp/hierarchy/hierarchydatasupplier.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'ucb/source/ucp/hierarchy/hierarchydatasupplier.hxx')
-rw-r--r--ucb/source/ucp/hierarchy/hierarchydatasupplier.hxx26
1 files changed, 22 insertions, 4 deletions
diff --git a/ucb/source/ucp/hierarchy/hierarchydatasupplier.hxx b/ucb/source/ucp/hierarchy/hierarchydatasupplier.hxx
index 6c04e75a0b93..d1cfdb1446c0 100644
--- a/ucb/source/ucp/hierarchy/hierarchydatasupplier.hxx
+++ b/ucb/source/ucp/hierarchy/hierarchydatasupplier.hxx
@@ -21,19 +21,17 @@
#include <rtl/ref.hxx>
#include <ucbhelper/resultset.hxx>
-#include <memory>
+#include <vector>
+#include "hierarchydata.hxx"
namespace hierarchy_ucp {
class HierarchyEntryData;
-struct DataSupplier_Impl;
class HierarchyContent;
class HierarchyResultSetDataSupplier :
public ::ucbhelper::ResultSetDataSupplier
{
- std::unique_ptr<DataSupplier_Impl> m_pImpl;
-
private:
bool checkResult( const HierarchyEntryData& rResult );
@@ -63,6 +61,26 @@ public:
virtual void close() override;
virtual void validate() override;
+private:
+ struct ResultListEntry
+ {
+ OUString aId;
+ css::uno::Reference< css::ucb::XContentIdentifier > xId;
+ css::uno::Reference< css::ucb::XContent > xContent;
+ css::uno::Reference< css::sdbc::XRow > xRow;
+ HierarchyEntryData aData;
+
+ explicit ResultListEntry( const HierarchyEntryData& rEntry ) : aData( rEntry ) {}
+ };
+ typedef std::vector< std::unique_ptr<ResultListEntry> > ResultList;
+ osl::Mutex m_aMutex;
+ ResultList m_aResults;
+ rtl::Reference< HierarchyContent > m_xContent;
+ css::uno::Reference< css::uno::XComponentContext > m_xContext;
+ HierarchyEntry m_aFolder;
+ HierarchyEntry::iterator m_aIterator;
+ sal_Int32 m_nOpenMode;
+ bool m_bCountFinal;
};
} // namespace hierarchy_ucp