Index: chrome/browser/sync/glue/sync_backend_host.h |
diff --git a/chrome/browser/sync/glue/sync_backend_host.h b/chrome/browser/sync/glue/sync_backend_host.h |
index 21fe22a11a7b4172f0fba9ac4a9862ebe5e3f62d..6d874cac6bf097b0701b77bfa748d8f89a52b018 100644 |
--- a/chrome/browser/sync/glue/sync_backend_host.h |
+++ b/chrome/browser/sync/glue/sync_backend_host.h |
@@ -34,6 +34,7 @@ |
class CancelableTask; |
class Profile; |
+class ProfileSyncFactory; |
namespace net { |
class URLRequestContextGetter; |
@@ -46,6 +47,7 @@ struct SyncSessionSnapshot; |
} |
class ChangeProcessor; |
+class DataTypeController; |
class JsEventHandler; |
// SyncFrontend is the interface used by SyncBackendHost to communicate with |
@@ -101,6 +103,16 @@ class SyncFrontend { |
virtual void OnMigrationNeededForTypes( |
const syncable::ModelTypeSet& types) = 0; |
+ // Get the list of types that can be enabled. |
+ virtual void GetRegisteredDataTypes(syncable::ModelTypeSet* types) const = 0; |
+ |
+ // Get the list of types that are enabled. |
+ virtual void GetPreferredDataTypes(syncable::ModelTypeSet* types) const = 0; |
+ |
+ // Register a DataTypeController. |
+ virtual void RegisterDataTypeController( |
+ browser_sync::DataTypeController* data_type_controller) = 0; |
+ |
protected: |
// Don't delete through SyncFrontend interface. |
virtual ~SyncFrontend() { |
@@ -134,6 +146,7 @@ class SyncBackendHost : public browser_sync::ModelSafeWorkerRegistrar { |
// bootstrap authentication using |lsid|, if it isn't empty. |
// Optionally delete the Sync Data folder (if it's corrupt). |
void Initialize(SyncFrontend* frontend, |
+ ProfileSyncFactory* factory, |
const WeakHandle<JsEventHandler>& event_handler, |
const GURL& service_url, |
const syncable::ModelTypeSet& initial_types, |
@@ -598,6 +611,9 @@ class SyncBackendHost : public browser_sync::ModelSafeWorkerRegistrar { |
// The frontend which we serve (and are owned by). |
SyncFrontend* frontend_; |
+ // The factory for creating DataTypeControllers. |
+ ProfileSyncFactory* profile_sync_factory_; |
+ |
// The change processors that handle the different data types. |
std::map<syncable::ModelType, ChangeProcessor*> processors_; |