Ditto 4.9.4
 
Loading...
Searching...
No Matches
WriteTransactionResult.hpp
1#ifndef _DITTO_WRITE_TRANSACTION_RESULT_
2#define _DITTO_WRITE_TRANSACTION_RESULT_
3
4#include "DocumentId.hpp"
5
6#include <string>
7
8namespace ditto {
9
13enum class WriteTransactionResultType {
14 Inserted,
15 Removed,
16 Evicted,
17 Updated,
18};
19
30struct WriteTransactionResult {
31 friend struct WriteTransactionResultInserted;
32 friend struct WriteTransactionResultRemoved;
33 friend struct WriteTransactionResultEvicted;
34 friend struct WriteTransactionResultUpdated;
35
36public:
41
45 std::string collection_name;
46
50 WriteTransactionResultType type;
51
52private:
53 WriteTransactionResult(DocumentId document_id, std::string collection_name,
54 WriteTransactionResultType type);
55};
56
62struct WriteTransactionResultInserted : WriteTransactionResult {
63 friend class ScopedWriteTransaction;
64
65private:
66 WriteTransactionResultInserted(DocumentId document_id,
67 std::string collection_name);
68};
69
75struct WriteTransactionResultRemoved : WriteTransactionResult {
76 friend class WriteTransactionPendingCursorOperation;
77 friend class WriteTransactionPendingIDSpecificOperation;
78
79private:
80 WriteTransactionResultRemoved(DocumentId document_id,
81 std::string collection_name);
82};
83
89struct WriteTransactionResultEvicted : WriteTransactionResult {
90 friend class WriteTransactionPendingCursorOperation;
91 friend class WriteTransactionPendingIDSpecificOperation;
92
93private:
94 WriteTransactionResultEvicted(DocumentId document_id,
95 std::string collection_name);
96};
97
103struct WriteTransactionResultUpdated : WriteTransactionResult {
104 friend class WriteTransactionPendingCursorOperation;
105 friend class WriteTransactionPendingIDSpecificOperation;
106
107private:
108 WriteTransactionResultUpdated(DocumentId document_id,
109 std::string collection_name);
110};
111} // namespace ditto
112#endif
An identifier for a Document.
Definition DocumentId.hpp:21
DocumentId document_id
Definition WriteTransactionResult.hpp:40
std::string collection_name
Definition WriteTransactionResult.hpp:45
WriteTransactionResultType type
Definition WriteTransactionResult.hpp:50