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

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

Issue 8638001: [Sync] Made some sync session member functions const (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Constify a few more, sync to head Created 9 years, 1 month 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
index edfebe6bc770ca078624055df916cf285be6643b..76aca1f8320710dd7f1bf05cbc6c71808adf482e 100644
--- a/chrome/browser/sync/sessions/status_controller.cc
+++ b/chrome/browser/sync/sessions/status_controller.cc
@@ -33,15 +33,62 @@ bool StatusController::TestAndClearIsDirty() {
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(
Nicolas Zea 2011/11/22 20:18:45 move to prev line
akalin 2011/11/22 22:06:07 Done.
+ 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(
Nicolas Zea 2011/11/22 20:18:45 move to prev line
akalin 2011/11/22 22:06:07 Done.
+ true, group_restriction_)->conflict_progress;
+}
+
+const ConflictProgress* StatusController::GetUnrestrictedConflictProgress(
+ ModelSafeGroup group) const {
+ const PerModelSafeGroupState* state =
+ GetModelSafeGroupState(false, group);
+ return state ? &state->conflict_progress : NULL;
+}
+
+const UpdateProgress* StatusController::GetUnrestrictedUpdateProgress(
+ ModelSafeGroup group) const {
+ const PerModelSafeGroupState* state =
+ GetModelSafeGroupState(false, group);
+ return state ? &state->update_progress : NULL;
+}
+
+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_restriction_);
+ return (it == per_model_group_.end()) ? NULL : it->second;
+}
+
PerModelSafeGroupState* StatusController::GetOrCreateModelSafeGroupState(
bool restrict, ModelSafeGroup group) {
- DCHECK(restrict == group_restriction_in_effect_) << "Group violation!";
- if (per_model_group_.find(group) == per_model_group_.end()) {
+ DCHECK_EQ(restrict, group_restriction_in_effect_);
+ std::map<ModelSafeGroup, PerModelSafeGroupState*>::iterator it =
+ per_model_group_.find(group_restriction_);
+ if (it == per_model_group_.end()) {
PerModelSafeGroupState* state = new PerModelSafeGroupState(&is_dirty_);
- per_model_group_[group] = state;
- return state;
+ it = per_model_group_.insert(std::make_pair(group, state)).first;
}
- return per_model_group_[group];
+ return it->second;
}
void StatusController::increment_num_conflicting_commits_by(int value) {
@@ -246,7 +293,7 @@ void StatusController::set_debug_info_sent() {
shared_.control_params.debug_info_sent = true;
}
-bool StatusController::debug_info_sent() {
+bool StatusController::debug_info_sent() const {
return shared_.control_params.debug_info_sent;
}

Powered by Google App Engine
This is Rietveld 408576698