1// Copyright (c) 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#include "chromeos/dbus/fake_bluetooth_profile_service_provider.h" 6 7#include "chromeos/dbus/dbus_thread_manager.h" 8#include "chromeos/dbus/fake_bluetooth_profile_manager_client.h" 9#include "dbus/object_path.h" 10 11namespace chromeos { 12 13FakeBluetoothProfileServiceProvider::FakeBluetoothProfileServiceProvider( 14 const dbus::ObjectPath& object_path, 15 Delegate* delegate) 16 : object_path_(object_path), 17 delegate_(delegate) { 18 VLOG(1) << "Creating Bluetooth Profile: " << object_path_.value(); 19 20 FakeBluetoothProfileManagerClient* fake_bluetooth_profile_manager_client = 21 static_cast<FakeBluetoothProfileManagerClient*>( 22 DBusThreadManager::Get()->GetBluetoothProfileManagerClient()); 23 fake_bluetooth_profile_manager_client->RegisterProfileServiceProvider(this); 24} 25 26FakeBluetoothProfileServiceProvider::~FakeBluetoothProfileServiceProvider() { 27 VLOG(1) << "Cleaning up Bluetooth Profile: " << object_path_.value(); 28 29 FakeBluetoothProfileManagerClient* fake_bluetooth_profile_manager_client = 30 static_cast<FakeBluetoothProfileManagerClient*>( 31 DBusThreadManager::Get()->GetBluetoothProfileManagerClient()); 32 fake_bluetooth_profile_manager_client->UnregisterProfileServiceProvider(this); 33} 34 35void FakeBluetoothProfileServiceProvider::Release() { 36 VLOG(1) << object_path_.value() << ": Release"; 37 delegate_->Released(); 38} 39 40void FakeBluetoothProfileServiceProvider::NewConnection( 41 const dbus::ObjectPath& device_path, 42 scoped_ptr<dbus::FileDescriptor> fd, 43 const Delegate::Options& options, 44 const Delegate::ConfirmationCallback& callback) { 45 VLOG(1) << object_path_.value() << ": NewConnection for " 46 << device_path.value(); 47 delegate_->NewConnection(device_path, fd.Pass(), options, callback); 48} 49 50void FakeBluetoothProfileServiceProvider::RequestDisconnection( 51 const dbus::ObjectPath& device_path, 52 const Delegate::ConfirmationCallback& callback) { 53 VLOG(1) << object_path_.value() << ": RequestDisconnection for " 54 << device_path.value(); 55 delegate_->RequestDisconnection(device_path, callback); 56} 57 58void FakeBluetoothProfileServiceProvider::Cancel() { 59 VLOG(1) << object_path_.value() << ": Cancel"; 60 delegate_->Cancel(); 61} 62 63} // namespace chromeos 64