// 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 "sync/api/fake_syncable_service.h" #include "base/location.h" #include "sync/api/sync_error_factory.h" namespace syncer { FakeSyncableService::FakeSyncableService() : syncing_(false), type_(UNSPECIFIED) {} FakeSyncableService::~FakeSyncableService() {} void FakeSyncableService::set_merge_data_and_start_syncing_error( const SyncError& error) { merge_data_and_start_syncing_error_ = error; } void FakeSyncableService::set_process_sync_changes_error( const SyncError& error) { process_sync_changes_error_ = error; } bool FakeSyncableService::syncing() const { return syncing_; } // SyncableService implementation. SyncMergeResult FakeSyncableService::MergeDataAndStartSyncing( ModelType type, const SyncDataList& initial_sync_data, scoped_ptr sync_processor, scoped_ptr sync_error_factory) { SyncMergeResult merge_result(type); sync_processor_ = sync_processor.Pass(); type_ = type; if (!merge_data_and_start_syncing_error_.IsSet()) { syncing_ = true; } else { merge_result.set_error(merge_data_and_start_syncing_error_); } return merge_result; } void FakeSyncableService::StopSyncing(ModelType type) { syncing_ = false; sync_processor_.reset(); } SyncDataList FakeSyncableService::GetAllSyncData(ModelType type) const { return SyncDataList(); } SyncError FakeSyncableService::ProcessSyncChanges( const tracked_objects::Location& from_here, const SyncChangeList& change_list) { return process_sync_changes_error_; } } // namespace syncer