Home | History | Annotate | Download | only in notifier
      1 // Copyright (c) 2011 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_NOTIFIER_SYNC_NOTIFIER_OBSERVER_H_
      6 #define CHROME_BROWSER_SYNC_NOTIFIER_SYNC_NOTIFIER_OBSERVER_H_
      7 #pragma once
      8 
      9 #include <string>
     10 
     11 #include "chrome/browser/sync/syncable/model_type_payload_map.h"
     12 
     13 namespace sync_notifier {
     14 
     15 class SyncNotifierObserver {
     16  public:
     17   SyncNotifierObserver() {}
     18   virtual ~SyncNotifierObserver() {}
     19 
     20   virtual void OnIncomingNotification(
     21       const syncable::ModelTypePayloadMap& type_payloads) = 0;
     22   virtual void OnNotificationStateChange(bool notifications_enabled) = 0;
     23 
     24   // TODO(nileshagrawal): Find a way to hide state handling inside the
     25   // sync notifier implementation.
     26   virtual void StoreState(const std::string& state) = 0;
     27 };
     28 
     29 }  // namespace sync_notifier
     30 
     31 #endif  // CHROME_BROWSER_SYNC_NOTIFIER_SYNC_NOTIFIER_OBSERVER_H_
     32