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

Unified Diff: chrome/browser/sync/profile_sync_service.h

Issue 2905003: Implement support for disabling sync through configuration management. (Closed)
Patch Set: Fix PrefsControllerTest on MAC. Created 10 years, 5 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
« no previous file with comments | « chrome/browser/profile.cc ('k') | chrome/browser/sync/profile_sync_service.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sync/profile_sync_service.h
diff --git a/chrome/browser/sync/profile_sync_service.h b/chrome/browser/sync/profile_sync_service.h
index 14db31e14463401f462c64abe0a2dec4172296eb..2465b3708ef25ccde4092dbce6d94a1a602b3899 100644
--- a/chrome/browser/sync/profile_sync_service.h
+++ b/chrome/browser/sync/profile_sync_service.h
@@ -14,10 +14,12 @@
#include "base/scoped_ptr.h"
#include "base/time.h"
#include "chrome/browser/google_service_auth_error.h"
+#include "chrome/browser/pref_member.h"
#include "chrome/browser/sync/glue/data_type_controller.h"
#include "chrome/browser/sync/glue/data_type_manager.h"
#include "chrome/browser/sync/glue/sync_backend_host.h"
#include "chrome/browser/sync/notification_method.h"
+#include "chrome/browser/sync/profile_sync_service_observer.h"
#include "chrome/browser/sync/sync_setup_wizard.h"
#include "chrome/browser/sync/syncable/model_type.h"
#include "chrome/browser/sync/unrecoverable_error_handler.h"
@@ -31,21 +33,6 @@ class NotificationType;
class Profile;
class ProfileSyncFactory;
-// Various UI components such as the New Tab page can be driven by observing
-// the ProfileSyncService through this interface.
-class ProfileSyncServiceObserver {
- public:
- // When one of the following events occurs, OnStateChanged() is called.
- // Observers should query the service to determine what happened.
- // - We initialized successfully.
- // - There was an authentication error and the user needs to reauthenticate.
- // - The sync servers are unavailable at this time.
- // - Credentials are now in flight for authentication.
- virtual void OnStateChanged() = 0;
- protected:
- virtual ~ProfileSyncServiceObserver() { }
-};
-
// ProfileSyncService is the layer between browser subsystems like bookmarks,
// and the sync backend. Each subsystem is logically thought of as being
// a sync datatype.
@@ -257,6 +244,10 @@ class ProfileSyncService : public browser_sync::SyncFrontend,
// command-line switches).
static bool IsSyncEnabled();
+ // Retuns whether sync is managed, i.e. controlled by configuration
+ // management. If so, the user is not allowed to configure sync.
+ bool IsManaged();
+
// UnrecoverableErrorHandler implementation.
virtual void OnUnrecoverableError(
const tracked_objects::Location& from_here,
@@ -445,6 +436,10 @@ class ProfileSyncService : public browser_sync::SyncFrontend,
ScopedRunnableMethodFactory<ProfileSyncService>
scoped_runnable_method_factory_;
+ // The preference that controls whether sync is under control by configuration
+ // management.
+ BooleanPrefMember pref_sync_managed_;
+
DISALLOW_COPY_AND_ASSIGN(ProfileSyncService);
};
« no previous file with comments | « chrome/browser/profile.cc ('k') | chrome/browser/sync/profile_sync_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698