LibreOffice Module ucb (master)  1
cmis_datasupplier.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
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/.
8  */
9 
10 #ifndef INCLUDED_UCB_SOURCE_UCP_CMIS_CMIS_DATASUPPLIER_HXX
11 #define INCLUDED_UCB_SOURCE_UCP_CMIS_CMIS_DATASUPPLIER_HXX
12 
13 #include <vector>
14 
15 #include <ucbhelper/resultset.hxx>
16 
17 #include "children_provider.hxx"
18 
19 namespace cmis
20 {
21 
22  class Content;
23 
25  {
26  css::uno::Reference< css::ucb::XContent > xContent;
27  css::uno::Reference< css::sdbc::XRow > xRow;
28 
29  explicit ResultListEntry( css::uno::Reference< css::ucb::XContent > const & xCnt ) : xContent( xCnt )
30  {
31  }
32  };
33 
35  {
36  private:
38  sal_Int32 const mnOpenMode;
40  void getData();
41  std::vector< ResultListEntry > maResults;
42 
43  public:
44  DataSupplier( ChildrenProvider* pChildrenProvider, sal_Int32 nOpenMode );
45 
46  virtual ~DataSupplier() override;
47 
48  virtual OUString queryContentIdentifierString( sal_uInt32 nIndex ) override;
49  virtual css::uno::Reference< css::ucb::XContentIdentifier >
50  queryContentIdentifier( sal_uInt32 nIndex ) override;
51  virtual css::uno::Reference< css::ucb::XContent >
52  queryContent( sal_uInt32 nIndex ) override;
53 
54  virtual bool getResult( sal_uInt32 nIndex ) override;
55 
56  virtual sal_uInt32 totalCount() override;
57  virtual sal_uInt32 currentCount() override;
58  virtual bool isCountFinal() override;
59 
60  virtual css::uno::Reference< css::sdbc::XRow >
61  queryPropertyValues( sal_uInt32 nIndex ) override;
62  virtual void releasePropertyValues( sal_uInt32 nIndex ) override;
63 
64  virtual void close() override;
65 
66  virtual void validate() override;
67  };
68 
69 }
70 
71 #endif
72 
73 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
std::vector< ResultListEntry > maResults
virtual OUString queryContentIdentifierString(sal_uInt32 nIndex) override
virtual css::uno::Reference< css::ucb::XContent > queryContent(sal_uInt32 nIndex) override
sal_Int32 const mnOpenMode
css::uno::Reference< css::sdbc::XRow > xRow
virtual sal_uInt32 totalCount() override
virtual void close() override
DataSupplier(ChildrenProvider *pChildrenProvider, sal_Int32 nOpenMode)
ChildrenProvider * m_pChildrenProvider
virtual bool isCountFinal() override
css::uno::Reference< css::ucb::XContent > xContent
ResultListEntry(css::uno::Reference< css::ucb::XContent > const &xCnt)
virtual void validate() override
virtual css::uno::Reference< css::sdbc::XRow > queryPropertyValues(sal_uInt32 nIndex) override
virtual sal_uInt32 currentCount() override
virtual css::uno::Reference< css::ucb::XContentIdentifier > queryContentIdentifier(sal_uInt32 nIndex) override
virtual bool getResult(sal_uInt32 nIndex) override
virtual void releasePropertyValues(sal_uInt32 nIndex) override
virtual ~DataSupplier() override