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: SyncNotifierObserver()17 SyncNotifierObserver() {} ~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