Chromium Code Reviews| 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 |