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..90ba2caf05430c022f5788224e1ccda207986749 100644 |
| --- a/sync/api/model_type_service.h |
| +++ b/sync/api/model_type_service.h |
| @@ -15,11 +15,13 @@ |
| #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 { |
| class DataBatch; |
| class MetadataChangeList; |
| +class SharedModelTypeProcessor; |
| // Interface implemented by model types to receive updates from sync via the |
| // SharedModelTypeProcessor. Provides a way for sync to update the data and |
| @@ -29,8 +31,14 @@ 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)> |
| + SharedProcessorFactory; |
|
maxbogue
2016/03/22 21:40:12
Please call this ChangeProcessorFactory. ModelType
Gang Wu
2016/03/24 15:56:26
Done.
|
| + typedef base::Callback<void(syncer::SyncError, scoped_ptr<ActivationContext>)> |
| + StartCallback; |
| - ModelTypeService(); |
| + ModelTypeService(const SharedProcessorFactory& shared_processor_factory); |
| virtual ~ModelTypeService(); |
| @@ -78,17 +86,23 @@ class SYNC_EXPORT ModelTypeService { |
| // it to the processor. |
| virtual void OnChangeProcessorSet() = 0; |
| + // Model type for this service. |
| + virtual syncer::ModelType type() const = 0; |
| + |
| // 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(); |
| + void OnSyncStarting(const StartCallback& callback); |
|
maxbogue
2016/03/22 21:40:12
I think you should be returning ModelTypeChangePro
Gang Wu
2016/03/24 15:56:26
Done.
|
| + |
| + protected: |
| + ModelTypeChangeProcessor* create_change_processor(); |
| + |
| private: |
| - // Recieves ownership in set_change_processor(...). |
| scoped_ptr<ModelTypeChangeProcessor> change_processor_; |
| + |
| + SharedProcessorFactory shared_processor_factory_; |
| }; |
| } // namespace syncer_v2 |