Ditto 2.0.6
PendingCollectionsOperation.hpp
1#ifndef _DITTO_PENDING_COLLECTIONS_OPERATION_
2#define _DITTO_PENDING_COLLECTIONS_OPERATION_
3
4#include "Collection.hpp"
5#include "CollectionsEvent.hpp"
6#include "LiveQuery.hpp"
7#include "PendingCursorOperation.hpp"
8#include "SortDirection.hpp"
9#include "Subscription.hpp"
10
11#include <functional>
12#include <memory>
13#include <string>
14#include <vector>
15
16namespace ditto {
17class DittoHandleWrapper;
18
20 std::function<void(CollectionsEvent)> fn;
21};
22
24 std::function<void(CollectionsEvent, std::function<void()> &)> fn;
25};
26
30typedef std::function<void(CollectionsEvent)> CollectionsEventCallback;
31
35typedef std::function<void(CollectionsEvent, std::function<void()> &)>
36 CollectionsEventWithNextSignalCallback;
37
65 friend class Store;
66
67 std::shared_ptr<DittoHandleWrapper> ditto_handle_wrapper;
68 PendingCursorOperation pending_cursor_operation;
69
71 std::shared_ptr<DittoHandleWrapper> ditto_handle_wrapper);
72
73public:
75
84
99
110 PendingCollectionsOperation &sort(std::string query, SortDirection direction);
111
118 std::vector<Collection> exec() const;
119
131 Subscription subscribe() const;
132
146 std::shared_ptr<LiveQuery>
147 observe(CollectionsEventCallback event_callback) const;
148
161 std::shared_ptr<LiveQuery>
162 observe_local(CollectionsEventCallback event_callback) const;
163
178 std::shared_ptr<LiveQuery> observe_with_next_signal(
179 CollectionsEventWithNextSignalCallback event_callback) const;
180
194 std::shared_ptr<LiveQuery> observe_local_with_next_signal(
195 CollectionsEventWithNextSignalCallback event_callback) const;
196
197private:
205 static LiveQueryEventCallback
206 buildLiveQueryCallback(CollectionsEventCallback callback,
207 std::shared_ptr<DittoHandleWrapper> dhw);
208
216 static LiveQueryEventWithNextSignalCallback
217 buildLiveQueryWithNextSignalCallback(
218 CollectionsEventWithNextSignalCallback callback,
219 std::shared_ptr<DittoHandleWrapper> dhw);
220};
221} // namespace ditto
222#endif
Provides information about the changes that have occurred in relation to an event delivered when obse...
Definition: CollectionsEvent.hpp:21
These objects are returned when calling collections() on Store objects.
Definition: PendingCollectionsOperation.hpp:64
PendingCollectionsOperation & sort(std::string query, SortDirection direction)
Sort the collections based on a property of the collection.
Definition: PendingCollectionsOperation.cpp:67
std::vector< Collection > exec() const
Return the list of collections requested based on the preceding function chaining.
Definition: PendingCollectionsOperation.cpp:19
PendingCollectionsOperation & offset(uint32_t offset)
Offset the resulting set of collections.
Definition: PendingCollectionsOperation.cpp:55
std::shared_ptr< LiveQuery > observe(CollectionsEventCallback event_callback) const
Enables you to listen for changes that occur in relation to the collections that are known about....
Definition: PendingCollectionsOperation.cpp:24
PendingCollectionsOperation & limit(uint32_t limit)
Limit the number of collections that get returned.
Definition: PendingCollectionsOperation.cpp:61
std::shared_ptr< LiveQuery > observe_local(CollectionsEventCallback event_callback) const
Enables you to listen for changes that occur in relation to the collections that are known about loca...
Definition: PendingCollectionsOperation.cpp:31
Subscription subscribe() const
Subscribes the device to updates about collections that other devices know about.
Definition: PendingCollectionsOperation.cpp:73
std::shared_ptr< LiveQuery > observe_with_next_signal(CollectionsEventWithNextSignalCallback event_callback) const
Enables you to listen for changes that occur in relation to the collections that are known about....
Definition: PendingCollectionsOperation.cpp:39
std::shared_ptr< LiveQuery > observe_local_with_next_signal(CollectionsEventWithNextSignalCallback event_callback) const
Enables you to listen for changes that occur in relation to the collections that are known about loca...
Definition: PendingCollectionsOperation.cpp:47
These objects are returned when using find-like functionality on Collection objects.
Definition: PendingCursorOperation.hpp:49
Provides access to Collections and a write transaction API.
Definition: Store.hpp:20
While Subscription objects remain in scope they ensure that documents in the collection specified,...
Definition: Subscription.hpp:18
Definition: PendingCollectionsOperation.hpp:19
Definition: PendingCollectionsOperation.hpp:23