Home | History | Annotate | Download | only in sync
      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