bluetooth_device_win.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright (c) 2012 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. 4 5#ifndef DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_WIN_H_ 6#define DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_WIN_H_ 7 8#include <string> 9#include <vector> 10 11#include "base/basictypes.h" 12#include "device/bluetooth/bluetooth_device.h" 13#include "device/bluetooth/bluetooth_task_manager_win.h" 14 15namespace device { 16 17class BluetoothAdapterWin; 18 19class BluetoothDeviceWin : public BluetoothDevice { 20 public: 21 explicit BluetoothDeviceWin( 22 const BluetoothTaskManagerWin::DeviceState& state); 23 virtual ~BluetoothDeviceWin(); 24 25 void SetVisible(bool visible); 26 27 // BluetoothDevice override 28 virtual bool IsPaired() const OVERRIDE; 29 virtual const ServiceList& GetServices() const OVERRIDE; 30 virtual void GetServiceRecords( 31 const ServiceRecordsCallback& callback, 32 const ErrorCallback& error_callback) OVERRIDE; 33 virtual void ProvidesServiceWithName( 34 const std::string& name, 35 const ProvidesServiceCallback& callback) OVERRIDE; 36 virtual bool ExpectingPinCode() const OVERRIDE; 37 virtual bool ExpectingPasskey() const OVERRIDE; 38 virtual bool ExpectingConfirmation() const OVERRIDE; 39 virtual void Connect( 40 PairingDelegate* pairing_delegate, 41 const base::Closure& callback, 42 const ConnectErrorCallback& error_callback) OVERRIDE; 43 virtual void SetPinCode(const std::string& pincode) OVERRIDE; 44 virtual void SetPasskey(uint32 passkey) OVERRIDE; 45 virtual void ConfirmPairing() OVERRIDE; 46 virtual void RejectPairing() OVERRIDE; 47 virtual void CancelPairing() OVERRIDE; 48 virtual void Disconnect( 49 const base::Closure& callback, 50 const ErrorCallback& error_callback) OVERRIDE; 51 virtual void Forget(const ErrorCallback& error_callback) OVERRIDE; 52 virtual void ConnectToService( 53 const std::string& service_uuid, 54 const SocketCallback& callback) OVERRIDE; 55 virtual void SetOutOfBandPairingData( 56 const BluetoothOutOfBandPairingData& data, 57 const base::Closure& callback, 58 const ErrorCallback& error_callback) OVERRIDE; 59 virtual void ClearOutOfBandPairingData( 60 const base::Closure& callback, 61 const ErrorCallback& error_callback) OVERRIDE; 62 63 private: 64 friend class BluetoothAdapterWin; 65 66 // Computes the fingerprint that can be used to compare the devices. 67 static uint32 ComputeDeviceFingerprint( 68 const BluetoothTaskManagerWin::DeviceState& state); 69 70 uint32 device_fingerprint() const { 71 return device_fingerprint_; 72 } 73 74 // Used to compare the devices. 75 uint32 device_fingerprint_; 76 ServiceRecordList service_record_list_; 77 78 DISALLOW_COPY_AND_ASSIGN(BluetoothDeviceWin); 79}; 80 81} // namespace device 82 83#endif // DEVICE_BLUETOOTH_BLUETOOTH_DEVICE_WIN_H_ 84