Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(408)

Side by Side Diff: sync/notifier/sync_notifier_observer.h

Issue 10702074: Refactor sync-specific parts out of SyncNotifier/SyncNotifierObserver (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef SYNC_NOTIFIER_SYNC_NOTIFIER_OBSERVER_H_ 5 #ifndef SYNC_NOTIFIER_SYNC_NOTIFIER_OBSERVER_H_
6 #define SYNC_NOTIFIER_SYNC_NOTIFIER_OBSERVER_H_ 6 #define SYNC_NOTIFIER_SYNC_NOTIFIER_OBSERVER_H_
7 #pragma once 7 #pragma once
8 8
9 #include "sync/internal_api/public/base/model_type_payload_map.h" 9 #include "sync/notifier/object_id_payload_map.h"
10 #include "sync/notifier/notifications_disabled_reason.h" 10 #include "sync/notifier/notifications_disabled_reason.h"
11 11
12 namespace syncer { 12 namespace syncer {
13 13
14 enum IncomingNotificationSource { 14 enum IncomingNotificationSource {
15 // The server is notifying us that one or more datatypes have stale data. 15 // The server is notifying us that one or more datatypes have stale data.
16 REMOTE_NOTIFICATION, 16 REMOTE_NOTIFICATION,
17 // A chrome datatype is requesting an optimistic refresh of its data. 17 // A chrome datatype is requesting an optimistic refresh of its data.
18 LOCAL_NOTIFICATION, 18 LOCAL_NOTIFICATION,
19 }; 19 };
20 20
21 class SyncNotifierObserver { 21 class SyncNotifierObserver {
22 public: 22 public:
23 // Returns the object IDs for which this observer would like to receive
24 // invalidation notifications.
25 virtual ObjectIdSet GetHandledIds() = 0;
26
23 // Called when notifications are enabled. 27 // Called when notifications are enabled.
24 virtual void OnNotificationsEnabled() = 0; 28 virtual void OnNotificationsEnabled() = 0;
25 29
26 // Called when notifications are disabled, with the reason in 30 // Called when notifications are disabled, with the reason in
27 // |reason|. 31 // |reason|.
28 virtual void OnNotificationsDisabled( 32 virtual void OnNotificationsDisabled(
29 NotificationsDisabledReason reason) = 0; 33 NotificationsDisabledReason reason) = 0;
30 34
31 // Called when a notification is received. The per-type payloads 35 // Called when a notification is received. The per-id payloads
32 // are in |type_payloads| and the source is in |source|. 36 // are in |type_payloads| and the source is in |source|.
33 virtual void OnIncomingNotification( 37 virtual void OnIncomingNotification(
34 const syncer::ModelTypePayloadMap& type_payloads, 38 const ObjectIdPayloadMap& id_payloads,
35 IncomingNotificationSource source) = 0; 39 IncomingNotificationSource source) = 0;
36 40
37 protected: 41 protected:
38 virtual ~SyncNotifierObserver() {} 42 virtual ~SyncNotifierObserver() {}
39 }; 43 };
40 44
41 } // namespace syncer 45 } // namespace syncer
42 46
43 #endif // SYNC_NOTIFIER_SYNC_NOTIFIER_OBSERVER_H_ 47 #endif // SYNC_NOTIFIER_SYNC_NOTIFIER_OBSERVER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698