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

Side by Side Diff: components/invalidation/invalidation_notifier.h

Issue 446223002: Remove WeakHandle from components/invalidation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Hack to fix GN Created 6 years, 4 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 // An implementation of Invalidator that wraps an invalidation 5 // An implementation of Invalidator that wraps an invalidation
6 // client. Handles the details of connecting to XMPP and hooking it 6 // client. Handles the details of connecting to XMPP and hooking it
7 // up to the invalidation client. 7 // up to the invalidation client.
8 // 8 //
9 // You probably don't want to use this directly; use 9 // You probably don't want to use this directly; use
10 // NonBlockingInvalidator. 10 // NonBlockingInvalidator.
11 11
12 #ifndef COMPONENTS_INVALIDATION_INVALIDATION_NOTIFIER_H_ 12 #ifndef COMPONENTS_INVALIDATION_INVALIDATION_NOTIFIER_H_
13 #define COMPONENTS_INVALIDATION_INVALIDATION_NOTIFIER_H_ 13 #define COMPONENTS_INVALIDATION_INVALIDATION_NOTIFIER_H_
14 14
15 #include <string> 15 #include <string>
16 16
17 #include "base/basictypes.h" 17 #include "base/basictypes.h"
18 #include "base/compiler_specific.h" 18 #include "base/compiler_specific.h"
19 #include "base/memory/scoped_ptr.h" 19 #include "base/memory/scoped_ptr.h"
pavely 2014/08/08 20:08:30 Do you need to include weak_ptr.h and ref_counted
rlarocque 2014/08/08 21:19:35 According to IWYU, yes.
20 #include "base/sequenced_task_runner.h"
20 #include "base/threading/non_thread_safe.h" 21 #include "base/threading/non_thread_safe.h"
21 #include "components/invalidation/invalidation_export.h" 22 #include "components/invalidation/invalidation_export.h"
22 #include "components/invalidation/invalidation_state_tracker.h" 23 #include "components/invalidation/invalidation_state_tracker.h"
23 #include "components/invalidation/invalidator.h" 24 #include "components/invalidation/invalidator.h"
24 #include "components/invalidation/invalidator_registrar.h" 25 #include "components/invalidation/invalidator_registrar.h"
25 #include "components/invalidation/sync_invalidation_listener.h" 26 #include "components/invalidation/sync_invalidation_listener.h"
26 #include "sync/internal_api/public/util/weak_handle.h"
27 27
28 namespace notifier { 28 namespace notifier {
29 class PushClient; 29 class PushClient;
30 } // namespace notifier 30 } // namespace notifier
31 31
32 namespace syncer { 32 namespace syncer {
33 33
34 // This class must live on the IO thread. 34 // This class must live on the IO thread.
35 class INVALIDATION_EXPORT_PRIVATE InvalidationNotifier 35 class INVALIDATION_EXPORT_PRIVATE InvalidationNotifier
36 : public Invalidator, 36 : public Invalidator,
37 public SyncInvalidationListener::Delegate, 37 public SyncInvalidationListener::Delegate,
38 public base::NonThreadSafe { 38 public base::NonThreadSafe {
39 public: 39 public:
40 // |invalidation_state_tracker| must be initialized. 40 // |invalidation_state_tracker| must be initialized.
41 InvalidationNotifier( 41 InvalidationNotifier(
42 scoped_ptr<SyncNetworkChannel> network_channel, 42 scoped_ptr<SyncNetworkChannel> network_channel,
43 const std::string& invalidator_client_id, 43 const std::string& invalidator_client_id,
44 const UnackedInvalidationsMap& saved_invalidations, 44 const UnackedInvalidationsMap& saved_invalidations,
45 const std::string& invalidation_bootstrap_data, 45 const std::string& invalidation_bootstrap_data,
46 const WeakHandle<InvalidationStateTracker>& 46 const base::WeakPtr<InvalidationStateTracker>& invalidation_state_tracker,
47 invalidation_state_tracker, 47 scoped_refptr<base::SingleThreadTaskRunner>
48 invalidation_state_tracker_task_runner,
48 const std::string& client_info); 49 const std::string& client_info);
49 50
50 virtual ~InvalidationNotifier(); 51 virtual ~InvalidationNotifier();
51 52
52 // Invalidator implementation. 53 // Invalidator implementation.
53 virtual void RegisterHandler(InvalidationHandler* handler) OVERRIDE; 54 virtual void RegisterHandler(InvalidationHandler* handler) OVERRIDE;
54 virtual void UpdateRegisteredIds(InvalidationHandler* handler, 55 virtual void UpdateRegisteredIds(InvalidationHandler* handler,
55 const ObjectIdSet& ids) OVERRIDE; 56 const ObjectIdSet& ids) OVERRIDE;
56 virtual void UnregisterHandler(InvalidationHandler* handler) OVERRIDE; 57 virtual void UnregisterHandler(InvalidationHandler* handler) OVERRIDE;
57 virtual InvalidatorState GetInvalidatorState() const OVERRIDE; 58 virtual InvalidatorState GetInvalidatorState() const OVERRIDE;
(...skipping 19 matching lines...) Expand all
77 STARTED 78 STARTED
78 }; 79 };
79 State state_; 80 State state_;
80 81
81 InvalidatorRegistrar registrar_; 82 InvalidatorRegistrar registrar_;
82 83
83 // Passed to |invalidation_listener_|. 84 // Passed to |invalidation_listener_|.
84 const UnackedInvalidationsMap saved_invalidations_; 85 const UnackedInvalidationsMap saved_invalidations_;
85 86
86 // Passed to |invalidation_listener_|. 87 // Passed to |invalidation_listener_|.
87 const WeakHandle<InvalidationStateTracker> 88 const base::WeakPtr<InvalidationStateTracker> invalidation_state_tracker_;
88 invalidation_state_tracker_; 89 scoped_refptr<base::SequencedTaskRunner>
90 invalidation_state_tracker_task_runner_;
89 91
90 // Passed to |invalidation_listener_|. 92 // Passed to |invalidation_listener_|.
91 const std::string client_info_; 93 const std::string client_info_;
92 94
93 // The client ID to pass to |invalidation_listener_|. 95 // The client ID to pass to |invalidation_listener_|.
94 const std::string invalidator_client_id_; 96 const std::string invalidator_client_id_;
95 97
96 // The initial bootstrap data to pass to |invalidation_listener_|. 98 // The initial bootstrap data to pass to |invalidation_listener_|.
97 const std::string invalidation_bootstrap_data_; 99 const std::string invalidation_bootstrap_data_;
98 100
99 // The invalidation listener. 101 // The invalidation listener.
100 SyncInvalidationListener invalidation_listener_; 102 SyncInvalidationListener invalidation_listener_;
101 103
102 DISALLOW_COPY_AND_ASSIGN(InvalidationNotifier); 104 DISALLOW_COPY_AND_ASSIGN(InvalidationNotifier);
103 }; 105 };
104 106
105 } // namespace syncer 107 } // namespace syncer
106 108
107 #endif // COMPONENTS_INVALIDATION_INVALIDATION_NOTIFIER_H_ 109 #endif // COMPONENTS_INVALIDATION_INVALIDATION_NOTIFIER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698