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
3 // found in the LICENSE file.
5 #ifndef EXTENSIONS_BROWSER_API_BLUETOOTH_BLUETOOTH_API_PAIRING_DELEGATE_H_
6 #define EXTENSIONS_BROWSER_API_BLUETOOTH_BLUETOOTH_API_PAIRING_DELEGATE_H_
10 #include "device/bluetooth/bluetooth_device.h"
11 #include "extensions/common/api/bluetooth_private.h"
17 namespace extensions {
19 // A pairing delegate to dispatch incoming Bluetooth pairing events to the API
21 class BluetoothApiPairingDelegate
22 : public device::BluetoothDevice::PairingDelegate {
24 BluetoothApiPairingDelegate(const std::string& extension_id,
25 content::BrowserContext* browser_context);
26 virtual ~BluetoothApiPairingDelegate();
28 // device::PairingDelegate overrides:
29 virtual void RequestPinCode(device::BluetoothDevice* device) OVERRIDE;
30 virtual void RequestPasskey(device::BluetoothDevice* device) OVERRIDE;
31 virtual void DisplayPinCode(device::BluetoothDevice* device,
32 const std::string& pincode) OVERRIDE;
33 virtual void DisplayPasskey(device::BluetoothDevice* device,
34 uint32 passkey) OVERRIDE;
35 virtual void KeysEntered(device::BluetoothDevice* device,
36 uint32 entered) OVERRIDE;
37 virtual void ConfirmPasskey(device::BluetoothDevice* device,
38 uint32 passkey) OVERRIDE;
39 virtual void AuthorizePairing(device::BluetoothDevice* device) OVERRIDE;
42 // Dispatches a pairing event to the extension.
43 void DispatchPairingEvent(
44 const core_api::bluetooth_private::PairingEvent& pairing_event);
46 std::string extension_id_;
47 content::BrowserContext* browser_context_;
50 } // namespace extensions
52 #endif // EXTENSIONS_BROWSER_API_BLUETOOTH_BLUETOOTH_API_PAIRING_DELEGATE_H_