OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2017 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 DEVICE_BLUETOOTH_DISCOVERY_SESSION_H_ | |
6 #define DEVICE_BLUETOOTH_DISCOVERY_SESSION_H_ | |
7 | |
8 #include "base/memory/ptr_util.h" | |
9 #include "device/bluetooth/bluetooth_discovery_session.h" | |
10 #include "device/bluetooth/public/interfaces/adapter.mojom.h" | |
11 | |
12 namespace bluetooth { | |
13 | |
14 // Implementation of Mojo DiscoverySession in | |
15 // device/bluetooth/public/interfaces/adapter.mojom. | |
16 // It handles requests to interact with a DiscoverySession. | |
17 // Uses the platform abstraction of device/bluetooth. | |
18 // An instance of this class is constructed by Adapter and strongly bound | |
19 // to its MessagePipe. When the instance is destroyed, the underlying | |
20 // BluetoothDiscoverySession is requested to stop. Users are encouraged to call | |
21 // DiscoverySession::Stop in order to respond to a failed request to stop | |
22 // device discovery. | |
23 class DiscoverySession : public mojom::DiscoverySession { | |
24 public: | |
25 DiscoverySession(std::unique_ptr<device::BluetoothDiscoverySession> session); | |
dcheng
2017/01/05 22:28:23
Nit: explicit
mbrunson
2017/01/06 01:18:56
Done.
| |
26 ~DiscoverySession() override; | |
27 | |
28 // mojom::DiscoverySession overrides: | |
29 void IsActive(const IsActiveCallback& callback) override; | |
30 void Stop(const StopCallback& callback) override; | |
31 | |
32 private: | |
33 void OnStop(const StopCallback& callback); | |
34 void OnStopError(const StopCallback& callback); | |
35 | |
36 // The underlying discovery session. | |
37 std::unique_ptr<device::BluetoothDiscoverySession> discovery_session_; | |
38 | |
39 base::WeakPtrFactory<DiscoverySession> weak_ptr_factory_; | |
40 | |
41 DISALLOW_COPY_AND_ASSIGN(DiscoverySession); | |
42 }; | |
43 | |
44 } // namespace bluetooth | |
45 | |
46 #endif | |
OLD | NEW |