Commit 506d933c authored by Giovanni Ortuño Urquidi's avatar Giovanni Ortuño Urquidi Committed by Commit Bot

bluetooth: Always use DBusThreadManagerLinux or DBusThreadManager

We always end up using DBusThreadManagerLinux on Linux and
DBusThreadManager on Chrome OS. Rather than having clients pass
these when initializing BluezDBusThreadManager, have
BluezDBusThreadManager choose which one to use based on the OS.

This puts the logic for choosing which one to use in a single place.

Bug: 882771
Change-Id: I9c36eb9de8419fd5ac4bc6fbab3ded2738b33d91
Reviewed-on: https://chromium-review.googlesource.com/1237694Reviewed-by: default avatarSonny Sasaka <sonnysasaka@chromium.org>
Reviewed-by: default avatarPeter Beverloo <peter@chromium.org>
Reviewed-by: default avatarScott Violet <sky@chromium.org>
Reviewed-by: default avatarMichael Giuffrida <michaelpg@chromium.org>
Commit-Queue: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593730}
parent 177b931d
......@@ -148,10 +148,9 @@ void AshService::InitForMash() {
chromeos::PowerPolicyController::Initialize(
chromeos::DBusThreadManager::Get()->GetPowerManagerClient());
// See ChromeBrowserMainPartsChromeos for ordering details.
bluez::BluezDBusManager::Initialize(
chromeos::DBusThreadManager::Get()->GetSystemBus(),
chromeos::DBusThreadManager::Get()->IsUsingFakes());
// The initialization matches that in ChromeBrowserMainPartsChromeos.
bluez::BluezDBusManager::Initialize();
if (!chromeos::NetworkHandler::IsInitialized()) {
chromeos::NetworkHandler::Initialize();
network_handler_initialized_ = true;
......
......@@ -80,7 +80,7 @@ void ShellBrowserMainParts::PreMainMessageLoopRun() {
// is absent.
chromeos::CrasAudioHandler::InitializeForTesting();
bluez::BluezDBusManager::Initialize(nullptr, true /* use stub */);
bluez::BluezDBusManager::Initialize();
chromeos::PowerPolicyController::Initialize(
chromeos::DBusThreadManager::Get()->GetPowerManagerClient());
......
......@@ -255,9 +255,7 @@ void AshTestHelper::SetUp(bool start_session, bool provide_local_state) {
}
if (!bluez::BluezDBusManager::IsInitialized()) {
bluez::BluezDBusManager::Initialize(
chromeos::DBusThreadManager::Get()->GetSystemBus(),
chromeos::DBusThreadManager::Get()->IsUsingFakes());
bluez::BluezDBusManager::Initialize();
bluez_dbus_manager_initialized_ = true;
}
......
......@@ -99,8 +99,7 @@ void ChromeBrowserMainPartsLinux::PostProfileInit() {
void ChromeBrowserMainPartsLinux::PostMainMessageLoopStart() {
#if !defined(OS_CHROMEOS)
bluez::DBusThreadManagerLinux::Initialize();
bluez::BluezDBusManager::Initialize(
bluez::DBusThreadManagerLinux::Get()->GetSystemBus(), false);
bluez::BluezDBusManager::Initialize();
#endif
ChromeBrowserMainPartsPosix::PostMainMessageLoopStart();
......
......@@ -316,9 +316,7 @@ class DBusPreEarlyInit {
class DBusServices {
public:
explicit DBusServices(const content::MainFunctionParams& parameters) {
bluez::BluezDBusManager::Initialize(
DBusThreadManager::Get()->GetSystemBus(),
chromeos::DBusThreadManager::Get()->IsUsingFakes());
bluez::BluezDBusManager::Initialize();
if (!features::IsMultiProcessMash()) {
// In Mash, power policy is sent to powerd by ash.
......
......@@ -57,9 +57,7 @@ ViewEventTestPlatformPartChromeOS::ViewEventTestPlatformPartChromeOS(
// it is initialized by window manager service.
chromeos::PowerPolicyController::Initialize(
chromeos::DBusThreadManager::Get()->GetPowerManagerClient());
bluez::BluezDBusManager::Initialize(
chromeos::DBusThreadManager::Get()->GetSystemBus(),
chromeos::DBusThreadManager::Get()->IsUsingFakes());
bluez::BluezDBusManager::Initialize();
chromeos::CrasAudioHandler::InitializeForTesting();
chromeos::NetworkHandler::Initialize();
......
......@@ -116,9 +116,7 @@ void ShellBrowserMainParts::PreMainMessageLoopStart() {
void ShellBrowserMainParts::PostMainMessageLoopStart() {
#if defined(OS_CHROMEOS)
chromeos::DBusThreadManager::Initialize();
bluez::BluezDBusManager::Initialize(
chromeos::DBusThreadManager::Get()->GetSystemBus(),
chromeos::DBusThreadManager::Get()->IsUsingFakes());
bluez::BluezDBusManager::Initialize();
#elif defined(OS_LINUX)
bluez::DBusBluezManagerWrapperLinux::Initialize();
#endif
......
......@@ -33,8 +33,7 @@ namespace bluez {
class BluetoothAdvertisementBlueZTest : public testing::Test {
public:
void SetUp() override {
bluez::BluezDBusManager::Initialize(nullptr /* bus */,
true /* use_dbus_stub */);
bluez::BluezDBusManager::GetSetterForTesting();
callback_count_ = 0;
error_callback_count_ = 0;
......
......@@ -12,6 +12,7 @@
#include "base/memory/ptr_util.h"
#include "base/sys_info.h"
#include "base/threading/thread.h"
#include "build/build_config.h"
#include "dbus/bus.h"
#include "dbus/dbus_statistics.h"
#include "dbus/message.h"
......@@ -32,6 +33,12 @@
#include "device/bluetooth/dbus/bluetooth_profile_manager_client.h"
#include "third_party/cros_system_api/dbus/service_constants.h"
#if defined(OS_CHROMEOS)
#include "chromeos/dbus/dbus_thread_manager.h"
#elif defined(OS_LINUX)
#include "device/bluetooth/dbus/dbus_thread_manager_linux.h"
#endif
namespace bluez {
static BluezDBusManager* g_bluez_dbus_manager = nullptr;
......@@ -223,14 +230,21 @@ std::string BluezDBusManager::GetBluetoothServiceName() {
}
// static
void BluezDBusManager::Initialize(dbus::Bus* bus, bool use_dbus_stub) {
void BluezDBusManager::Initialize() {
// If we initialize BluezDBusManager twice we may also be shutting it down
// early; do not allow that.
if (g_using_bluez_dbus_manager_for_testing)
return;
CHECK(!g_bluez_dbus_manager);
CreateGlobalInstance(bus, use_dbus_stub);
#if defined(OS_CHROMEOS)
CreateGlobalInstance(chromeos::DBusThreadManager::Get()->GetSystemBus(),
chromeos::DBusThreadManager::Get()->IsUsingFakes());
#elif defined(OS_LINUX)
CreateGlobalInstance(bluez::DBusThreadManagerLinux::Get()->GetSystemBus(),
false /* use_dbus_stubs */);
#endif
}
// static
......
......@@ -61,7 +61,7 @@ class DEVICE_BLUETOOTH_EXPORT BluezDBusManager {
// This will initialize real, stub, or fake DBusClients depending on
// command-line arguments, whether Object Manager is supported and
// whether this process runs in a real or test environment.
static void Initialize(dbus::Bus* bus, bool use_dbus_fakes);
static void Initialize();
// Returns a BluezDBusManagerSetter instance that allows tests to
// replace individual D-Bus clients with their own implementations.
......
......@@ -12,9 +12,7 @@ namespace bluez {
// static
void DBusBluezManagerWrapperLinux::Initialize() {
DBusThreadManagerLinux::Initialize();
BluezDBusManager::Initialize(
bluez::DBusThreadManagerLinux::Get()->GetSystemBus(),
false /* use_dbus_stub */);
BluezDBusManager::Initialize();
}
// static
......
......@@ -124,9 +124,7 @@ void ShellBrowserMainParts::PostMainMessageLoopStart() {
chromeos::DBusThreadManager::Initialize();
chromeos::disks::DiskMountManager::Initialize();
bluez::BluezDBusManager::Initialize(
chromeos::DBusThreadManager::Get()->GetSystemBus(),
chromeos::DBusThreadManager::Get()->IsUsingFakes());
bluez::BluezDBusManager::Initialize();
chromeos::NetworkHandler::Initialize();
network_controller_.reset(new ShellNetworkController(
......@@ -144,9 +142,7 @@ void ShellBrowserMainParts::PostMainMessageLoopStart() {
ui::InitializeInputMethodForTesting();
bluez::DBusThreadManagerLinux::Initialize();
bluez::BluezDBusManager::Initialize(
bluez::DBusThreadManagerLinux::Get()->GetSystemBus(),
/*use_dbus_fakes=*/false);
bluez::BluezDBusManager::Initialize();
#else
ui::InitializeInputMethodForTesting();
#endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment