Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(399)

Side by Side Diff: components/sync/sessions/sync_session_snapshot.h

Issue 2258873003: [Sync] Move sessions/ to engine/cycle/ and rename things to match. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2012 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 COMPONENTS_SYNC_SESSIONS_SYNC_SESSION_SNAPSHOT_H_
6 #define COMPONENTS_SYNC_SESSIONS_SYNC_SESSION_SNAPSHOT_H_
7
8 #include <stddef.h>
9
10 #include <string>
11 #include <vector>
12
13 #include "base/time/time.h"
14 #include "components/sync/base/model_type.h"
15 #include "components/sync/base/progress_marker_map.h"
16 #include "components/sync/sessions/model_neutral_state.h"
17
18 namespace base {
19 class DictionaryValue;
20 }
21
22 namespace syncer {
23 namespace sessions {
24
25 // An immutable snapshot of state from a SyncSession. Convenient to use as
26 // part of notifications as it is inherently thread-safe.
27 // TODO(zea): if copying this all over the place starts getting expensive,
28 // consider passing around immutable references instead of values.
29 // Default copy and assign welcome.
30 class SyncSessionSnapshot {
31 public:
32 SyncSessionSnapshot();
33 SyncSessionSnapshot(
34 const ModelNeutralState& model_neutral_state,
35 const ProgressMarkerMap& download_progress_markers,
36 bool is_silenced,
37 int num_encryption_conflicts,
38 int num_hierarchy_conflicts,
39 int num_server_conflicts,
40 bool notifications_enabled,
41 size_t num_entries,
42 base::Time sync_start_time,
43 base::Time poll_finish_time,
44 const std::vector<int>& num_entries_by_type,
45 const std::vector<int>& num_to_delete_entries_by_type,
46 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource legacy_updates_source);
47 SyncSessionSnapshot(const SyncSessionSnapshot& other);
48 ~SyncSessionSnapshot();
49
50 std::unique_ptr<base::DictionaryValue> ToValue() const;
51
52 std::string ToString() const;
53
54 ModelNeutralState model_neutral_state() const { return model_neutral_state_; }
55 const ProgressMarkerMap& download_progress_markers() const;
56 bool is_silenced() const;
57 int num_encryption_conflicts() const;
58 int num_hierarchy_conflicts() const;
59 int num_server_conflicts() const;
60 bool notifications_enabled() const;
61 size_t num_entries() const;
62 base::Time sync_start_time() const;
63 base::Time poll_finish_time() const;
64 const std::vector<int>& num_entries_by_type() const;
65 const std::vector<int>& num_to_delete_entries_by_type() const;
66 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource legacy_updates_source() const;
67
68 // Set iff this snapshot was not built using the default constructor.
69 bool is_initialized() const;
70
71 private:
72 ModelNeutralState model_neutral_state_;
73 ProgressMarkerMap download_progress_markers_;
74 bool is_silenced_;
75 int num_encryption_conflicts_;
76 int num_hierarchy_conflicts_;
77 int num_server_conflicts_;
78 bool notifications_enabled_;
79 size_t num_entries_;
80 base::Time sync_start_time_;
81 base::Time poll_finish_time_;
82
83 std::vector<int> num_entries_by_type_;
84 std::vector<int> num_to_delete_entries_by_type_;
85
86 // This enum value used to be an important part of the sync protocol, but is
87 // now deprecated. We continue to use it in the snapshot because there is
88 // still some value in displaying it on the about:sync page.
89 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource legacy_updates_source_;
90
91 bool is_initialized_;
92 };
93
94 } // namespace sessions
95 } // namespace syncer
96
97 #endif // COMPONENTS_SYNC_SESSIONS_SYNC_SESSION_SNAPSHOT_H_
OLDNEW
« no previous file with comments | « components/sync/sessions/status_counters.cc ('k') | components/sync/sessions/sync_session_snapshot.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698