Index: sync/sessions/session_state.cc |
diff --git a/sync/sessions/session_state.cc b/sync/sessions/session_state.cc |
index f49c41d00d8b90333aad4c81d000cc5866e3bc90..d0d23fa0856110bc607597dc9f0d50af5f635419 100644 |
--- a/sync/sessions/session_state.cc |
+++ b/sync/sessions/session_state.cc |
@@ -75,38 +75,35 @@ DictionaryValue* SyncerStatus::ToValue() const { |
return value; |
} |
-DictionaryValue* DownloadProgressMarkersToValue( |
- const std::string |
- (&download_progress_markers)[syncable::MODEL_TYPE_COUNT]) { |
- DictionaryValue* value = new DictionaryValue(); |
- for (int i = syncable::FIRST_REAL_MODEL_TYPE; |
- i < syncable::MODEL_TYPE_COUNT; ++i) { |
- // TODO(akalin): Unpack the value into a protobuf. |
- std::string base64_marker; |
- bool encoded = |
- base::Base64Encode(download_progress_markers[i], &base64_marker); |
- DCHECK(encoded); |
- value->SetString( |
- syncable::ModelTypeToString(syncable::ModelTypeFromInt(i)), |
- base64_marker); |
- } |
- return value; |
-} |
- |
ErrorCounters::ErrorCounters() |
: last_download_updates_result(UNSET), |
last_post_commit_result(UNSET), |
last_process_commit_response_result(UNSET) { |
} |
+SyncSessionSnapshot::SyncSessionSnapshot() |
+ : num_server_changes_remaining_(0), |
+ is_share_usable_(false), |
+ has_more_to_sync_(false), |
+ is_silenced_(false), |
+ unsynced_count_(0), |
+ num_encryption_conflicts_(0), |
+ num_hierarchy_conflicts_(0), |
+ num_simple_conflicts_(0), |
+ num_server_conflicts_(0), |
+ did_commit_items_(false), |
+ notifications_enabled_(false), |
+ num_entries_(0), |
+ retry_scheduled_(false) { |
+} |
+ |
SyncSessionSnapshot::SyncSessionSnapshot( |
const SyncerStatus& syncer_status, |
const ErrorCounters& errors, |
int64 num_server_changes_remaining, |
bool is_share_usable, |
syncable::ModelTypeSet initial_sync_ended, |
- const std::string |
- (&download_progress_markers)[syncable::MODEL_TYPE_COUNT], |
+ const syncable::ModelTypePayloadMap& download_progress_markers, |
bool more_to_sync, |
bool is_silenced, |
int64 unsynced_count, |
@@ -120,62 +117,57 @@ SyncSessionSnapshot::SyncSessionSnapshot( |
size_t num_entries, |
base::Time sync_start_time, |
bool retry_scheduled) |
- : syncer_status(syncer_status), |
- errors(errors), |
- num_server_changes_remaining(num_server_changes_remaining), |
- is_share_usable(is_share_usable), |
- initial_sync_ended(initial_sync_ended), |
- download_progress_markers(), |
- has_more_to_sync(more_to_sync), |
- is_silenced(is_silenced), |
- unsynced_count(unsynced_count), |
- num_encryption_conflicts(num_encryption_conflicts), |
- num_hierarchy_conflicts(num_hierarchy_conflicts), |
- num_simple_conflicts(num_simple_conflicts), |
- num_server_conflicts(num_server_conflicts), |
- did_commit_items(did_commit_items), |
- source(source), |
- notifications_enabled(notifications_enabled), |
- num_entries(num_entries), |
- sync_start_time(sync_start_time), |
- retry_scheduled(retry_scheduled) { |
- for (int i = syncable::FIRST_REAL_MODEL_TYPE; |
- i < syncable::MODEL_TYPE_COUNT; ++i) { |
- const_cast<std::string&>(this->download_progress_markers[i]).assign( |
- download_progress_markers[i]); |
- } |
+ : syncer_status_(syncer_status), |
+ errors_(errors), |
+ num_server_changes_remaining_(num_server_changes_remaining), |
+ is_share_usable_(is_share_usable), |
+ initial_sync_ended_(initial_sync_ended), |
+ download_progress_markers_(download_progress_markers), |
+ has_more_to_sync_(more_to_sync), |
+ is_silenced_(is_silenced), |
+ unsynced_count_(unsynced_count), |
+ num_encryption_conflicts_(num_encryption_conflicts), |
+ num_hierarchy_conflicts_(num_hierarchy_conflicts), |
+ num_simple_conflicts_(num_simple_conflicts), |
+ num_server_conflicts_(num_server_conflicts), |
+ did_commit_items_(did_commit_items), |
+ source_(source), |
+ notifications_enabled_(notifications_enabled), |
+ num_entries_(num_entries), |
+ sync_start_time_(sync_start_time), |
+ retry_scheduled_(retry_scheduled) { |
} |
SyncSessionSnapshot::~SyncSessionSnapshot() {} |
DictionaryValue* SyncSessionSnapshot::ToValue() const { |
DictionaryValue* value = new DictionaryValue(); |
- value->Set("syncerStatus", syncer_status.ToValue()); |
+ value->Set("syncerStatus", syncer_status_.ToValue()); |
// We don't care too much if we lose precision here. |
value->SetInteger("numServerChangesRemaining", |
- static_cast<int>(num_server_changes_remaining)); |
- value->SetBoolean("isShareUsable", is_share_usable); |
+ static_cast<int>(num_server_changes_remaining_)); |
+ value->SetBoolean("isShareUsable", is_share_usable_); |
value->Set("initialSyncEnded", |
- syncable::ModelTypeSetToValue(initial_sync_ended)); |
+ syncable::ModelTypeSetToValue(initial_sync_ended_)); |
value->Set("downloadProgressMarkers", |
- DownloadProgressMarkersToValue(download_progress_markers)); |
- value->SetBoolean("hasMoreToSync", has_more_to_sync); |
- value->SetBoolean("isSilenced", is_silenced); |
+ syncable::ModelTypePayloadMapToValue(download_progress_markers_)); |
+ value->SetBoolean("hasMoreToSync", has_more_to_sync_); |
+ value->SetBoolean("isSilenced", is_silenced_); |
// We don't care too much if we lose precision here, also. |
value->SetInteger("unsyncedCount", |
- static_cast<int>(unsynced_count)); |
+ static_cast<int>(unsynced_count_)); |
value->SetInteger("numEncryptionConflicts", |
- num_encryption_conflicts); |
+ num_encryption_conflicts_); |
value->SetInteger("numHierarchyConflicts", |
- num_hierarchy_conflicts); |
+ num_hierarchy_conflicts_); |
value->SetInteger("numSimpleConflicts", |
- num_simple_conflicts); |
+ num_simple_conflicts_); |
value->SetInteger("numServerConflicts", |
- num_server_conflicts); |
- value->SetBoolean("didCommitItems", did_commit_items); |
- value->SetInteger("numEntries", num_entries); |
- value->Set("source", source.ToValue()); |
- value->SetBoolean("notificationsEnabled", notifications_enabled); |
+ num_server_conflicts_); |
+ value->SetBoolean("didCommitItems", did_commit_items_); |
+ value->SetInteger("numEntries", num_entries_); |
+ value->Set("source", source_.ToValue()); |
+ value->SetBoolean("notificationsEnabled", notifications_enabled_); |
return value; |
} |
@@ -188,6 +180,83 @@ std::string SyncSessionSnapshot::ToString() const { |
return json; |
} |
+SyncerStatus SyncSessionSnapshot::syncer_status() const { |
+ return syncer_status_; |
+} |
+ |
+ErrorCounters SyncSessionSnapshot::errors() const { |
+ return errors_; |
+} |
+ |
+int64 SyncSessionSnapshot::num_server_changes_remaining() const { |
+ return num_server_changes_remaining_; |
+} |
+ |
+bool SyncSessionSnapshot::is_share_usable() const { |
+ return is_share_usable_; |
+} |
+ |
+syncable::ModelTypeSet SyncSessionSnapshot::initial_sync_ended() const { |
+ return initial_sync_ended_; |
+} |
+ |
+syncable::ModelTypePayloadMap |
+ SyncSessionSnapshot::download_progress_markers() const { |
+ return download_progress_markers_; |
+} |
+ |
+bool SyncSessionSnapshot::has_more_to_sync() const { |
+ return has_more_to_sync_; |
+} |
+ |
+bool SyncSessionSnapshot::is_silenced() const { |
+ return is_silenced_; |
+} |
+ |
+int64 SyncSessionSnapshot::unsynced_count() const { |
+ return unsynced_count_; |
+} |
+ |
+int SyncSessionSnapshot::num_encryption_conflicts() const { |
+ return num_encryption_conflicts_; |
+} |
+ |
+int SyncSessionSnapshot::num_hierarchy_conflicts() const { |
+ return num_hierarchy_conflicts_; |
+} |
+ |
+int SyncSessionSnapshot::num_simple_conflicts() const { |
+ return num_simple_conflicts_; |
+} |
+ |
+int SyncSessionSnapshot::num_server_conflicts() const { |
+ return num_server_conflicts_; |
+} |
+ |
+bool SyncSessionSnapshot::did_commit_items() const { |
+ return did_commit_items_; |
+} |
+ |
+SyncSourceInfo SyncSessionSnapshot::source() const { |
+ return source_; |
+} |
+ |
+bool SyncSessionSnapshot::notifications_enabled() const { |
+ return notifications_enabled_; |
+} |
+ |
+size_t SyncSessionSnapshot::num_entries() const { |
+ return num_entries_; |
+} |
+ |
+base::Time SyncSessionSnapshot::sync_start_time() const { |
+ return sync_start_time_; |
+} |
+ |
+bool SyncSessionSnapshot::retry_scheduled() const { |
+ return retry_scheduled_; |
+} |
+ |
ConflictProgress::ConflictProgress(bool* dirty_flag) |
: num_server_conflicting_items(0), num_hierarchy_conflicting_items(0), |
num_encryption_conflicting_items(0), dirty_(dirty_flag) { |