10529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
50529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "components/sync_driver/fake_generic_change_processor.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/location.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/memory/weak_ptr.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "sync/api/syncable_service.h"
105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "sync/internal_api/public/attachments/attachment_service_impl.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)namespace sync_driver {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)FakeGenericChangeProcessor::FakeGenericChangeProcessor(
151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    syncer::ModelType type,
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    SyncApiComponentFactory* sync_factory)
171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    : GenericChangeProcessor(type,
181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                             NULL,
19e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch                             base::WeakPtr<syncer::SyncableService>(),
20e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch                             base::WeakPtr<syncer::SyncMergeResult>(),
21e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch                             NULL,
221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                             sync_factory,
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci                             scoped_refptr<syncer::AttachmentStore>()),
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      sync_model_has_user_created_nodes_(true),
251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      sync_model_has_user_created_nodes_success_(true) {
261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)FakeGenericChangeProcessor::~FakeGenericChangeProcessor() {}
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void FakeGenericChangeProcessor::set_sync_model_has_user_created_nodes(
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    bool has_nodes) {
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  sync_model_has_user_created_nodes_ = has_nodes;
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void FakeGenericChangeProcessor::set_sync_model_has_user_created_nodes_success(
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    bool success) {
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  sync_model_has_user_created_nodes_success_ = success;
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)syncer::SyncError FakeGenericChangeProcessor::ProcessSyncChanges(
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const tracked_objects::Location& from_here,
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const syncer::SyncChangeList& change_list) {
42010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  return syncer::SyncError();
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)syncer::SyncError FakeGenericChangeProcessor::GetAllSyncDataReturnError(
461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    syncer::SyncDataList* current_sync_data) const {
47010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  return syncer::SyncError();
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
50a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochbool FakeGenericChangeProcessor::GetDataTypeContext(
51a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    std::string* context) const {
52a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  return false;
53a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}
54a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciint FakeGenericChangeProcessor::GetSyncCount() {
562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return 0;
572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccibool FakeGenericChangeProcessor::SyncModelHasUserCreatedNodes(bool* has_nodes) {
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  *has_nodes = sync_model_has_user_created_nodes_;
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return sync_model_has_user_created_nodes_success_;
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccibool FakeGenericChangeProcessor::CryptoReadyIfNecessary() {
65010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  return true;
66010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}
67010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
68010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)FakeGenericChangeProcessorFactory::FakeGenericChangeProcessorFactory(
69010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    scoped_ptr<FakeGenericChangeProcessor> processor)
70010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    : processor_(processor.Pass()) {}
71010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
72010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)FakeGenericChangeProcessorFactory::~FakeGenericChangeProcessorFactory() {}
73010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
74010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)scoped_ptr<GenericChangeProcessor>
75010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)FakeGenericChangeProcessorFactory::CreateGenericChangeProcessor(
761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    syncer::ModelType type,
77010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    syncer::UserShare* user_share,
785f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    DataTypeErrorHandler* error_handler,
79010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    const base::WeakPtr<syncer::SyncableService>& local_service,
80010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    const base::WeakPtr<syncer::SyncMergeResult>& merge_result,
81cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    SyncApiComponentFactory* sync_factory) {
82010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  return processor_.PassAs<GenericChangeProcessor>();
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
855f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}  // namespace sync_driver
86