| Index: chromeos/dbus/bluetooth_out_of_band_client.h
|
| diff --git a/chromeos/dbus/bluetooth_out_of_band_client.h b/chromeos/dbus/bluetooth_out_of_band_client.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..858ce895c714ff9dcd5ca303ffb632212e5d3f6a
|
| --- /dev/null
|
| +++ b/chromeos/dbus/bluetooth_out_of_band_client.h
|
| @@ -0,0 +1,77 @@
|
| +// 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 CHROMEOS_DBUS_BLUETOOTH_OUT_OF_BAND_CLIENT_H_
|
| +#define CHROMEOS_DBUS_BLUETOOTH_OUT_OF_BAND_CLIENT_H_
|
| +#pragma once
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/callback.h"
|
| +#include "chromeos/chromeos_export.h"
|
| +#include "chromeos/dbus/dbus_client_implementation_type.h"
|
| +#include "dbus/object_path.h"
|
| +
|
| +namespace dbus {
|
| +class Bus;
|
| +} // namespace dbus
|
| +
|
| +namespace chromeos {
|
| +
|
| +static const size_t kBluetoothOutOfBandPairingDataSize = 16;
|
| +
|
| +struct BluetoothOutOfBandPairingData {
|
| + // Simple Pairing Hash C
|
| + uint8_t hash[kBluetoothOutOfBandPairingDataSize];
|
| +
|
| + // Simple Pairing Randomizer R
|
| + uint8_t randomizer[kBluetoothOutOfBandPairingDataSize];
|
| +};
|
| +
|
| +// BluetoothOutOfBandClient is used to manage Out Of Band Pairing
|
| +// Data for the local adapter and remote devices.
|
| +class CHROMEOS_EXPORT BluetoothOutOfBandClient {
|
| + public:
|
| + virtual ~BluetoothOutOfBandClient();
|
| +
|
| + typedef base::Callback<void(const BluetoothOutOfBandPairingData& data,
|
| + bool success)> DataCallback;
|
| +
|
| + typedef base::Callback<void(bool success)> SuccessCallback;
|
| +
|
| + // Read the local Out Of Band Pairing Data and return it in |callback|.
|
| + virtual void ReadLocalData(
|
| + const dbus::ObjectPath& object_path,
|
| + const DataCallback& callback) = 0;
|
| +
|
| + // Set the Out Of Band Pairing Data for the device at |address| to |data|,
|
| + // indicating success via |callback|. Makes a copy of |data|.
|
| + virtual void AddRemoteData(
|
| + const dbus::ObjectPath& object_path,
|
| + const std::string& address,
|
| + const BluetoothOutOfBandPairingData& data,
|
| + const SuccessCallback& callback) = 0;
|
| +
|
| + // Clear the Out Of Band Pairing Data for the device at |address|, indicating
|
| + // success via |callback|.
|
| + virtual void RemoveRemoteData(
|
| + const dbus::ObjectPath& object_path,
|
| + const std::string& address,
|
| + const SuccessCallback& callback) = 0;
|
| +
|
| + // Creates the instance.
|
| + static BluetoothOutOfBandClient* Create(
|
| + DBusClientImplementationType type,
|
| + dbus::Bus* bus);
|
| +
|
| + protected:
|
| + BluetoothOutOfBandClient();
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(BluetoothOutOfBandClient);
|
| +};
|
| +
|
| +} // namespace chromeos
|
| +
|
| +#endif // CHROMEOS_DBUS_BLUETOOTH_OUT_OF_BAND_CLIENT_H_
|
|
|