OLD | NEW |
---|---|
(Empty) | |
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_GLUE_BRIDGED_INVALIDATOR_H_ | |
6 #define CHROME_BROWSER_SYNC_GLUE_BRIDGED_INVALIDATOR_H_ | |
7 | |
8 #include "base/compiler_specific.h" | |
9 #include "base/memory/scoped_ptr.h" | |
10 #include "sync/notifier/invalidator.h" | |
11 | |
12 namespace browser_sync { | |
13 | |
14 class ChromeSyncNotificationBridge; | |
15 | |
16 // An Invalidator implementation that wraps a ChromeSyncNotificationBridge | |
17 // and optionally an Invalidator delegate (which it takes ownership of). | |
18 // All Invalidator calls are passed straight through to the delegate, | |
19 // with the exception of RegisterHandler, UpdateRegisteredIds, and | |
20 // UnregisterHandler, which result in the handler being registered, updated, | |
21 // and unregistered with the ChromeSyncNotificationBridge, respectively. | |
22 class BridgedInvalidator : public syncer::Invalidator { | |
akalin
2012/08/27 22:38:31
this name SGTM
| |
23 public: | |
24 // Does not take ownership of |bridge|. Takes ownership of |delegate|. | |
25 // |delegate| may be NULL. | |
26 BridgedInvalidator(ChromeSyncNotificationBridge* bridge, | |
27 syncer::Invalidator* delegate); | |
28 virtual ~BridgedInvalidator(); | |
29 | |
30 // Invalidator implementation. Passes through all calls to the delegate. | |
31 // RegisterHandler, UpdateRegisteredIds, and UnregisterHandler calls will | |
32 // also be forwarded to the bridge. | |
33 virtual void RegisterHandler(syncer::InvalidationHandler* handler) OVERRIDE; | |
34 virtual void UpdateRegisteredIds(syncer::InvalidationHandler * handler, | |
35 const syncer::ObjectIdSet& ids) OVERRIDE; | |
36 virtual void UnregisterHandler(syncer::InvalidationHandler* handler) OVERRIDE; | |
37 virtual void SetUniqueId(const std::string& unique_id) OVERRIDE; | |
38 virtual void SetStateDeprecated(const std::string& state) OVERRIDE; | |
39 virtual void UpdateCredentials( | |
40 const std::string& email, const std::string& token) OVERRIDE; | |
41 virtual void SendNotification( | |
42 syncer::ModelTypeSet changed_types) OVERRIDE; | |
43 | |
44 private: | |
45 // The notification bridge that we register the observers with. | |
46 ChromeSyncNotificationBridge* bridge_; | |
47 | |
48 // The delegate we are wrapping. | |
49 scoped_ptr<syncer::Invalidator> delegate_; | |
50 }; | |
51 | |
52 } // namespace browser_sync | |
53 | |
54 #endif // CHROME_BROWSER_SYNC_GLUE_BRIDGED_INVALIDATOR_H_ | |
OLD | NEW |