Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_H_ | 5 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_H_ |
| 6 #define DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_H_ | 6 #define DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_H_ |
| 7 | 7 |
| 8 #include <list> | 8 #include <list> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <set> | 10 #include <set> |
| 11 #include <string> | 11 #include <string> |
| 12 #include <utility> | 12 #include <utility> |
| 13 | 13 |
| 14 #include "base/callback.h" | 14 #include "base/callback.h" |
| 15 #include "base/memory/ref_counted.h" | 15 #include "base/memory/ref_counted.h" |
| 16 #include "base/memory/weak_ptr.h" | 16 #include "base/memory/weak_ptr.h" |
| 17 #include "device/bluetooth/bluetooth_advertisement.h" | |
| 17 #include "device/bluetooth/bluetooth_audio_sink.h" | 18 #include "device/bluetooth/bluetooth_audio_sink.h" |
| 18 #include "device/bluetooth/bluetooth_device.h" | 19 #include "device/bluetooth/bluetooth_device.h" |
| 19 #include "device/bluetooth/bluetooth_export.h" | 20 #include "device/bluetooth/bluetooth_export.h" |
| 20 | 21 |
| 21 namespace device { | 22 namespace device { |
| 22 | 23 |
| 24 class BluetoothAdvertisement; | |
| 23 class BluetoothDiscoveryFilter; | 25 class BluetoothDiscoveryFilter; |
| 24 class BluetoothDiscoverySession; | 26 class BluetoothDiscoverySession; |
| 25 class BluetoothGattCharacteristic; | 27 class BluetoothGattCharacteristic; |
| 26 class BluetoothGattDescriptor; | 28 class BluetoothGattDescriptor; |
| 27 class BluetoothGattService; | 29 class BluetoothGattService; |
| 28 class BluetoothSocket; | 30 class BluetoothSocket; |
| 29 class BluetoothUUID; | 31 class BluetoothUUID; |
| 30 struct BluetoothAdapterDeleter; | 32 struct BluetoothAdapterDeleter; |
| 31 | 33 |
| 32 // BluetoothAdapter represents a local Bluetooth adapter which may be used to | 34 // BluetoothAdapter represents a local Bluetooth adapter which may be used to |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 167 ServiceOptions(); | 169 ServiceOptions(); |
| 168 ~ServiceOptions(); | 170 ~ServiceOptions(); |
| 169 | 171 |
| 170 scoped_ptr<int> channel; | 172 scoped_ptr<int> channel; |
| 171 scoped_ptr<int> psm; | 173 scoped_ptr<int> psm; |
| 172 scoped_ptr<std::string> name; | 174 scoped_ptr<std::string> name; |
| 173 }; | 175 }; |
| 174 | 176 |
| 175 // The ErrorCallback is used for methods that can fail in which case it is | 177 // The ErrorCallback is used for methods that can fail in which case it is |
| 176 // called, in the success case the callback is simply not called. | 178 // called, in the success case the callback is simply not called. |
| 177 typedef base::Closure ErrorCallback; | 179 using ErrorCallback = base::Closure; |
| 178 | 180 |
| 179 // The InitCallback is used to trigger a callback after asynchronous | 181 // The InitCallback is used to trigger a callback after asynchronous |
| 180 // initialization, if initialization is asynchronous on the platform. | 182 // initialization, if initialization is asynchronous on the platform. |
| 181 typedef base::Callback<void()> InitCallback; | 183 using InitCallback = base::Callback<void()>; |
| 182 | 184 |
| 183 typedef base::Callback<void(scoped_ptr<BluetoothDiscoverySession>)> | 185 using DiscoverySessionCallback = |
| 184 DiscoverySessionCallback; | 186 base::Callback<void(scoped_ptr<BluetoothDiscoverySession>)>; |
| 185 typedef std::vector<BluetoothDevice*> DeviceList; | 187 using DeviceList = std::vector<BluetoothDevice*>; |
| 186 typedef std::vector<const BluetoothDevice*> ConstDeviceList; | 188 using ConstDeviceList = std::vector<const BluetoothDevice*>; |
| 187 typedef base::Callback<void(scoped_refptr<BluetoothSocket>)> | 189 using CreateServiceCallback = |
| 188 CreateServiceCallback; | 190 base::Callback<void(scoped_refptr<BluetoothSocket>)>; |
| 189 typedef base::Callback<void(const std::string& message)> | 191 using CreateServiceErrorCallback = |
| 190 CreateServiceErrorCallback; | 192 base::Callback<void(const std::string& message)>; |
| 191 typedef base::Callback<void(scoped_refptr<BluetoothAudioSink>)> | 193 using AcquiredCallback = |
| 192 AcquiredCallback; | 194 base::Callback<void(scoped_refptr<BluetoothAudioSink>)>; |
| 195 using CreateAdvertisementCallback = | |
| 196 base::Callback<void(scoped_refptr<BluetoothAdvertisement>)>; | |
| 197 using CreateAdvertisementErrorCallback = | |
| 198 base::Callback<void(BluetoothAdvertisement::ErrorCode)>; | |
|
armansito
2015/04/24 22:11:00
Why did you do this here? I prefer that you perfor
rkc
2015/04/24 22:55:24
I agree in principle, but in this one case, I had
| |
| 193 | 199 |
| 194 // Returns a weak pointer to a new adapter. For platforms with asynchronous | 200 // Returns a weak pointer to a new adapter. For platforms with asynchronous |
| 195 // initialization, the returned adapter will run the |init_callback| once | 201 // initialization, the returned adapter will run the |init_callback| once |
| 196 // asynchronous initialization is complete. | 202 // asynchronous initialization is complete. |
| 197 // Caution: The returned pointer also transfers ownership of the adapter. The | 203 // Caution: The returned pointer also transfers ownership of the adapter. The |
| 198 // caller is expected to call |AddRef()| on the returned pointer, typically by | 204 // caller is expected to call |AddRef()| on the returned pointer, typically by |
| 199 // storing it into a |scoped_refptr|. | 205 // storing it into a |scoped_refptr|. |
| 200 static base::WeakPtr<BluetoothAdapter> CreateAdapter( | 206 static base::WeakPtr<BluetoothAdapter> CreateAdapter( |
| 201 const InitCallback& init_callback); | 207 const InitCallback& init_callback); |
| 202 | 208 |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 362 // Creates and registers a BluetoothAudioSink with |options|. If the fields in | 368 // Creates and registers a BluetoothAudioSink with |options|. If the fields in |
| 363 // |options| are not specified, the default values will be used. |callback| | 369 // |options| are not specified, the default values will be used. |callback| |
| 364 // will be called on success with a BluetoothAudioSink which is to be owned by | 370 // will be called on success with a BluetoothAudioSink which is to be owned by |
| 365 // the caller of this method. |error_callback| will be called on failure with | 371 // the caller of this method. |error_callback| will be called on failure with |
| 366 // a message indicating the cause. | 372 // a message indicating the cause. |
| 367 virtual void RegisterAudioSink( | 373 virtual void RegisterAudioSink( |
| 368 const BluetoothAudioSink::Options& options, | 374 const BluetoothAudioSink::Options& options, |
| 369 const AcquiredCallback& callback, | 375 const AcquiredCallback& callback, |
| 370 const BluetoothAudioSink::ErrorCallback& error_callback) = 0; | 376 const BluetoothAudioSink::ErrorCallback& error_callback) = 0; |
| 371 | 377 |
| 378 // Creates and registers an advertisement for broadcast over the LE channel. | |
| 379 // The created advertisement will be returned via the success callback. | |
| 380 virtual void RegisterAdvertisement( | |
| 381 scoped_ptr<BluetoothAdvertisement::Data> advertisement_data, | |
| 382 const CreateAdvertisementCallback& callback, | |
| 383 const CreateAdvertisementErrorCallback& error_callback) = 0; | |
| 384 | |
| 372 protected: | 385 protected: |
| 373 friend class base::RefCounted<BluetoothAdapter>; | 386 friend class base::RefCounted<BluetoothAdapter>; |
| 374 friend class BluetoothDiscoverySession; | 387 friend class BluetoothDiscoverySession; |
| 375 | 388 |
| 376 typedef std::map<const std::string, BluetoothDevice*> DevicesMap; | 389 using DevicesMap = std::map<const std::string, BluetoothDevice*>; |
| 377 typedef std::pair<BluetoothDevice::PairingDelegate*, PairingDelegatePriority> | 390 using PairingDelegatePair = |
| 378 PairingDelegatePair; | 391 std::pair<BluetoothDevice::PairingDelegate*, PairingDelegatePriority>; |
|
armansito
2015/04/24 22:11:00
Same as above. Do this typedef -> using conversion
rkc
2015/04/24 22:55:24
Since this really isn't directly next to my new co
| |
| 379 | 392 |
| 380 BluetoothAdapter(); | 393 BluetoothAdapter(); |
| 381 virtual ~BluetoothAdapter(); | 394 virtual ~BluetoothAdapter(); |
| 382 | 395 |
| 383 // Internal methods for initiating and terminating device discovery sessions. | 396 // Internal methods for initiating and terminating device discovery sessions. |
| 384 // An implementation of BluetoothAdapter keeps an internal reference count to | 397 // An implementation of BluetoothAdapter keeps an internal reference count to |
| 385 // make sure that the underlying controller is constantly searching for nearby | 398 // make sure that the underlying controller is constantly searching for nearby |
| 386 // devices and retrieving information from them as long as there are clients | 399 // devices and retrieving information from them as long as there are clients |
| 387 // who have requested discovery. These methods behave in the following way: | 400 // who have requested discovery. These methods behave in the following way: |
| 388 // | 401 // |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 475 std::set<BluetoothDiscoverySession*> discovery_sessions_; | 488 std::set<BluetoothDiscoverySession*> discovery_sessions_; |
| 476 | 489 |
| 477 // Note: This should remain the last member so it'll be destroyed and | 490 // Note: This should remain the last member so it'll be destroyed and |
| 478 // invalidate its weak pointers before any other members are destroyed. | 491 // invalidate its weak pointers before any other members are destroyed. |
| 479 base::WeakPtrFactory<BluetoothAdapter> weak_ptr_factory_; | 492 base::WeakPtrFactory<BluetoothAdapter> weak_ptr_factory_; |
| 480 }; | 493 }; |
| 481 | 494 |
| 482 } // namespace device | 495 } // namespace device |
| 483 | 496 |
| 484 #endif // DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_H_ | 497 #endif // DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_H_ |
| OLD | NEW |