Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(268)

Unified Diff: chrome/browser/sync/glue/sync_backend_host.h

Issue 7669073: [Sync] Add support for enabling session sync remotely. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698