diff options
author | tommycli <tommycli@chromium.org> | 2015-11-04 09:07:14 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-11-04 17:08:15 +0000 |
commit | b391a8d38a119bb6625f1429c262c46960d52580 (patch) | |
tree | 9910ddf3cfc878a75f998acb215bea9801abbd9b /chromeos/dbus/fake_bluetooth_agent_manager_client.cc | |
parent | 38cb3fcf4e18ce504aa08ad8bb0ccc220e14a8e2 (diff) | |
download | chromium_src-b391a8d38a119bb6625f1429c262c46960d52580.zip chromium_src-b391a8d38a119bb6625f1429c262c46960d52580.tar.gz chromium_src-b391a8d38a119bb6625f1429c262c46960d52580.tar.bz2 |
Revert of Reland: Refactor DBusThreadManager to split away BT clients. (patchset #1 id:1 of https://codereview.chromium.org/1411793010/ )
Reason for revert:
Crashes memory bot http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20%28valgrind%29%284%29
Original issue's description:
> Reland: Refactor DBusThreadManager to split away BT clients.
>
> This is a reland of https://codereview.chromium.org/1347193004/
>
> This CL doesn't change any of the code except for merge and lint changes.
>
> The original CL was triggering a test crash in Valgrind. On this patch,
> I've run Valgrind multiple times locally and also additionally run TSan.
> Since I am seeing no failures, after talking to glider@ (who works on
> Valgrind), I'm attempting to re-land this CL.
>
> TBR=armansito@chromium.org, glider@chromium.org, isherman@chromium.org, oshima@chromium.org, sky@chromium.org, stevenjb@chromium.org
> BUG=None.
>
> Committed: https://crrev.com/3c56b94daaf6513891e7da3094ab5054ffbd6262
> Cr-Commit-Position: refs/heads/master@{#357707}
TBR=armansito@chromium.org,glider@chromium.org,isherman@chromium.org,oshima@chromium.org,sky@chromium.org,stevenjb@chromium.org,rkc@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=None.
Review URL: https://codereview.chromium.org/1409383004
Cr-Commit-Position: refs/heads/master@{#357834}
Diffstat (limited to 'chromeos/dbus/fake_bluetooth_agent_manager_client.cc')
-rw-r--r-- | chromeos/dbus/fake_bluetooth_agent_manager_client.cc | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/chromeos/dbus/fake_bluetooth_agent_manager_client.cc b/chromeos/dbus/fake_bluetooth_agent_manager_client.cc new file mode 100644 index 0000000..4ced274 --- /dev/null +++ b/chromeos/dbus/fake_bluetooth_agent_manager_client.cc @@ -0,0 +1,78 @@ +// Copyright (c) 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chromeos/dbus/fake_bluetooth_agent_manager_client.h" + +#include "base/logging.h" +#include "chromeos/dbus/fake_bluetooth_agent_service_provider.h" +#include "third_party/cros_system_api/dbus/service_constants.h" + +namespace chromeos { + +FakeBluetoothAgentManagerClient::FakeBluetoothAgentManagerClient() + : service_provider_(NULL) {} + +FakeBluetoothAgentManagerClient::~FakeBluetoothAgentManagerClient() {} + +void FakeBluetoothAgentManagerClient::Init(dbus::Bus* bus) {} + +void FakeBluetoothAgentManagerClient::RegisterAgent( + const dbus::ObjectPath& agent_path, + const std::string& capability, + const base::Closure& callback, + const ErrorCallback& error_callback) { + VLOG(1) << "RegisterAgent: " << agent_path.value(); + + if (service_provider_ == NULL) { + error_callback.Run(bluetooth_agent_manager::kErrorInvalidArguments, + "No agent created"); + } else if (service_provider_->object_path_ != agent_path) { + error_callback.Run(bluetooth_agent_manager::kErrorAlreadyExists, + "Agent already registered"); + } else { + callback.Run(); + } +} + +void FakeBluetoothAgentManagerClient::UnregisterAgent( + const dbus::ObjectPath& agent_path, + const base::Closure& callback, + const ErrorCallback& error_callback) { + VLOG(1) << "UnregisterAgent: " << agent_path.value(); + if (service_provider_ == NULL) { + error_callback.Run(bluetooth_agent_manager::kErrorDoesNotExist, + "No agent registered"); + } else if (service_provider_->object_path_ != agent_path) { + error_callback.Run(bluetooth_agent_manager::kErrorDoesNotExist, + "Agent still registered"); + } else { + callback.Run(); + } +} + +void FakeBluetoothAgentManagerClient::RequestDefaultAgent( + const dbus::ObjectPath& agent_path, + const base::Closure& callback, + const ErrorCallback& error_callback) { + VLOG(1) << "RequestDefaultAgent: " << agent_path.value(); + callback.Run(); +} + +void FakeBluetoothAgentManagerClient::RegisterAgentServiceProvider( + FakeBluetoothAgentServiceProvider* service_provider) { + service_provider_ = service_provider; +} + +void FakeBluetoothAgentManagerClient::UnregisterAgentServiceProvider( + FakeBluetoothAgentServiceProvider* service_provider) { + if (service_provider_ == service_provider) + service_provider_ = NULL; +} + +FakeBluetoothAgentServiceProvider* +FakeBluetoothAgentManagerClient::GetAgentServiceProvider() { + return service_provider_; +} + +} // namespace chromeos |