1 // Copyright (c) 2012 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 CHROME_BROWSER_SYNC_GLUE_FAKE_GENERIC_CHANGE_PROCESSOR_H_
6 #define CHROME_BROWSER_SYNC_GLUE_FAKE_GENERIC_CHANGE_PROCESSOR_H_
8 #include "chrome/browser/sync/glue/generic_change_processor.h"
10 #include "sync/api/sync_error.h"
12 namespace browser_sync
{
14 // A fake GenericChangeProcessor that can return arbitrary values.
15 class FakeGenericChangeProcessor
: public GenericChangeProcessor
{
17 FakeGenericChangeProcessor();
18 virtual ~FakeGenericChangeProcessor();
20 // Setters for GenericChangeProcessor implementation results.
21 void set_process_sync_changes_error(const syncer::SyncError
& error
);
22 void set_get_sync_data_for_type_error(const syncer::SyncError
& error
);
23 void set_sync_model_has_user_created_nodes(bool has_nodes
);
24 void set_sync_model_has_user_created_nodes_success(bool success
);
25 void set_crypto_ready_if_necessary(bool crypto_ready
);
27 // GenericChangeProcessor implementations.
28 virtual syncer::SyncError
ProcessSyncChanges(
29 const tracked_objects::Location
& from_here
,
30 const syncer::SyncChangeList
& change_list
) OVERRIDE
;
31 virtual syncer::SyncError
GetSyncDataForType(
32 syncer::ModelType type
,
33 syncer::SyncDataList
* current_sync_data
) OVERRIDE
;
34 virtual int GetSyncCountForType(syncer::ModelType type
) OVERRIDE
;
35 virtual bool SyncModelHasUserCreatedNodes(syncer::ModelType type
,
36 bool* has_nodes
) OVERRIDE
;
37 virtual bool CryptoReadyIfNecessary(syncer::ModelType type
) OVERRIDE
;
40 syncer::SyncError process_sync_changes_error_
;
41 syncer::SyncError get_sync_data_for_type_error_
;
42 bool sync_model_has_user_created_nodes_
;
43 bool sync_model_has_user_created_nodes_success_
;
44 bool crypto_ready_if_necessary_
;
45 syncer::ModelType type_
;
48 } // namespace browser_sync
50 #endif // CHROME_BROWSER_SYNC_GLUE_FAKE_GENERIC_CHANGE_PROCESSOR_H_