diff options
Diffstat (limited to 'chromeos')
6 files changed, 18 insertions, 21 deletions
diff --git a/chromeos/dbus/bluetooth_le_advertisement_service_provider.cc b/chromeos/dbus/bluetooth_le_advertisement_service_provider.cc index aa3f234..f6a4c44 100644 --- a/chromeos/dbus/bluetooth_le_advertisement_service_provider.cc +++ b/chromeos/dbus/bluetooth_le_advertisement_service_provider.cc @@ -37,7 +37,6 @@ class BluetoothAdvertisementServiceProviderImpl : origin_thread_id_(base::PlatformThread::CurrentId()), bus_(bus), delegate_(delegate), - object_path_(object_path), type_(type), service_uuids_(service_uuids.Pass()), manufacturer_data_(manufacturer_data.Pass()), @@ -49,6 +48,7 @@ class BluetoothAdvertisementServiceProviderImpl VLOG(1) << "Creating Bluetooth Advertisement: " << object_path_.value(); + object_path_ = object_path; exported_object_ = bus_->GetExportedObject(object_path_); // Export Bluetooth Advertisement interface methods. @@ -358,10 +358,6 @@ class BluetoothAdvertisementServiceProviderImpl // owns this one, and must outlive it. Delegate* delegate_; - // D-Bus object path of object we are exporting, kept so we can unregister - // again in our destructor. - dbus::ObjectPath object_path_; - // Advertisement data that needs to be provided to BlueZ when requested. AdvertisementType type_; scoped_ptr<UUIDList> service_uuids_; @@ -391,7 +387,7 @@ BluetoothLEAdvertisementServiceProvider:: } // static -BluetoothLEAdvertisementServiceProvider* +scoped_ptr<BluetoothLEAdvertisementServiceProvider> BluetoothLEAdvertisementServiceProvider::Create( dbus::Bus* bus, const dbus::ObjectPath& object_path, @@ -402,12 +398,12 @@ BluetoothLEAdvertisementServiceProvider::Create( scoped_ptr<UUIDList> solicit_uuids, scoped_ptr<ServiceData> service_data) { if (!DBusThreadManager::Get()->IsUsingStub(DBusClientBundle::BLUETOOTH)) { - return new BluetoothAdvertisementServiceProviderImpl( + return make_scoped_ptr(new BluetoothAdvertisementServiceProviderImpl( bus, object_path, delegate, type, service_uuids.Pass(), - manufacturer_data.Pass(), solicit_uuids.Pass(), service_data.Pass()); + manufacturer_data.Pass(), solicit_uuids.Pass(), service_data.Pass())); } else { - return new FakeBluetoothLEAdvertisementServiceProvider(object_path, - delegate); + return make_scoped_ptr( + new FakeBluetoothLEAdvertisementServiceProvider(object_path, delegate)); } } diff --git a/chromeos/dbus/bluetooth_le_advertisement_service_provider.h b/chromeos/dbus/bluetooth_le_advertisement_service_provider.h index 4cea5d8..98622a2 100644 --- a/chromeos/dbus/bluetooth_le_advertisement_service_provider.h +++ b/chromeos/dbus/bluetooth_le_advertisement_service_provider.h @@ -50,11 +50,13 @@ class CHROMEOS_EXPORT BluetoothLEAdvertisementServiceProvider { virtual ~BluetoothLEAdvertisementServiceProvider(); + const dbus::ObjectPath& object_path() { return object_path_; } + // Creates the instance where |bus| is the D-Bus bus connection to export // the object onto, |object_path| is the object path that it should have // and |delegate| is the object to which all method calls will be passed // and responses generated from. - static BluetoothLEAdvertisementServiceProvider* Create( + static scoped_ptr<BluetoothLEAdvertisementServiceProvider> Create( dbus::Bus* bus, const dbus::ObjectPath& object_path, Delegate* delegate, @@ -67,6 +69,10 @@ class CHROMEOS_EXPORT BluetoothLEAdvertisementServiceProvider { protected: BluetoothLEAdvertisementServiceProvider(); + // D-Bus object path of object we are exporting, kept so we can unregister + // again in our destructor. + dbus::ObjectPath object_path_; + private: DISALLOW_COPY_AND_ASSIGN(BluetoothLEAdvertisementServiceProvider); }; diff --git a/chromeos/dbus/fake_bluetooth_le_advertisement_service_provider.cc b/chromeos/dbus/fake_bluetooth_le_advertisement_service_provider.cc index 24bfb4f..ce46e3d 100644 --- a/chromeos/dbus/fake_bluetooth_le_advertisement_service_provider.cc +++ b/chromeos/dbus/fake_bluetooth_le_advertisement_service_provider.cc @@ -3,8 +3,8 @@ // found in the LICENSE file. #include "chromeos/dbus/dbus_thread_manager.h" -#include "fake_bluetooth_le_advertisement_service_provider.h" -#include "fake_bluetooth_le_advertising_manager_client.h" +#include "chromeos/dbus/fake_bluetooth_le_advertisement_service_provider.h" +#include "chromeos/dbus/fake_bluetooth_le_advertising_manager_client.h" namespace chromeos { @@ -12,7 +12,8 @@ FakeBluetoothLEAdvertisementServiceProvider:: FakeBluetoothLEAdvertisementServiceProvider( const dbus::ObjectPath& object_path, Delegate* delegate) - : object_path_(object_path), delegate_(delegate) { + : delegate_(delegate) { + object_path_ = object_path; VLOG(1) << "Creating Bluetooth Advertisement: " << object_path_.value(); FakeBluetoothLEAdvertisingManagerClient* diff --git a/chromeos/dbus/fake_bluetooth_le_advertisement_service_provider.h b/chromeos/dbus/fake_bluetooth_le_advertisement_service_provider.h index c56abb4..5a19aee 100644 --- a/chromeos/dbus/fake_bluetooth_le_advertisement_service_provider.h +++ b/chromeos/dbus/fake_bluetooth_le_advertisement_service_provider.h @@ -36,9 +36,6 @@ class CHROMEOS_EXPORT FakeBluetoothLEAdvertisementServiceProvider private: friend class FakeBluetoothLEAdvertisingManagerClient; - // D-Bus object path we are faking. - dbus::ObjectPath object_path_; - // All incoming method calls are passed on to the Delegate and a callback // passed to generate the reply. |delegate_| is generally the object that // owns this one, and must outlive it. diff --git a/chromeos/dbus/fake_bluetooth_le_advertising_manager_client.cc b/chromeos/dbus/fake_bluetooth_le_advertising_manager_client.cc index 8145d1c..5702832 100644 --- a/chromeos/dbus/fake_bluetooth_le_advertising_manager_client.cc +++ b/chromeos/dbus/fake_bluetooth_le_advertising_manager_client.cc @@ -54,9 +54,6 @@ void FakeBluetoothLEAdvertisingManagerClient::RegisterAdvertisement( } else if (!currently_registered_.value().empty()) { error_callback.Run(bluetooth_advertising_manager::kErrorFailed, "Maximum advertisements reached"); - } else if (advertisement_object_path != currently_registered_) { - error_callback.Run(bluetooth_advertising_manager::kErrorAlreadyExists, - "Already advertising."); } else { currently_registered_ = advertisement_object_path; base::MessageLoop::current()->PostTask(FROM_HERE, callback); diff --git a/chromeos/dbus/fake_bluetooth_le_advertising_manager_client.h b/chromeos/dbus/fake_bluetooth_le_advertising_manager_client.h index ff340e8..5df129c 100644 --- a/chromeos/dbus/fake_bluetooth_le_advertising_manager_client.h +++ b/chromeos/dbus/fake_bluetooth_le_advertising_manager_client.h @@ -11,8 +11,8 @@ #include "base/bind.h" #include "base/callback.h" #include "base/observer_list.h" -#include "bluetooth_le_advertising_manager_client.h" #include "chromeos/chromeos_export.h" +#include "chromeos/dbus/bluetooth_le_advertising_manager_client.h" #include "dbus/object_path.h" #include "dbus/property.h" |