| Index: chrome/browser/chromeos/bluetooth/bluetooth_device_chromeos.h
|
| diff --git a/chrome/browser/chromeos/bluetooth/bluetooth_device_chromeos.h b/chrome/browser/chromeos/bluetooth/bluetooth_device_chromeos.h
|
| deleted file mode 100644
|
| index a4202c5dd348ae1eafb8e4c1ebb884d9244ca8ee..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/chromeos/bluetooth/bluetooth_device_chromeos.h
|
| +++ /dev/null
|
| @@ -1,369 +0,0 @@
|
| -// Copyright (c) 2012 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.
|
| -
|
| -#ifndef CHROME_BROWSER_CHROMEOS_BLUETOOTH_BLUETOOTH_DEVICE_CHROMEOS_H_
|
| -#define CHROME_BROWSER_CHROMEOS_BLUETOOTH_BLUETOOTH_DEVICE_CHROMEOS_H_
|
| -
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/memory/scoped_vector.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "base/string16.h"
|
| -#include "chrome/browser/chromeos/bluetooth/bluetooth_device.h"
|
| -#include "chromeos/dbus/bluetooth_agent_service_provider.h"
|
| -#include "chromeos/dbus/bluetooth_device_client.h"
|
| -#include "dbus/object_path.h"
|
| -
|
| -namespace chromeos {
|
| -
|
| -class BluetoothAdapterChromeOs;
|
| -class BluetoothServiceRecord;
|
| -
|
| -struct BluetoothOutOfBandPairingData;
|
| -
|
| -// The BluetoothDeviceChromeOs class is an implementation of BluetoothDevice
|
| -// for Chrome OS platform.
|
| -class BluetoothDeviceChromeOs : public BluetoothDevice,
|
| - public BluetoothDeviceClient::Observer,
|
| - public BluetoothAgentServiceProvider::Delegate {
|
| - public:
|
| - virtual ~BluetoothDeviceChromeOs();
|
| -
|
| - // BluetoothDevice override
|
| - virtual bool IsPaired() const OVERRIDE;
|
| - virtual const ServiceList& GetServices() const OVERRIDE;
|
| - virtual void GetServiceRecords(
|
| - const ServiceRecordsCallback& callback,
|
| - const ErrorCallback& error_callback) OVERRIDE;
|
| - virtual bool ProvidesServiceWithUUID(const std::string& uuid) const OVERRIDE;
|
| - virtual void ProvidesServiceWithName(
|
| - const std::string& name,
|
| - const ProvidesServiceCallback& callback) OVERRIDE;
|
| - virtual bool ExpectingPinCode() const OVERRIDE;
|
| - virtual bool ExpectingPasskey() const OVERRIDE;
|
| - virtual bool ExpectingConfirmation() const OVERRIDE;
|
| - virtual void Connect(
|
| - BluetoothDevice::PairingDelegate* pairing_delegate,
|
| - const base::Closure& callback,
|
| - const ErrorCallback& error_callback) OVERRIDE;
|
| - virtual void SetPinCode(const std::string& pincode) OVERRIDE;
|
| - virtual void SetPasskey(uint32 passkey) OVERRIDE;
|
| - virtual void ConfirmPairing() OVERRIDE;
|
| - virtual void RejectPairing() OVERRIDE;
|
| - virtual void CancelPairing() OVERRIDE;
|
| - virtual void Disconnect(
|
| - const base::Closure& callback,
|
| - const ErrorCallback& error_callback) OVERRIDE;
|
| - virtual void Forget(const ErrorCallback& error_callback) OVERRIDE;
|
| - virtual void ConnectToService(
|
| - const std::string& service_uuid,
|
| - const SocketCallback& callback) OVERRIDE;
|
| - virtual void SetOutOfBandPairingData(
|
| - const chromeos::BluetoothOutOfBandPairingData& data,
|
| - const base::Closure& callback,
|
| - const ErrorCallback& error_callback) OVERRIDE;
|
| - virtual void ClearOutOfBandPairingData(
|
| - const base::Closure& callback,
|
| - const ErrorCallback& error_callback) OVERRIDE;
|
| -
|
| - private:
|
| - friend class BluetoothAdapterChromeOs;
|
| - friend class MockBluetoothDevice;
|
| -
|
| - explicit BluetoothDeviceChromeOs(BluetoothAdapterChromeOs* adapter);
|
| -
|
| - // Sets the dbus object path for the device to |object_path|, indicating
|
| - // that the device has gone from being discovered to paired or bonded.
|
| - void SetObjectPath(const dbus::ObjectPath& object_path);
|
| -
|
| - // Removes the dbus object path from the device, indicating that the
|
| - // device is no longer paired or bonded, but perhaps still visible.
|
| - void RemoveObjectPath();
|
| -
|
| - // Sets whether the device is visible to the owning adapter to |visible|.
|
| - void SetVisible(bool visible) { visible_ = visible; }
|
| -
|
| - // Updates device information from the properties in |properties|, device
|
| - // state properties such as |paired_| and |connected_| are ignored unless
|
| - // |update_state| is true.
|
| - void Update(const BluetoothDeviceClient::Properties* properties,
|
| - bool update_state);
|
| -
|
| - // Called by BluetoothAdapterClient when a call to CreateDevice() or
|
| - // CreatePairedDevice() succeeds, provides the new object path for the remote
|
| - // device in |device_path|. |callback| and |error_callback| are the callbacks
|
| - // provided to Connect().
|
| - void ConnectCallback(const base::Closure& callback,
|
| - const ErrorCallback& error_callback,
|
| - const dbus::ObjectPath& device_path);
|
| -
|
| - // Called by BluetoothAdapterClient when a call to CreateDevice() or
|
| - // CreatePairedDevice() fails with the error named |error_name| and
|
| - // optional message |error_message|, |error_callback| is the callback
|
| - // provided to Connect().
|
| - void ConnectErrorCallback(const ErrorCallback& error_callback,
|
| - const std::string& error_name,
|
| - const std::string& error_message);
|
| -
|
| - // Called by BluetoothAdapterClient when a call to DiscoverServices()
|
| - // completes. |callback| and |error_callback| are the callbacks provided to
|
| - // GetServiceRecords.
|
| - void CollectServiceRecordsCallback(
|
| - const ServiceRecordsCallback& callback,
|
| - const ErrorCallback& error_callback,
|
| - const dbus::ObjectPath& device_path,
|
| - const BluetoothDeviceClient::ServiceMap& service_map,
|
| - bool success);
|
| -
|
| - // Called by BluetoothProperty when the call to Set() for the Trusted
|
| - // property completes. |success| indicates whether or not the request
|
| - // succeeded, |callback| and |error_callback| are the callbacks provided to
|
| - // Connect().
|
| - void OnSetTrusted(const base::Closure& callback,
|
| - const ErrorCallback& error_callback,
|
| - bool success);
|
| -
|
| - // Connect application-level protocols of the device to the system, called
|
| - // on a successful connection or to reconnect to a device that is already
|
| - // paired or previously connected. |error_callback| is called on failure.
|
| - // Otherwise, |callback| is called when the request is complete.
|
| - void ConnectApplications(const base::Closure& callback,
|
| - const ErrorCallback& error_callback);
|
| -
|
| - // Called by IntrospectableClient when a call to Introspect() completes.
|
| - // |success| indicates whether or not the request succeeded, |callback| and
|
| - // |error_callback| are the callbacks provided to ConnectApplications(),
|
| - // |service_name| and |device_path| specify the remote object being
|
| - // introspected and |xml_data| contains the XML-formatted protocol data.
|
| - void OnIntrospect(const base::Closure& callback,
|
| - const ErrorCallback& error_callback,
|
| - const std::string& service_name,
|
| - const dbus::ObjectPath& device_path,
|
| - const std::string& xml_data, bool success);
|
| -
|
| - // Called by BluetoothInputClient when the call to Connect() succeeds.
|
| - // |error_callback| is the callback provided to ConnectApplications(),
|
| - // |interface_name| specifies the interface being connected and
|
| - // |device_path| the remote object path.
|
| - void OnConnect(const base::Closure& callback,
|
| - const std::string& interface_name,
|
| - const dbus::ObjectPath& device_path);
|
| -
|
| - // Called by BluetoothInputClient when the call to Connect() fails.
|
| - // |error_callback| is the callback provided to ConnectApplications(),
|
| - // |interface_name| specifies the interface being connected,
|
| - // |device_path| the remote object path,
|
| - // |error_name| the error name and |error_message| the optional message.
|
| - void OnConnectError(const ErrorCallback& error_callback,
|
| - const std::string& interface_name,
|
| - const dbus::ObjectPath& device_path,
|
| - const std::string& error_name,
|
| - const std::string& error_message);
|
| -
|
| - // Called by BluetoothDeviceClient when a call to Disconnect() completes,
|
| - // |success| indicates whether or not the request succeeded, |callback| and
|
| - // |error_callback| are the callbacks provided to Disconnect() and
|
| - // |device_path| is the device disconnected.
|
| - void DisconnectCallback(const base::Closure& callback,
|
| - const ErrorCallback& error_callback,
|
| - const dbus::ObjectPath& device_path, bool success);
|
| -
|
| - // Called by BluetoothAdapterClient when a call to RemoveDevice()
|
| - // completes, |success| indicates whether or not the request succeeded,
|
| - // |error_callback| is the callback provided to Forget() and |adapter_path| is
|
| - // the d-bus object path of the adapter that performed the removal.
|
| - void ForgetCallback(const ErrorCallback& error_callback,
|
| - const dbus::ObjectPath& adapter_path, bool success);
|
| -
|
| - // Called if the call to GetServiceRecords from ProvidesServiceWithName fails.
|
| - void SearchServicesForNameErrorCallback(
|
| - const ProvidesServiceCallback& callback);
|
| -
|
| - // Called by GetServiceRecords with the list of BluetoothServiceRecords to
|
| - // search for |name|. |callback| is the callback from
|
| - // ProvidesServiceWithName.
|
| - void SearchServicesForNameCallback(
|
| - const std::string& name,
|
| - const ProvidesServiceCallback& callback,
|
| - const ServiceRecordList& list);
|
| -
|
| - // Called if the call to GetServiceRecords from Connect fails.
|
| - void GetServiceRecordsForConnectErrorCallback(
|
| - const SocketCallback& callback);
|
| -
|
| - // Called by GetServiceRecords with the list of BluetoothServiceRecords.
|
| - // Connections are attempted to each service in the list matching
|
| - // |service_uuid|, and the socket from the first successful connection is
|
| - // passed to |callback|.
|
| - void GetServiceRecordsForConnectCallback(
|
| - const std::string& service_uuid,
|
| - const SocketCallback& callback,
|
| - const ServiceRecordList& list);
|
| -
|
| - // Called by BlueoothDeviceClient in response to the AddRemoteData and
|
| - // RemoveRemoteData method calls.
|
| - void OnRemoteDataCallback(const base::Closure& callback,
|
| - const ErrorCallback& error_callback,
|
| - bool success);
|
| -
|
| - // BluetoothDeviceClient::Observer override.
|
| - //
|
| - // Called when the device with object path |object_path| is about
|
| - // to be disconnected, giving a chance for application layers to
|
| - // shut down cleanly.
|
| - virtual void DisconnectRequested(
|
| - const dbus::ObjectPath& object_path) OVERRIDE;
|
| -
|
| - // BluetoothAgentServiceProvider::Delegate override.
|
| - //
|
| - // This method will be called when the agent is unregistered from the
|
| - // Bluetooth daemon, generally at the end of a pairing request. It may be
|
| - // used to perform cleanup tasks.
|
| - virtual void Release() OVERRIDE;
|
| -
|
| - // BluetoothAgentServiceProvider::Delegate override.
|
| - //
|
| - // This method will be called when the Bluetooth daemon requires a
|
| - // PIN Code for authentication of the device with object path |device_path|,
|
| - // the agent should obtain the code from the user and call |callback|
|
| - // to provide it, or indicate rejection or cancellation of the request.
|
| - //
|
| - // PIN Codes are generally required for Bluetooth 2.0 and earlier devices
|
| - // for which there is no automatic pairing or special handling.
|
| - virtual void RequestPinCode(const dbus::ObjectPath& device_path,
|
| - const PinCodeCallback& callback) OVERRIDE;
|
| -
|
| - // BluetoothAgentServiceProvider::Delegate override.
|
| - //
|
| - // This method will be called when the Bluetooth daemon requires a
|
| - // Passkey for authentication of the device with object path |device_path|,
|
| - // the agent should obtain the passkey from the user (a numeric in the
|
| - // range 0-999999) and call |callback| to provide it, or indicate
|
| - // rejection or cancellation of the request.
|
| - //
|
| - // Passkeys are generally required for Bluetooth 2.1 and later devices
|
| - // which cannot provide input or display on their own, and don't accept
|
| - // passkey-less pairing.
|
| - virtual void RequestPasskey(const dbus::ObjectPath& device_path,
|
| - const PasskeyCallback& callback) OVERRIDE;
|
| -
|
| - // BluetoothAgentServiceProvider::Delegate override.
|
| - //
|
| - // This method will be called when the Bluetooth daemon requires that the
|
| - // user enter the PIN code |pincode| into the device with object path
|
| - // |device_path| so that it may be authenticated. The Cancel() method
|
| - // will be called to dismiss the display once pairing is complete or
|
| - // cancelled.
|
| - //
|
| - // This is used for Bluetooth 2.0 and earlier keyboard devices, the
|
| - // |pincode| will always be a six-digit numeric in the range 000000-999999
|
| - // for compatibilty with later specifications.
|
| - virtual void DisplayPinCode(const dbus::ObjectPath& device_path,
|
| - const std::string& pincode) OVERRIDE;
|
| -
|
| - // BluetoothAgentServiceProvider::Delegate override.
|
| - //
|
| - // This method will be called when the Bluetooth daemon requires that the
|
| - // user enter the Passkey |passkey| into the device with object path
|
| - // |device_path| so that it may be authenticated. The Cancel() method
|
| - // will be called to dismiss the display once pairing is complete or
|
| - // cancelled.
|
| - //
|
| - // This is used for Bluetooth 2.1 and later devices that support input
|
| - // but not display, such as keyboards. The Passkey is a numeric in the
|
| - // range 0-999999 and should be always presented zero-padded to six
|
| - // digits.
|
| - virtual void DisplayPasskey(const dbus::ObjectPath& device_path,
|
| - uint32 passkey) OVERRIDE;
|
| -
|
| - // BluetoothAgentServiceProvider::Delegate override.
|
| - //
|
| - // This method will be called when the Bluetooth daemon requires that the
|
| - // user confirm that the Passkey |passkey| is displayed on the screen
|
| - // of the device with object path |object_path| so that it may be
|
| - // authentication. The agent should display to the user and ask for
|
| - // confirmation, then call |callback| to provide their response (success,
|
| - // rejected or cancelled).
|
| - //
|
| - // This is used for Bluetooth 2.1 and later devices that support display,
|
| - // such as other computers or phones. The Passkey is a numeric in the
|
| - // range 0-999999 and should be always present zero-padded to six
|
| - // digits.
|
| - virtual void RequestConfirmation(
|
| - const dbus::ObjectPath& device_path,
|
| - uint32 passkey,
|
| - const ConfirmationCallback& callback) OVERRIDE;
|
| -
|
| - // BluetoothAgentServiceProvider::Delegate override.
|
| - //
|
| - // This method will be called when the Bluetooth daemon requires that the
|
| - // user confirm that the device with object path |object_path| is
|
| - // authorized to connect to the service with UUID |uuid|. The agent should
|
| - // confirm with the user and call |callback| to provide their response
|
| - // (success, rejected or cancelled).
|
| - virtual void Authorize(const dbus::ObjectPath& device_path,
|
| - const std::string& uuid,
|
| - const ConfirmationCallback& callback) OVERRIDE;
|
| -
|
| - // BluetoothAgentServiceProvider::Delegate override.
|
| - //
|
| - // This method will be called when the Bluetooth daemon requires that the
|
| - // user confirm that the device adapter may switch to mode |mode|. The
|
| - // agent should confirm with the user and call |callback| to provide
|
| - // their response (success, rejected or cancelled).
|
| - virtual void ConfirmModeChange(Mode mode,
|
| - const ConfirmationCallback& callback) OVERRIDE;
|
| -
|
| - // BluetoothAgentServiceProvider::Delegate override.
|
| - //
|
| - // This method will be called by the Bluetooth daemon to indicate that
|
| - // the request failed before a reply was returned from the device.
|
| - virtual void Cancel() OVERRIDE;
|
| -
|
| - // Creates a new BluetoothDeviceChromeOs object bound to the adapter
|
| - // |adapter|.
|
| - static BluetoothDeviceChromeOs* Create(BluetoothAdapterChromeOs* adapter);
|
| -
|
| - // The adapter that owns this device instance.
|
| - BluetoothAdapterChromeOs* adapter_;
|
| -
|
| - // The dbus object path of the device, will be empty if the device has only
|
| - // been discovered and not yet paired with.
|
| - dbus::ObjectPath object_path_;
|
| -
|
| - // The services (identified by UUIDs) that this device provides.
|
| - std::vector<std::string> service_uuids_;
|
| -
|
| - // During pairing this is set to an object that we don't own, but on which
|
| - // we can make method calls to request, display or confirm PIN Codes and
|
| - // Passkeys. Generally it is the object that owns this one.
|
| - BluetoothDevice::PairingDelegate* pairing_delegate_;
|
| -
|
| - // During pairing this is set to an instance of a D-Bus agent object
|
| - // intialized with our own class as its delegate.
|
| - scoped_ptr<BluetoothAgentServiceProvider> agent_;
|
| -
|
| - // During pairing these callbacks are set to those provided by method calls
|
| - // made on us by |agent_| and are called by our own method calls such as
|
| - // SetPinCode() and SetPasskey().
|
| - PinCodeCallback pincode_callback_;
|
| - PasskeyCallback passkey_callback_;
|
| - ConfirmationCallback confirmation_callback_;
|
| -
|
| - // Used to keep track of pending application connection requests.
|
| - int connecting_applications_counter_;
|
| -
|
| - // Note: This should remain the last member so it'll be destroyed and
|
| - // invalidate its weak pointers before any other members are destroyed.
|
| - base::WeakPtrFactory<BluetoothDeviceChromeOs> weak_ptr_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(BluetoothDeviceChromeOs);
|
| -};
|
| -
|
| -} // namespace chromeos
|
| -
|
| -#endif // CHROME_BROWSER_CHROMEOS_BLUETOOTH_BLUETOOTH_DEVICE_CHROMEOS_H_
|
|
|