OLD | NEW |
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 #include "extensions/browser/api/bluetooth/bluetooth_private_api.h" | 5 #include "extensions/browser/api/bluetooth/bluetooth_private_api.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 const char kForgetDeviceError[] = "Failed to forget device"; | 95 const char kForgetDeviceError[] = "Failed to forget device"; |
96 const char kSetDiscoveryFilterFailed[] = "Failed to set discovery filter"; | 96 const char kSetDiscoveryFilterFailed[] = "Failed to set discovery filter"; |
97 const char kPairingFailed[] = "Pairing failed"; | 97 const char kPairingFailed[] = "Pairing failed"; |
98 | 98 |
99 // Returns true if the pairing response options passed into the | 99 // Returns true if the pairing response options passed into the |
100 // setPairingResponse function are valid. | 100 // setPairingResponse function are valid. |
101 bool ValidatePairingResponseOptions( | 101 bool ValidatePairingResponseOptions( |
102 const device::BluetoothDevice* device, | 102 const device::BluetoothDevice* device, |
103 const bt_private::SetPairingResponseOptions& options) { | 103 const bt_private::SetPairingResponseOptions& options) { |
104 bool response = options.response != bt_private::PAIRING_RESPONSE_NONE; | 104 bool response = options.response != bt_private::PAIRING_RESPONSE_NONE; |
105 bool pincode = options.pincode.get() != nullptr; | 105 bool pincode = options.pincode != nullptr; |
106 bool passkey = options.passkey.get() != nullptr; | 106 bool passkey = options.passkey != nullptr; |
107 | 107 |
108 if (!response && !pincode && !passkey) | 108 if (!response && !pincode && !passkey) |
109 return false; | 109 return false; |
110 if (pincode && passkey) | 110 if (pincode && passkey) |
111 return false; | 111 return false; |
112 if (options.response != bt_private::PAIRING_RESPONSE_CONFIRM && | 112 if (options.response != bt_private::PAIRING_RESPONSE_CONFIRM && |
113 (pincode || passkey)) | 113 (pincode || passkey)) |
114 return false; | 114 return false; |
115 | 115 |
116 if (options.response == bt_private::PAIRING_RESPONSE_CANCEL) | 116 if (options.response == bt_private::PAIRING_RESPONSE_CANCEL) |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 return true; | 273 return true; |
274 } | 274 } |
275 | 275 |
276 if (!ValidatePairingResponseOptions(device, options)) { | 276 if (!ValidatePairingResponseOptions(device, options)) { |
277 SetError(kInvalidPairingResponseOptions); | 277 SetError(kInvalidPairingResponseOptions); |
278 SendResponse(false); | 278 SendResponse(false); |
279 return true; | 279 return true; |
280 } | 280 } |
281 | 281 |
282 if (options.pincode.get()) { | 282 if (options.pincode.get()) { |
283 device->SetPinCode(*options.pincode.get()); | 283 device->SetPinCode(*options.pincode); |
284 } else if (options.passkey.get()) { | 284 } else if (options.passkey.get()) { |
285 device->SetPasskey(*options.passkey.get()); | 285 device->SetPasskey(*options.passkey); |
286 } else { | 286 } else { |
287 switch (options.response) { | 287 switch (options.response) { |
288 case bt_private::PAIRING_RESPONSE_CONFIRM: | 288 case bt_private::PAIRING_RESPONSE_CONFIRM: |
289 device->ConfirmPairing(); | 289 device->ConfirmPairing(); |
290 break; | 290 break; |
291 case bt_private::PAIRING_RESPONSE_REJECT: | 291 case bt_private::PAIRING_RESPONSE_REJECT: |
292 device->RejectPairing(); | 292 device->RejectPairing(); |
293 break; | 293 break; |
294 case bt_private::PAIRING_RESPONSE_CANCEL: | 294 case bt_private::PAIRING_RESPONSE_CANCEL: |
295 device->CancelPairing(); | 295 device->CancelPairing(); |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
617 device::BluetoothDevice::ConnectErrorCode error) { | 617 device::BluetoothDevice::ConnectErrorCode error) { |
618 SetError(kPairingFailed); | 618 SetError(kPairingFailed); |
619 SendResponse(false); | 619 SendResponse(false); |
620 } | 620 } |
621 | 621 |
622 //////////////////////////////////////////////////////////////////////////////// | 622 //////////////////////////////////////////////////////////////////////////////// |
623 | 623 |
624 } // namespace api | 624 } // namespace api |
625 | 625 |
626 } // namespace extensions | 626 } // namespace extensions |
OLD | NEW |