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. 4 5 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_PROFILE_MAC_H_ 6 #define DEVICE_BLUETOOTH_BLUETOOTH_PROFILE_MAC_H_ 7 8 #include <string> 9 10 #include "base/basictypes.h" 11 #include "base/callback.h" 12 #include "device/bluetooth/bluetooth_profile.h" 13 14 #ifdef __OBJC__ 15 @class IOBluetoothDevice; 16 #else 17 class IOBluetoothDevice; 18 #endif 19 20 namespace device { 21 22 class BluetoothProfileMac : public BluetoothProfile { 23 public: 24 // BluetoothProfile override. 25 virtual void Unregister() OVERRIDE; 26 virtual void SetConnectionCallback( 27 const ConnectionCallback& callback) OVERRIDE; 28 29 // Makes an outgoing connection to |device|. 30 // This method runs |socket_callback_| with the socket and returns true if the 31 // connection is made successfully. 32 bool Connect(IOBluetoothDevice* device); 33 34 private: 35 friend BluetoothProfile; 36 37 BluetoothProfileMac(const std::string& uuid, const std::string& name); 38 virtual ~BluetoothProfileMac(); 39 40 const std::string uuid_; 41 const std::string name_; 42 ConnectionCallback connection_callback_; 43 }; 44 45 } // namespace device 46 47 #endif // DEVICE_BLUETOOTH_BLUETOOTH_PROFILE_MAC_H_ 48