1 // Copyright 2013 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 DEVICE_BLUETOOTH_BLUETOOTH_PROFILE_WIN_H_
6 #define DEVICE_BLUETOOTH_BLUETOOTH_PROFILE_WIN_H_
10 #include "device/bluetooth/bluetooth_profile.h"
11 #include "device/bluetooth/bluetooth_uuid.h"
12 #include "net/base/net_log.h"
16 class BluetoothDeviceWin
;
17 class BluetoothSocketThreadWin
;
19 class BluetoothProfileWin
: public BluetoothProfile
{
21 // BluetoothProfile override.
22 virtual void Unregister() OVERRIDE
;
23 virtual void SetConnectionCallback(
24 const ConnectionCallback
& callback
) OVERRIDE
;
26 typedef base::Callback
<void(const std::string
&)> ErrorCallback
;
28 void Connect(const BluetoothDeviceWin
* device
,
29 scoped_refptr
<base::SequencedTaskRunner
> ui_task_runner
,
30 scoped_refptr
<BluetoothSocketThreadWin
> socket_thread
,
32 const net::NetLog::Source
& source
,
33 const base::Closure
& callback
,
34 const ErrorCallback
& error_callback
);
37 friend BluetoothProfile
;
39 BluetoothProfileWin(const BluetoothUUID
& uuid
, const std::string
& name
);
40 virtual ~BluetoothProfileWin();
42 const BluetoothUUID uuid_
;
43 const std::string name_
;
44 ConnectionCallback connection_callback_
;
46 DISALLOW_COPY_AND_ASSIGN(BluetoothProfileWin
);
51 #endif // DEVICE_BLUETOOTH_BLUETOOTH_PROFILE_WIN_H_