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. 4 5 #ifndef CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_OBSERVER_H_ 6 #define CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_OBSERVER_H_ 7 8 // Various UI components such as the New Tab page can be driven by observing 9 // the ProfileSyncService through this interface. 10 class ProfileSyncServiceObserver { 11 public: 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; 19 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(); 23 24 protected: 25 virtual ~ProfileSyncServiceObserver() { } 26 }; 27 28 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_OBSERVER_H_ 29