| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/logging.h" | 5 #include "base/logging.h" |
| 6 #include "base/message_loop/message_loop.h" | 6 #include "base/message_loop/message_loop.h" |
| 7 #include "dbus/bus.h" | 7 #include "dbus/bus.h" |
| 8 #include "dbus/message.h" | 8 #include "dbus/message.h" |
| 9 #include "dbus/object_proxy.h" | 9 #include "dbus/object_proxy.h" |
| 10 #include "fake_bluetooth_le_advertisement_service_provider.h" | 10 #include "fake_bluetooth_le_advertisement_service_provider.h" |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 } | 47 } |
| 48 | 48 |
| 49 ServiceProviderMap::iterator iter = | 49 ServiceProviderMap::iterator iter = |
| 50 service_provider_map_.find(advertisement_object_path); | 50 service_provider_map_.find(advertisement_object_path); |
| 51 if (iter == service_provider_map_.end()) { | 51 if (iter == service_provider_map_.end()) { |
| 52 error_callback.Run(bluetooth_advertising_manager::kErrorInvalidArguments, | 52 error_callback.Run(bluetooth_advertising_manager::kErrorInvalidArguments, |
| 53 "Advertisement object not registered"); | 53 "Advertisement object not registered"); |
| 54 } else if (!currently_registered_.value().empty()) { | 54 } else if (!currently_registered_.value().empty()) { |
| 55 error_callback.Run(bluetooth_advertising_manager::kErrorFailed, | 55 error_callback.Run(bluetooth_advertising_manager::kErrorFailed, |
| 56 "Maximum advertisements reached"); | 56 "Maximum advertisements reached"); |
| 57 } else if (advertisement_object_path != currently_registered_) { | |
| 58 error_callback.Run(bluetooth_advertising_manager::kErrorAlreadyExists, | |
| 59 "Already advertising."); | |
| 60 } else { | 57 } else { |
| 61 currently_registered_ = advertisement_object_path; | 58 currently_registered_ = advertisement_object_path; |
| 62 base::MessageLoop::current()->PostTask(FROM_HERE, callback); | 59 base::MessageLoop::current()->PostTask(FROM_HERE, callback); |
| 63 } | 60 } |
| 64 } | 61 } |
| 65 | 62 |
| 66 void FakeBluetoothLEAdvertisingManagerClient::UnregisterAdvertisement( | 63 void FakeBluetoothLEAdvertisingManagerClient::UnregisterAdvertisement( |
| 67 const dbus::ObjectPath& manager_object_path, | 64 const dbus::ObjectPath& manager_object_path, |
| 68 const dbus::ObjectPath& advertisement_object_path, | 65 const dbus::ObjectPath& advertisement_object_path, |
| 69 const base::Closure& callback, | 66 const base::Closure& callback, |
| (...skipping 28 matching lines...) Expand all Loading... |
| 98 void FakeBluetoothLEAdvertisingManagerClient:: | 95 void FakeBluetoothLEAdvertisingManagerClient:: |
| 99 UnregisterAdvertisementServiceProvider( | 96 UnregisterAdvertisementServiceProvider( |
| 100 FakeBluetoothLEAdvertisementServiceProvider* service_provider) { | 97 FakeBluetoothLEAdvertisementServiceProvider* service_provider) { |
| 101 ServiceProviderMap::iterator iter = | 98 ServiceProviderMap::iterator iter = |
| 102 service_provider_map_.find(service_provider->object_path_); | 99 service_provider_map_.find(service_provider->object_path_); |
| 103 if (iter != service_provider_map_.end() && iter->second == service_provider) | 100 if (iter != service_provider_map_.end() && iter->second == service_provider) |
| 104 service_provider_map_.erase(iter); | 101 service_provider_map_.erase(iter); |
| 105 } | 102 } |
| 106 | 103 |
| 107 } // namespace chromeos | 104 } // namespace chromeos |
| OLD | NEW |