1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_OBSERVER_H_
6 #define CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_OBSERVER_H_
8 // Various UI components such as the New Tab page can be driven by observing
9 // the ProfileSyncService through this interface.
10 class ProfileSyncServiceObserver
{
12 // When one of the following events occurs, OnStateChanged() is called.
13 // Observers should query the service to determine what happened.
14 // - We initialized successfully.
15 // - There was an authentication error and the user needs to reauthenticate.
16 // - The sync servers are unavailable at this time.
17 // - Credentials are now in flight for authentication.
18 virtual void OnStateChanged() = 0;
20 // If a client wishes to handle sync cycle completed events in a special way,
21 // they can use this function. By default, it re-routes to OnStateChanged().
22 virtual void OnSyncCycleCompleted();
25 virtual ~ProfileSyncServiceObserver() { }
28 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_OBSERVER_H_