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 13namespace sync_notifier { 14 15class 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