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

Side by Side Diff: components/proximity_auth/remote_device_life_cycle_impl.h

Issue 2900253005: BLE advertiser
Patch Set: Created 3 years, 7 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 COMPONENTS_PROXIMITY_AUTH_REMOTE_DEVICE_LIFE_CYCLE_IMPL_H 5 #ifndef COMPONENTS_PROXIMITY_AUTH_REMOTE_DEVICE_LIFE_CYCLE_IMPL_H
6 #define COMPONENTS_PROXIMITY_AUTH_REMOTE_DEVICE_LIFE_CYCLE_IMPL_H 6 #define COMPONENTS_PROXIMITY_AUTH_REMOTE_DEVICE_LIFE_CYCLE_IMPL_H
7 7
8 #include <memory> 8 #include <memory>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/memory/weak_ptr.h" 11 #include "base/memory/weak_ptr.h"
12 #include "base/observer_list.h" 12 #include "base/observer_list.h"
13 #include "base/timer/timer.h" 13 #include "base/timer/timer.h"
14 #include "components/cryptauth/authenticator.h" 14 #include "components/cryptauth/authenticator.h"
15 #include "components/cryptauth/bluetooth_throttler.h" 15 #include "components/cryptauth/bluetooth_throttler.h"
16 #include "components/cryptauth/connection.h" 16 #include "components/cryptauth/connection.h"
17 #include "components/cryptauth/connection_finder.h" 17 #include "components/cryptauth/connection_finder.h"
18 #include "components/cryptauth/remote_device.h" 18 #include "components/cryptauth/remote_device.h"
19 #include "components/proximity_auth/messenger_observer.h" 19 #include "components/proximity_auth/messenger_observer.h"
20 #include "components/proximity_auth/remote_device_life_cycle.h" 20 #include "components/proximity_auth/remote_device_life_cycle.h"
21 21
22 namespace cryptauth { 22 namespace cryptauth {
23 class SecureContext; 23 class SecureContext;
24 } 24 }
25 25
26 namespace proximity_auth { 26 namespace proximity_auth {
27 27
28 class BluetoothLowEnergyAdvertiser;
28 class Messenger; 29 class Messenger;
29 class ProximityAuthClient; 30 class ProximityAuthClient;
30 31
31 // Implementation of RemoteDeviceLifeCycle. 32 // Implementation of RemoteDeviceLifeCycle.
32 class RemoteDeviceLifeCycleImpl : public RemoteDeviceLifeCycle, 33 class RemoteDeviceLifeCycleImpl : public RemoteDeviceLifeCycle,
33 public MessengerObserver { 34 public MessengerObserver {
34 public: 35 public:
35 // Creates the life cycle for controlling the given |remote_device|. 36 // Creates the life cycle for controlling the given |remote_device|.
36 // |proximity_auth_client| is not owned. 37 // |proximity_auth_client| is not owned.
37 RemoteDeviceLifeCycleImpl(const cryptauth::RemoteDevice& remote_device, 38 RemoteDeviceLifeCycleImpl(const cryptauth::RemoteDevice& remote_device,
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 std::unique_ptr<cryptauth::ConnectionFinder> connection_finder_; 112 std::unique_ptr<cryptauth::ConnectionFinder> connection_finder_;
112 113
113 // Rate limits Bluetooth connections to the same device. Used to in the 114 // Rate limits Bluetooth connections to the same device. Used to in the
114 // created cryptauth::ConnectionFinder. 115 // created cryptauth::ConnectionFinder.
115 cryptauth::BluetoothThrottler* bluetooth_throttler_; 116 cryptauth::BluetoothThrottler* bluetooth_throttler_;
116 117
117 // After authentication fails, this timer waits for a period of time before 118 // After authentication fails, this timer waits for a period of time before
118 // retrying the connection. 119 // retrying the connection.
119 base::OneShotTimer authentication_recovery_timer_; 120 base::OneShotTimer authentication_recovery_timer_;
120 121
122 std::unique_ptr<BluetoothLowEnergyAdvertiser> advertiser_;
123
121 base::WeakPtrFactory<RemoteDeviceLifeCycleImpl> weak_ptr_factory_; 124 base::WeakPtrFactory<RemoteDeviceLifeCycleImpl> weak_ptr_factory_;
122 125
123 DISALLOW_COPY_AND_ASSIGN(RemoteDeviceLifeCycleImpl); 126 DISALLOW_COPY_AND_ASSIGN(RemoteDeviceLifeCycleImpl);
124 }; 127 };
125 128
126 } // namespace proximity_auth 129 } // namespace proximity_auth
127 130
128 #endif // COMPONENTS_PROXIMITY_AUTH_REMOTE_DEVICE_LIFE_CYCLE_IMPL_H 131 #endif // COMPONENTS_PROXIMITY_AUTH_REMOTE_DEVICE_LIFE_CYCLE_IMPL_H
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698