Chromium Code Reviews| Index: sync/api/model_type_service.h |
| diff --git a/sync/api/model_type_service.h b/sync/api/model_type_service.h |
| index bba4211ffe47af84dfff1f733272dad5d594dcca..d9a107cf02808045023eded2990268d6041f70ca 100644 |
| --- a/sync/api/model_type_service.h |
| +++ b/sync/api/model_type_service.h |
| @@ -15,6 +15,7 @@ |
| #include "sync/api/model_type_change_processor.h" |
| #include "sync/api/sync_error.h" |
| #include "sync/base/sync_export.h" |
| +#include "sync/internal_api/public/activation_context.h" |
| namespace syncer_v2 { |
| @@ -29,8 +30,13 @@ class SYNC_EXPORT ModelTypeService { |
| typedef base::Callback<void(syncer::SyncError, scoped_ptr<DataBatch>)> |
| DataCallback; |
| typedef std::vector<std::string> ClientTagList; |
| + typedef base::Callback<scoped_ptr<ModelTypeChangeProcessor>( |
| + syncer::ModelType, |
| + ModelTypeService* service)> |
| + ChangeProcessorFactory; |
| - ModelTypeService(); |
| + ModelTypeService(const ChangeProcessorFactory& change_processor_factory, |
| + syncer::ModelType type); |
| virtual ~ModelTypeService(); |
| @@ -78,17 +84,26 @@ class SYNC_EXPORT ModelTypeService { |
| // it to the processor. |
| virtual void OnChangeProcessorSet() = 0; |
| + // Model type for this service. |
| + syncer::ModelType type() const; |
|
maxbogue
2016/03/25 17:32:41
I think you can just remove this method entirely n
Gang Wu
2016/03/25 18:08:33
Done.
|
| + |
| + void clear_change_processor(); |
| + |
| + ModelTypeChangeProcessor* OnSyncStarting( |
| + const ModelTypeChangeProcessor::StartCallback& callback); |
| + |
| + protected: |
| // TODO(skym): See crbug/547087, do we need all these accessors? |
| ModelTypeChangeProcessor* change_processor() const; |
| - void set_change_processor( |
| - scoped_ptr<ModelTypeChangeProcessor> change_processor); |
| - |
| - void clear_change_processor(); |
| + ModelTypeChangeProcessor* GetOrCreateChangeProcessor(); |
| private: |
| - // Recieves ownership in set_change_processor(...). |
| scoped_ptr<ModelTypeChangeProcessor> change_processor_; |
| + |
| + ChangeProcessorFactory change_processor_factory_; |
| + |
| + const syncer::ModelType type_; |
| }; |
| } // namespace syncer_v2 |