OLD | NEW |
| (Empty) |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef SYNC_INTERNAL_API_PUBLIC_NON_BLOCKING_SYNC_COMMON_H_ | |
6 #define SYNC_INTERNAL_API_PUBLIC_NON_BLOCKING_SYNC_COMMON_H_ | |
7 | |
8 #include <stdint.h> | |
9 | |
10 #include <string> | |
11 #include <vector> | |
12 | |
13 #include "base/time/time.h" | |
14 #include "sync/api/entity_data.h" | |
15 #include "sync/base/sync_export.h" | |
16 #include "sync/protocol/sync.pb.h" | |
17 | |
18 namespace syncer_v2 { | |
19 | |
20 static const int64_t kUncommittedVersion = -1; | |
21 | |
22 struct SYNC_EXPORT CommitRequestData { | |
23 CommitRequestData(); | |
24 CommitRequestData(const CommitRequestData& other); | |
25 ~CommitRequestData(); | |
26 | |
27 EntityDataPtr entity; | |
28 | |
29 // Strictly incrementing number for in-progress commits. More information | |
30 // about its meaning can be found in comments in the files that make use of | |
31 // this struct. | |
32 int64_t sequence_number = 0; | |
33 int64_t base_version = 0; | |
34 std::string specifics_hash; | |
35 }; | |
36 | |
37 struct SYNC_EXPORT CommitResponseData { | |
38 CommitResponseData(); | |
39 CommitResponseData(const CommitResponseData& other); | |
40 ~CommitResponseData(); | |
41 | |
42 std::string id; | |
43 std::string client_tag_hash; | |
44 int64_t sequence_number = 0; | |
45 int64_t response_version = 0; | |
46 std::string specifics_hash; | |
47 }; | |
48 | |
49 struct SYNC_EXPORT UpdateResponseData { | |
50 UpdateResponseData(); | |
51 UpdateResponseData(const UpdateResponseData& other); | |
52 ~UpdateResponseData(); | |
53 | |
54 EntityDataPtr entity; | |
55 | |
56 int64_t response_version = 0; | |
57 std::string encryption_key_name; | |
58 }; | |
59 | |
60 typedef std::vector<CommitRequestData> CommitRequestDataList; | |
61 typedef std::vector<CommitResponseData> CommitResponseDataList; | |
62 typedef std::vector<UpdateResponseData> UpdateResponseDataList; | |
63 | |
64 } // namespace syncer_v2 | |
65 | |
66 #endif // SYNC_INTERNAL_API_PUBLIC_NON_BLOCKING_SYNC_COMMON_H_ | |
OLD | NEW |