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

Side by Side Diff: sync/internal_api/public/sessions/sync_session_snapshot.h

Issue 19982002: sync: Remove SyncSourceInfo (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Convert SyncShareRecords to typedef Created 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef SYNC_INTERNAL_API_PUBLIC_SESSIONS_SYNC_SESSION_SNAPSHOT_H_ 5 #ifndef SYNC_INTERNAL_API_PUBLIC_SESSIONS_SYNC_SESSION_SNAPSHOT_H_
6 #define SYNC_INTERNAL_API_PUBLIC_SESSIONS_SYNC_SESSION_SNAPSHOT_H_ 6 #define SYNC_INTERNAL_API_PUBLIC_SESSIONS_SYNC_SESSION_SNAPSHOT_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/time/time.h" 11 #include "base/time/time.h"
12 #include "sync/base/sync_export.h" 12 #include "sync/base/sync_export.h"
13 #include "sync/internal_api/public/base/model_type.h" 13 #include "sync/internal_api/public/base/model_type.h"
14 #include "sync/internal_api/public/base/progress_marker_map.h" 14 #include "sync/internal_api/public/base/progress_marker_map.h"
15 #include "sync/internal_api/public/sessions/model_neutral_state.h" 15 #include "sync/internal_api/public/sessions/model_neutral_state.h"
16 #include "sync/internal_api/public/sessions/sync_source_info.h"
17 16
18 namespace base { 17 namespace base {
19 class DictionaryValue; 18 class DictionaryValue;
20 } 19 }
21 20
22 namespace syncer { 21 namespace syncer {
23 namespace sessions { 22 namespace sessions {
24 23
25 // An immutable snapshot of state from a SyncSession. Convenient to use as 24 // An immutable snapshot of state from a SyncSession. Convenient to use as
26 // part of notifications as it is inherently thread-safe. 25 // part of notifications as it is inherently thread-safe.
27 // TODO(zea): if copying this all over the place starts getting expensive, 26 // TODO(zea): if copying this all over the place starts getting expensive,
28 // consider passing around immutable references instead of values. 27 // consider passing around immutable references instead of values.
29 // Default copy and assign welcome. 28 // Default copy and assign welcome.
30 class SYNC_EXPORT SyncSessionSnapshot { 29 class SYNC_EXPORT SyncSessionSnapshot {
31 public: 30 public:
32 SyncSessionSnapshot(); 31 SyncSessionSnapshot();
33 SyncSessionSnapshot( 32 SyncSessionSnapshot(
34 const ModelNeutralState& model_neutral_state, 33 const ModelNeutralState& model_neutral_state,
35 const ProgressMarkerMap& download_progress_markers, 34 const ProgressMarkerMap& download_progress_markers,
36 bool is_silenced, 35 bool is_silenced,
37 int num_encryption_conflicts, 36 int num_encryption_conflicts,
38 int num_hierarchy_conflicts, 37 int num_hierarchy_conflicts,
39 int num_server_conflicts, 38 int num_server_conflicts,
40 const SyncSourceInfo& source,
41 bool notifications_enabled, 39 bool notifications_enabled,
42 size_t num_entries, 40 size_t num_entries,
43 base::Time sync_start_time, 41 base::Time sync_start_time,
44 const std::vector<int>& num_entries_by_type, 42 const std::vector<int>& num_entries_by_type,
45 const std::vector<int>& num_to_delete_entries_by_type); 43 const std::vector<int>& num_to_delete_entries_by_type,
44 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource legacy_updates_source);
46 ~SyncSessionSnapshot(); 45 ~SyncSessionSnapshot();
47 46
48 // Caller takes ownership of the returned dictionary. 47 // Caller takes ownership of the returned dictionary.
49 base::DictionaryValue* ToValue() const; 48 base::DictionaryValue* ToValue() const;
50 49
51 std::string ToString() const; 50 std::string ToString() const;
52 51
53 ModelNeutralState model_neutral_state() const { 52 ModelNeutralState model_neutral_state() const {
54 return model_neutral_state_; 53 return model_neutral_state_;
55 } 54 }
56 int64 num_server_changes_remaining() const; 55 int64 num_server_changes_remaining() const;
57 const ProgressMarkerMap& download_progress_markers() const; 56 const ProgressMarkerMap& download_progress_markers() const;
58 bool is_silenced() const; 57 bool is_silenced() const;
59 int num_encryption_conflicts() const; 58 int num_encryption_conflicts() const;
60 int num_hierarchy_conflicts() const; 59 int num_hierarchy_conflicts() const;
61 int num_server_conflicts() const; 60 int num_server_conflicts() const;
62 SyncSourceInfo source() const;
63 bool notifications_enabled() const; 61 bool notifications_enabled() const;
64 size_t num_entries() const; 62 size_t num_entries() const;
65 base::Time sync_start_time() const; 63 base::Time sync_start_time() const;
66 const std::vector<int>& num_entries_by_type() const; 64 const std::vector<int>& num_entries_by_type() const;
67 const std::vector<int>& num_to_delete_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;
68 67
69 // Set iff this snapshot was not built using the default constructor. 68 // Set iff this snapshot was not built using the default constructor.
70 bool is_initialized() const; 69 bool is_initialized() const;
71 70
72 private: 71 private:
73 ModelNeutralState model_neutral_state_; 72 ModelNeutralState model_neutral_state_;
74 ProgressMarkerMap download_progress_markers_; 73 ProgressMarkerMap download_progress_markers_;
75 bool is_silenced_; 74 bool is_silenced_;
76 int num_encryption_conflicts_; 75 int num_encryption_conflicts_;
77 int num_hierarchy_conflicts_; 76 int num_hierarchy_conflicts_;
78 int num_server_conflicts_; 77 int num_server_conflicts_;
79 SyncSourceInfo source_;
80 bool notifications_enabled_; 78 bool notifications_enabled_;
81 size_t num_entries_; 79 size_t num_entries_;
82 base::Time sync_start_time_; 80 base::Time sync_start_time_;
83 81
84 std::vector<int> num_entries_by_type_; 82 std::vector<int> num_entries_by_type_;
85 std::vector<int> num_to_delete_entries_by_type_; 83 std::vector<int> num_to_delete_entries_by_type_;
86 84
85 // This enum value used to be an important part of the sync protocol, but is
86 // now deprecated. We continue to use it in the snapshot because there is
87 // still some value in displaying it on the about:sync page.
88 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource legacy_updates_source_;
89
87 bool is_initialized_; 90 bool is_initialized_;
88 }; 91 };
89 92
90 } // namespace sessions 93 } // namespace sessions
91 } // namespace syncer 94 } // namespace syncer
92 95
93 #endif // SYNC_INTERNAL_API_PUBLIC_SESSIONS_SYNC_SESSION_SNAPSHOT_H_ 96 #endif // SYNC_INTERNAL_API_PUBLIC_SESSIONS_SYNC_SESSION_SNAPSHOT_H_
OLDNEW
« no previous file with comments | « sync/internal_api/public/sessions/model_neutral_state.h ('k') | sync/internal_api/public/sessions/sync_session_snapshot.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698