Roll src/third_party/WebKit f298044:aa8346d (svn 202628:202629)
[chromium-blink-merge.git] / components / sync_driver / fake_generic_change_processor.h
blob87cb8ab427b8eb46dffd340b7a45abfa13bf7a60
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_SYNC_DRIVER_FAKE_GENERIC_CHANGE_PROCESSOR_H_
6 #define COMPONENTS_SYNC_DRIVER_FAKE_GENERIC_CHANGE_PROCESSOR_H_
8 #include "components/sync_driver/generic_change_processor.h"
10 #include "components/sync_driver/generic_change_processor_factory.h"
11 #include "components/sync_driver/sync_api_component_factory.h"
12 #include "sync/api/sync_error.h"
13 #include "sync/internal_api/public/base/model_type.h"
15 namespace sync_driver {
17 // A fake GenericChangeProcessor that can return arbitrary values.
18 class FakeGenericChangeProcessor : public GenericChangeProcessor {
19 public:
20 FakeGenericChangeProcessor(syncer::ModelType type,
21 SyncClient* sync_client);
22 ~FakeGenericChangeProcessor() override;
24 // Setters for GenericChangeProcessor implementation results.
25 void set_sync_model_has_user_created_nodes(bool has_nodes);
26 void set_sync_model_has_user_created_nodes_success(bool success);
28 // GenericChangeProcessor implementations.
29 syncer::SyncError ProcessSyncChanges(
30 const tracked_objects::Location& from_here,
31 const syncer::SyncChangeList& change_list) override;
32 syncer::SyncError GetAllSyncDataReturnError(
33 syncer::SyncDataList* data) const override;
34 bool GetDataTypeContext(std::string* context) const override;
35 int GetSyncCount() override;
36 bool SyncModelHasUserCreatedNodes(bool* has_nodes) override;
37 bool CryptoReadyIfNecessary() override;
39 private:
40 bool sync_model_has_user_created_nodes_;
41 bool sync_model_has_user_created_nodes_success_;
44 // Define a factory for FakeGenericChangeProcessor for convenience.
45 class FakeGenericChangeProcessorFactory : public GenericChangeProcessorFactory {
46 public:
47 explicit FakeGenericChangeProcessorFactory(
48 scoped_ptr<FakeGenericChangeProcessor> processor);
49 ~FakeGenericChangeProcessorFactory() override;
50 scoped_ptr<GenericChangeProcessor> CreateGenericChangeProcessor(
51 syncer::ModelType type,
52 syncer::UserShare* user_share,
53 DataTypeErrorHandler* error_handler,
54 const base::WeakPtr<syncer::SyncableService>& local_service,
55 const base::WeakPtr<syncer::SyncMergeResult>& merge_result,
56 SyncClient* sync_client) override;
58 private:
59 scoped_ptr<FakeGenericChangeProcessor> processor_;
60 DISALLOW_COPY_AND_ASSIGN(FakeGenericChangeProcessorFactory);
63 } // namespace sync_driver
65 #endif // COMPONENTS_SYNC_DRIVER_FAKE_GENERIC_CHANGE_PROCESSOR_H_