| // Copyright (c) 2006-2009 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/engine/resolve_conflicts_command.h" |
| |
| #include "chrome/browser/sync/engine/conflict_resolver.h" |
| #include "chrome/browser/sync/sessions/sync_session.h" |
| #include "chrome/browser/sync/syncable/directory_manager.h" |
| |
| namespace browser_sync { |
| |
| ResolveConflictsCommand::ResolveConflictsCommand() {} |
| ResolveConflictsCommand::~ResolveConflictsCommand() {} |
| |
| void ResolveConflictsCommand::ModelChangingExecuteImpl( |
| sessions::SyncSession* session) { |
| ConflictResolver* resolver = session->context()->resolver(); |
| DCHECK(resolver); |
| if (!resolver) |
| return; |
| |
| syncable::ScopedDirLookup dir(session->context()->directory_manager(), |
| session->context()->account_name()); |
| if (!dir.good()) |
| return; |
| sessions::StatusController* status = session->status_controller(); |
| status->update_conflicts_resolved(resolver->ResolveConflicts(dir, status)); |
| } |
| |
| } // namespace browser_sync |