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

Unified Diff: chrome/browser/sync/sessions/status_controller.cc

Issue 9699057: [Sync] Move 'sync' target to sync/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address Tim's comments Created 8 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/sessions/status_controller.cc
diff --git a/chrome/browser/sync/sessions/status_controller.cc b/chrome/browser/sync/sessions/status_controller.cc
deleted file mode 100644
index 262cb891e61874974531979ee1795931b1737760..0000000000000000000000000000000000000000
--- a/chrome/browser/sync/sessions/status_controller.cc
+++ /dev/null
@@ -1,310 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/sync/sessions/status_controller.h"
-
-#include <vector>
-
-#include "base/basictypes.h"
-#include "chrome/browser/sync/protocol/sync_protocol_error.h"
-#include "chrome/browser/sync/syncable/model_type.h"
-
-namespace browser_sync {
-namespace sessions {
-
-using syncable::FIRST_REAL_MODEL_TYPE;
-using syncable::MODEL_TYPE_COUNT;
-
-StatusController::StatusController(const ModelSafeRoutingInfo& routes)
- : shared_(&is_dirty_),
- per_model_group_deleter_(&per_model_group_),
- is_dirty_(false),
- group_restriction_in_effect_(false),
- group_restriction_(GROUP_PASSIVE),
- routing_info_(routes) {
-}
-
-StatusController::~StatusController() {}
-
-bool StatusController::TestAndClearIsDirty() {
- bool is_dirty = is_dirty_;
- is_dirty_ = false;
- return is_dirty;
-}
-
-const UpdateProgress* StatusController::update_progress() const {
- const PerModelSafeGroupState* state =
- GetModelSafeGroupState(true, group_restriction_);
- return state ? &state->update_progress : NULL;
-}
-
-UpdateProgress* StatusController::mutable_update_progress() {
- return &GetOrCreateModelSafeGroupState(
- true, group_restriction_)->update_progress;
-}
-
-const ConflictProgress* StatusController::conflict_progress() const {
- const PerModelSafeGroupState* state =
- GetModelSafeGroupState(true, group_restriction_);
- return state ? &state->conflict_progress : NULL;
-}
-
-ConflictProgress* StatusController::mutable_conflict_progress() {
- return &GetOrCreateModelSafeGroupState(
- true, group_restriction_)->conflict_progress;
-}
-
-const ConflictProgress* StatusController::GetUnrestrictedConflictProgress(
- ModelSafeGroup group) const {
- const PerModelSafeGroupState* state =
- GetModelSafeGroupState(false, group);
- return state ? &state->conflict_progress : NULL;
-}
-
-ConflictProgress*
- StatusController::GetUnrestrictedMutableConflictProgressForTest(
- ModelSafeGroup group) {
- return &GetOrCreateModelSafeGroupState(false, group)->conflict_progress;
-}
-
-const UpdateProgress* StatusController::GetUnrestrictedUpdateProgress(
- ModelSafeGroup group) const {
- const PerModelSafeGroupState* state =
- GetModelSafeGroupState(false, group);
- return state ? &state->update_progress : NULL;
-}
-
-UpdateProgress*
- StatusController::GetUnrestrictedMutableUpdateProgressForTest(
- ModelSafeGroup group) {
- return &GetOrCreateModelSafeGroupState(false, group)->update_progress;
-}
-
-const PerModelSafeGroupState* StatusController::GetModelSafeGroupState(
- bool restrict, ModelSafeGroup group) const {
- DCHECK_EQ(restrict, group_restriction_in_effect_);
- std::map<ModelSafeGroup, PerModelSafeGroupState*>::const_iterator it =
- per_model_group_.find(group);
- return (it == per_model_group_.end()) ? NULL : it->second;
-}
-
-PerModelSafeGroupState* StatusController::GetOrCreateModelSafeGroupState(
- bool restrict, ModelSafeGroup group) {
- DCHECK_EQ(restrict, group_restriction_in_effect_);
- std::map<ModelSafeGroup, PerModelSafeGroupState*>::iterator it =
- per_model_group_.find(group);
- if (it == per_model_group_.end()) {
- PerModelSafeGroupState* state = new PerModelSafeGroupState(&is_dirty_);
- it = per_model_group_.insert(std::make_pair(group, state)).first;
- }
- return it->second;
-}
-
-void StatusController::increment_num_updates_downloaded_by(int value) {
- shared_.syncer_status.mutate()->num_updates_downloaded_total += value;
-}
-
-void StatusController::set_types_needing_local_migration(
- syncable::ModelTypeSet types) {
- shared_.syncer_status.mutate()->types_needing_local_migration = types;
-}
-
-void StatusController::increment_num_tombstone_updates_downloaded_by(
- int value) {
- shared_.syncer_status.mutate()->num_tombstone_updates_downloaded_total +=
- value;
-}
-
-void StatusController::set_num_server_changes_remaining(
- int64 changes_remaining) {
- if (shared_.num_server_changes_remaining.value() != changes_remaining)
- *(shared_.num_server_changes_remaining.mutate()) = changes_remaining;
-}
-
-void StatusController::set_invalid_store(bool invalid_store) {
- if (shared_.syncer_status.value().invalid_store != invalid_store)
- shared_.syncer_status.mutate()->invalid_store = invalid_store;
-}
-
-void StatusController::UpdateStartTime() {
- sync_start_time_ = base::Time::Now();
-}
-
-void StatusController::set_num_successful_bookmark_commits(int value) {
- if (shared_.syncer_status.value().num_successful_bookmark_commits != value)
- shared_.syncer_status.mutate()->num_successful_bookmark_commits = value;
-}
-
-void StatusController::set_unsynced_handles(
- const std::vector<int64>& unsynced_handles) {
- if (!operator==(unsynced_handles, shared_.unsynced_handles.value())) {
- *(shared_.unsynced_handles.mutate()) = unsynced_handles;
- }
-}
-
-void StatusController::increment_num_successful_bookmark_commits() {
- set_num_successful_bookmark_commits(
- shared_.syncer_status.value().num_successful_bookmark_commits + 1);
-}
-
-void StatusController::increment_num_successful_commits() {
- shared_.syncer_status.mutate()->num_successful_commits++;
-}
-
-void StatusController::increment_num_local_overwrites() {
- shared_.syncer_status.mutate()->num_local_overwrites++;
-}
-
-void StatusController::increment_num_server_overwrites() {
- shared_.syncer_status.mutate()->num_server_overwrites++;
-}
-
-void StatusController::set_sync_protocol_error(
- const SyncProtocolError& error) {
- shared_.error.mutate()->sync_protocol_error = error;
-}
-
-void StatusController::set_last_download_updates_result(
- const SyncerError result) {
- shared_.error.mutate()->last_download_updates_result = result;
-}
-
-void StatusController::set_last_post_commit_result(const SyncerError result) {
- shared_.error.mutate()->last_post_commit_result = result;
-}
-
-void StatusController::set_last_process_commit_response_result(
- const SyncerError result) {
- shared_.error.mutate()->last_process_commit_response_result = result;
-}
-
-void StatusController::set_commit_set(const OrderedCommitSet& commit_set) {
- DCHECK(!group_restriction_in_effect_);
- shared_.commit_set = commit_set;
-}
-
-void StatusController::update_conflicts_resolved(bool resolved) {
- shared_.control_params.conflicts_resolved |= resolved;
-}
-void StatusController::reset_conflicts_resolved() {
- shared_.control_params.conflicts_resolved = false;
-}
-void StatusController::set_items_committed() {
- shared_.control_params.items_committed = true;
-}
-
-// Returns the number of updates received from the sync server.
-int64 StatusController::CountUpdates() const {
- const ClientToServerResponse& updates = shared_.updates_response;
- if (updates.has_get_updates()) {
- return updates.get_updates().entries().size();
- } else {
- return 0;
- }
-}
-
-bool StatusController::CurrentCommitIdProjectionHasIndex(size_t index) {
- OrderedCommitSet::Projection proj =
- shared_.commit_set.GetCommitIdProjection(group_restriction_);
- return std::binary_search(proj.begin(), proj.end(), index);
-}
-
-bool StatusController::HasConflictingUpdates() const {
- DCHECK(!group_restriction_in_effect_)
- << "HasConflictingUpdates applies to all ModelSafeGroups";
- std::map<ModelSafeGroup, PerModelSafeGroupState*>::const_iterator it =
- per_model_group_.begin();
- for (; it != per_model_group_.end(); ++it) {
- if (it->second->update_progress.HasConflictingUpdates())
- return true;
- }
- return false;
-}
-
-int StatusController::TotalNumEncryptionConflictingItems() const {
- DCHECK(!group_restriction_in_effect_)
- << "TotalNumEncryptionConflictingItems applies to all ModelSafeGroups";
- std::map<ModelSafeGroup, PerModelSafeGroupState*>::const_iterator it =
- per_model_group_.begin();
- int sum = 0;
- for (; it != per_model_group_.end(); ++it) {
- sum += it->second->conflict_progress.EncryptionConflictingItemsSize();
- }
- return sum;
-}
-
-int StatusController::TotalNumHierarchyConflictingItems() const {
- DCHECK(!group_restriction_in_effect_)
- << "TotalNumHierarchyConflictingItems applies to all ModelSafeGroups";
- std::map<ModelSafeGroup, PerModelSafeGroupState*>::const_iterator it =
- per_model_group_.begin();
- int sum = 0;
- for (; it != per_model_group_.end(); ++it) {
- sum += it->second->conflict_progress.HierarchyConflictingItemsSize();
- }
- return sum;
-}
-
-int StatusController::TotalNumSimpleConflictingItems() const {
- DCHECK(!group_restriction_in_effect_)
- << "TotalNumSimpleConflictingItems applies to all ModelSafeGroups";
- std::map<ModelSafeGroup, PerModelSafeGroupState*>::const_iterator it =
- per_model_group_.begin();
- int sum = 0;
- for (; it != per_model_group_.end(); ++it) {
- sum += it->second->conflict_progress.SimpleConflictingItemsSize();
- }
- return sum;
-}
-
-int StatusController::TotalNumServerConflictingItems() const {
- DCHECK(!group_restriction_in_effect_)
- << "TotalNumServerConflictingItems applies to all ModelSafeGroups";
- std::map<ModelSafeGroup, PerModelSafeGroupState*>::const_iterator it =
- per_model_group_.begin();
- int sum = 0;
- for (; it != per_model_group_.end(); ++it) {
- sum += it->second->conflict_progress.ServerConflictingItemsSize();
- }
- return sum;
-}
-
-int StatusController::TotalNumConflictingItems() const {
- DCHECK(!group_restriction_in_effect_)
- << "TotalNumConflictingItems applies to all ModelSafeGroups";
- std::map<ModelSafeGroup, PerModelSafeGroupState*>::const_iterator it =
- per_model_group_.begin();
- int sum = 0;
- for (; it != per_model_group_.end(); ++it) {
- sum += it->second->conflict_progress.SimpleConflictingItemsSize();
- sum += it->second->conflict_progress.EncryptionConflictingItemsSize();
- sum += it->second->conflict_progress.HierarchyConflictingItemsSize();
- sum += it->second->conflict_progress.ServerConflictingItemsSize();
- }
- return sum;
-}
-
-bool StatusController::ServerSaysNothingMoreToDownload() const {
- if (!download_updates_succeeded())
- return false;
-
- if (!updates_response().get_updates().has_changes_remaining()) {
- NOTREACHED(); // Server should always send changes remaining.
- return false; // Avoid looping forever.
- }
- // Changes remaining is an estimate, but if it's estimated to be
- // zero, that's firm and we don't have to ask again.
- return updates_response().get_updates().changes_remaining() == 0;
-}
-
-void StatusController::set_debug_info_sent() {
- shared_.control_params.debug_info_sent = true;
-}
-
-bool StatusController::debug_info_sent() const {
- return shared_.control_params.debug_info_sent;
-}
-
-} // namespace sessions
-} // namespace browser_sync
« no previous file with comments | « chrome/browser/sync/sessions/status_controller.h ('k') | chrome/browser/sync/sessions/status_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698