| Index: device/bluetooth/bluetooth_pairing_chromeos.cc
|
| diff --git a/device/bluetooth/bluetooth_pairing_chromeos.cc b/device/bluetooth/bluetooth_pairing_chromeos.cc
|
| deleted file mode 100644
|
| index 4541fb3810bf11ec40527aafe29d42741b85a8b5..0000000000000000000000000000000000000000
|
| --- a/device/bluetooth/bluetooth_pairing_chromeos.cc
|
| +++ /dev/null
|
| @@ -1,275 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "device/bluetooth/bluetooth_pairing_chromeos.h"
|
| -
|
| -#include "base/logging.h"
|
| -#include "base/metrics/histogram.h"
|
| -#include "device/bluetooth/bluetooth_device.h"
|
| -#include "device/bluetooth/bluetooth_device_chromeos.h"
|
| -
|
| -using device::BluetoothDevice;
|
| -
|
| -namespace {
|
| -
|
| -// Histogram enumerations for pairing methods.
|
| -enum UMAPairingMethod {
|
| - UMA_PAIRING_METHOD_NONE,
|
| - UMA_PAIRING_METHOD_REQUEST_PINCODE,
|
| - UMA_PAIRING_METHOD_REQUEST_PASSKEY,
|
| - UMA_PAIRING_METHOD_DISPLAY_PINCODE,
|
| - UMA_PAIRING_METHOD_DISPLAY_PASSKEY,
|
| - UMA_PAIRING_METHOD_CONFIRM_PASSKEY,
|
| - // NOTE: Add new pairing methods immediately above this line. Make sure to
|
| - // update the enum list in tools/histogram/histograms.xml accordingly.
|
| - UMA_PAIRING_METHOD_COUNT
|
| -};
|
| -
|
| -// Number of keys that will be entered for a passkey, six digits plus the
|
| -// final enter.
|
| -const uint16 kPasskeyMaxKeysEntered = 7;
|
| -
|
| -} // namespace
|
| -
|
| -namespace chromeos {
|
| -
|
| -BluetoothPairingChromeOS::BluetoothPairingChromeOS(
|
| - BluetoothDeviceChromeOS* device,
|
| - BluetoothDevice::PairingDelegate* pairing_delegate)
|
| - : device_(device),
|
| - pairing_delegate_(pairing_delegate),
|
| - pairing_delegate_used_(false) {
|
| - VLOG(1) << "Created BluetoothPairingChromeOS for "
|
| - << device_->GetAddress();
|
| -}
|
| -
|
| -BluetoothPairingChromeOS::~BluetoothPairingChromeOS() {
|
| - VLOG(1) << "Destroying BluetoothPairingChromeOS for "
|
| - << device_->GetAddress();
|
| -
|
| - if (!pairing_delegate_used_) {
|
| - UMA_HISTOGRAM_ENUMERATION("Bluetooth.PairingMethod",
|
| - UMA_PAIRING_METHOD_NONE,
|
| - UMA_PAIRING_METHOD_COUNT);
|
| - }
|
| -
|
| - if (!pincode_callback_.is_null()) {
|
| - pincode_callback_.Run(
|
| - bluez::BluetoothAgentServiceProvider::Delegate::CANCELLED, "");
|
| - }
|
| -
|
| - if (!passkey_callback_.is_null()) {
|
| - passkey_callback_.Run(
|
| - bluez::BluetoothAgentServiceProvider::Delegate::CANCELLED, 0);
|
| - }
|
| -
|
| - if (!confirmation_callback_.is_null()) {
|
| - confirmation_callback_.Run(
|
| - bluez::BluetoothAgentServiceProvider::Delegate::CANCELLED);
|
| - }
|
| -
|
| - pairing_delegate_ = NULL;
|
| -}
|
| -
|
| -void BluetoothPairingChromeOS::RequestPinCode(
|
| - const bluez::BluetoothAgentServiceProvider::Delegate::PinCodeCallback&
|
| - callback) {
|
| - UMA_HISTOGRAM_ENUMERATION("Bluetooth.PairingMethod",
|
| - UMA_PAIRING_METHOD_REQUEST_PINCODE,
|
| - UMA_PAIRING_METHOD_COUNT);
|
| -
|
| - ResetCallbacks();
|
| - pincode_callback_ = callback;
|
| - pairing_delegate_used_ = true;
|
| - pairing_delegate_->RequestPinCode(device_);
|
| -}
|
| -
|
| -bool BluetoothPairingChromeOS::ExpectingPinCode() const {
|
| - return !pincode_callback_.is_null();
|
| -}
|
| -
|
| -void BluetoothPairingChromeOS::SetPinCode(const std::string& pincode) {
|
| - if (pincode_callback_.is_null())
|
| - return;
|
| -
|
| - pincode_callback_.Run(bluez::BluetoothAgentServiceProvider::Delegate::SUCCESS,
|
| - pincode);
|
| - pincode_callback_.Reset();
|
| -
|
| - // If this is not an outgoing connection to the device, clean up the pairing
|
| - // context since the pairing is done. The outgoing connection case is cleaned
|
| - // up in the callback for the underlying Pair() call.
|
| - if (!device_->IsConnecting())
|
| - device_->EndPairing();
|
| -}
|
| -
|
| -void BluetoothPairingChromeOS::DisplayPinCode(const std::string& pincode) {
|
| - UMA_HISTOGRAM_ENUMERATION("Bluetooth.PairingMethod",
|
| - UMA_PAIRING_METHOD_DISPLAY_PINCODE,
|
| - UMA_PAIRING_METHOD_COUNT);
|
| -
|
| - ResetCallbacks();
|
| - pairing_delegate_used_ = true;
|
| - pairing_delegate_->DisplayPinCode(device_, pincode);
|
| -
|
| - // If this is not an outgoing connection to the device, the pairing context
|
| - // needs to be cleaned up again as there's no reliable indication of
|
| - // completion of incoming pairing.
|
| - if (!device_->IsConnecting())
|
| - device_->EndPairing();
|
| -}
|
| -
|
| -void BluetoothPairingChromeOS::RequestPasskey(
|
| - const bluez::BluetoothAgentServiceProvider::Delegate::PasskeyCallback&
|
| - callback) {
|
| - UMA_HISTOGRAM_ENUMERATION("Bluetooth.PairingMethod",
|
| - UMA_PAIRING_METHOD_REQUEST_PASSKEY,
|
| - UMA_PAIRING_METHOD_COUNT);
|
| -
|
| - ResetCallbacks();
|
| - passkey_callback_ = callback;
|
| - pairing_delegate_used_ = true;
|
| - pairing_delegate_->RequestPasskey(device_);
|
| -}
|
| -
|
| -bool BluetoothPairingChromeOS::ExpectingPasskey() const {
|
| - return !passkey_callback_.is_null();
|
| -}
|
| -
|
| -void BluetoothPairingChromeOS::SetPasskey(uint32 passkey) {
|
| - if (passkey_callback_.is_null())
|
| - return;
|
| -
|
| - passkey_callback_.Run(bluez::BluetoothAgentServiceProvider::Delegate::SUCCESS,
|
| - passkey);
|
| - passkey_callback_.Reset();
|
| -
|
| - // If this is not an outgoing connection to the device, clean up the pairing
|
| - // context since the pairing is done. The outgoing connection case is cleaned
|
| - // up in the callback for the underlying Pair() call.
|
| - if (!device_->IsConnecting())
|
| - device_->EndPairing();
|
| -}
|
| -
|
| -void BluetoothPairingChromeOS::DisplayPasskey(uint32 passkey) {
|
| - UMA_HISTOGRAM_ENUMERATION("Bluetooth.PairingMethod",
|
| - UMA_PAIRING_METHOD_DISPLAY_PASSKEY,
|
| - UMA_PAIRING_METHOD_COUNT);
|
| -
|
| - ResetCallbacks();
|
| - pairing_delegate_used_ = true;
|
| - pairing_delegate_->DisplayPasskey(device_, passkey);
|
| -}
|
| -
|
| -void BluetoothPairingChromeOS::KeysEntered(uint16 entered) {
|
| - pairing_delegate_used_ = true;
|
| - pairing_delegate_->KeysEntered(device_, entered);
|
| -
|
| - // If this is not an outgoing connection to the device, the pairing context
|
| - // needs to be cleaned up again as there's no reliable indication of
|
| - // completion of incoming pairing.
|
| - if (entered >= kPasskeyMaxKeysEntered && !device_->IsConnecting())
|
| - device_->EndPairing();
|
| -}
|
| -
|
| -void BluetoothPairingChromeOS::RequestConfirmation(
|
| - uint32 passkey,
|
| - const bluez::BluetoothAgentServiceProvider::Delegate::ConfirmationCallback&
|
| - callback) {
|
| - UMA_HISTOGRAM_ENUMERATION("Bluetooth.PairingMethod",
|
| - UMA_PAIRING_METHOD_CONFIRM_PASSKEY,
|
| - UMA_PAIRING_METHOD_COUNT);
|
| -
|
| - ResetCallbacks();
|
| - confirmation_callback_ = callback;
|
| - pairing_delegate_used_ = true;
|
| - pairing_delegate_->ConfirmPasskey(device_, passkey);
|
| -}
|
| -
|
| -void BluetoothPairingChromeOS::RequestAuthorization(
|
| - const bluez::BluetoothAgentServiceProvider::Delegate::ConfirmationCallback&
|
| - callback) {
|
| - UMA_HISTOGRAM_ENUMERATION("Bluetooth.PairingMethod",
|
| - UMA_PAIRING_METHOD_NONE,
|
| - UMA_PAIRING_METHOD_COUNT);
|
| -
|
| - ResetCallbacks();
|
| - confirmation_callback_ = callback;
|
| - pairing_delegate_used_ = true;
|
| - pairing_delegate_->AuthorizePairing(device_);
|
| -}
|
| -
|
| -bool BluetoothPairingChromeOS::ExpectingConfirmation() const {
|
| - return !confirmation_callback_.is_null();
|
| -}
|
| -
|
| -void BluetoothPairingChromeOS::ConfirmPairing() {
|
| - if (confirmation_callback_.is_null())
|
| - return;
|
| -
|
| - confirmation_callback_.Run(
|
| - bluez::BluetoothAgentServiceProvider::Delegate::SUCCESS);
|
| - confirmation_callback_.Reset();
|
| -
|
| - // If this is not an outgoing connection to the device, clean up the pairing
|
| - // context since the pairing is done. The outgoing connection case is cleaned
|
| - // up in the callback for the underlying Pair() call.
|
| - if (!device_->IsConnecting())
|
| - device_->EndPairing();
|
| -}
|
| -
|
| -bool BluetoothPairingChromeOS::RejectPairing() {
|
| - return RunPairingCallbacks(
|
| - bluez::BluetoothAgentServiceProvider::Delegate::REJECTED);
|
| -}
|
| -
|
| -bool BluetoothPairingChromeOS::CancelPairing() {
|
| - return RunPairingCallbacks(
|
| - bluez::BluetoothAgentServiceProvider::Delegate::CANCELLED);
|
| -}
|
| -
|
| -BluetoothDevice::PairingDelegate*
|
| -BluetoothPairingChromeOS::GetPairingDelegate() const {
|
| - return pairing_delegate_;
|
| -}
|
| -
|
| -void BluetoothPairingChromeOS::ResetCallbacks() {
|
| - pincode_callback_.Reset();
|
| - passkey_callback_.Reset();
|
| - confirmation_callback_.Reset();
|
| -}
|
| -
|
| -bool BluetoothPairingChromeOS::RunPairingCallbacks(
|
| - bluez::BluetoothAgentServiceProvider::Delegate::Status status) {
|
| - pairing_delegate_used_ = true;
|
| -
|
| - bool callback_run = false;
|
| - if (!pincode_callback_.is_null()) {
|
| - pincode_callback_.Run(status, "");
|
| - pincode_callback_.Reset();
|
| - callback_run = true;
|
| - }
|
| -
|
| - if (!passkey_callback_.is_null()) {
|
| - passkey_callback_.Run(status, 0);
|
| - passkey_callback_.Reset();
|
| - callback_run = true;
|
| - }
|
| -
|
| - if (!confirmation_callback_.is_null()) {
|
| - confirmation_callback_.Run(status);
|
| - confirmation_callback_.Reset();
|
| - callback_run = true;
|
| - }
|
| -
|
| - // If this is not an outgoing connection to the device, clean up the pairing
|
| - // context since the pairing is done. The outgoing connection case is cleaned
|
| - // up in the callback for the underlying Pair() call.
|
| - if (!device_->IsConnecting())
|
| - device_->EndPairing();
|
| -
|
| - return callback_run;
|
| -}
|
| -
|
| -} // namespace chromeos
|
|
|