1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/sync/engine/resolve_conflicts_command.h" 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 7c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/sync/engine/conflict_resolver.h" 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/sync/sessions/sync_session.h" 9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/sync/syncable/directory_manager.h" 10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace browser_sync { 12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochResolveConflictsCommand::ResolveConflictsCommand() {} 14c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochResolveConflictsCommand::~ResolveConflictsCommand() {} 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid ResolveConflictsCommand::ModelChangingExecuteImpl( 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch sessions::SyncSession* session) { 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ConflictResolver* resolver = session->context()->resolver(); 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch DCHECK(resolver); 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (!resolver) 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return; 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch syncable::ScopedDirLookup dir(session->context()->directory_manager(), 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch session->context()->account_name()); 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (!dir.good()) 26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch return; 27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch sessions::StatusController* status = session->status_controller(); 28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch status->update_conflicts_resolved(resolver->ResolveConflicts(dir, status)); 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} // namespace browser_sync 32