Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chromeos/dbus/fake_shill_device_client.h" | 5 #include "chromeos/dbus/fake_shill_device_client.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 27 | 27 |
| 28 std::string kSimPin = "1111"; | 28 std::string kSimPin = "1111"; |
| 29 | 29 |
| 30 void ErrorFunction(const std::string& device_path, | 30 void ErrorFunction(const std::string& device_path, |
| 31 const std::string& error_name, | 31 const std::string& error_name, |
| 32 const std::string& error_message) { | 32 const std::string& error_message) { |
| 33 LOG(ERROR) << "Shill Error for: " << device_path | 33 LOG(ERROR) << "Shill Error for: " << device_path |
| 34 << ": " << error_name << " : " << error_message; | 34 << ": " << error_name << " : " << error_message; |
| 35 } | 35 } |
| 36 | 36 |
| 37 void PostNotFoundError( | 37 void PostError(const std::string& error, |
| 38 const ShillDeviceClient::ErrorCallback& error_callback) { | 38 const ShillDeviceClient::ErrorCallback& error_callback) { |
| 39 std::string error_message("Failed"); | |
| 40 base::MessageLoop::current()->PostTask( | 39 base::MessageLoop::current()->PostTask( |
| 41 FROM_HERE, | 40 FROM_HERE, base::Bind(error_callback, error, "Failed")); |
|
pneubeck (no reviews)
2015/03/27 18:26:46
I don't feel particularly confident in Bind + cons
stevenjb
2015/03/27 23:18:04
I'm pretty sure it will get converted to a string,
| |
| 42 base::Bind(error_callback, shill::kErrorResultNotFound, error_message)); | 41 } |
| 42 | |
| 43 void PostNotFoundError(const ShillDeviceClient::ErrorCallback& error_callback) { | |
| 44 PostError(shill::kErrorResultNotFound, error_callback); | |
| 45 } | |
| 46 | |
| 47 bool IsReadOnlyProperty(const std::string& name) { | |
| 48 if (name == shill::kCarrierProperty) | |
| 49 return true; | |
| 50 return false; | |
| 43 } | 51 } |
| 44 | 52 |
| 45 } // namespace | 53 } // namespace |
| 46 | 54 |
| 47 FakeShillDeviceClient::FakeShillDeviceClient() | 55 FakeShillDeviceClient::FakeShillDeviceClient() |
| 48 : initial_tdls_busy_count_(0), | 56 : initial_tdls_busy_count_(0), |
| 49 tdls_busy_count_(0), | 57 tdls_busy_count_(0), |
| 50 weak_ptr_factory_(this) { | 58 weak_ptr_factory_(this) { |
| 51 } | 59 } |
| 52 | 60 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 85 const dbus::ObjectPath& device_path, | 93 const dbus::ObjectPath& device_path, |
| 86 const VoidDBusMethodCallback& callback) { | 94 const VoidDBusMethodCallback& callback) { |
| 87 PostVoidCallback(callback, DBUS_METHOD_CALL_SUCCESS); | 95 PostVoidCallback(callback, DBUS_METHOD_CALL_SUCCESS); |
| 88 } | 96 } |
| 89 | 97 |
| 90 void FakeShillDeviceClient::SetProperty(const dbus::ObjectPath& device_path, | 98 void FakeShillDeviceClient::SetProperty(const dbus::ObjectPath& device_path, |
| 91 const std::string& name, | 99 const std::string& name, |
| 92 const base::Value& value, | 100 const base::Value& value, |
| 93 const base::Closure& callback, | 101 const base::Closure& callback, |
| 94 const ErrorCallback& error_callback) { | 102 const ErrorCallback& error_callback) { |
| 103 if (IsReadOnlyProperty(name)) | |
| 104 PostError(shill::kErrorResultInvalidArguments, error_callback); | |
| 105 AlwaysSetProperty(device_path, name, value, callback, error_callback); | |
| 106 } | |
| 107 | |
| 108 void FakeShillDeviceClient::AlwaysSetProperty( | |
| 109 const dbus::ObjectPath& device_path, | |
| 110 const std::string& name, | |
| 111 const base::Value& value, | |
| 112 const base::Closure& callback, | |
| 113 const ErrorCallback& error_callback) { | |
| 95 base::DictionaryValue* device_properties = NULL; | 114 base::DictionaryValue* device_properties = NULL; |
| 96 if (!stub_devices_.GetDictionaryWithoutPathExpansion(device_path.value(), | 115 if (!stub_devices_.GetDictionaryWithoutPathExpansion(device_path.value(), |
| 97 &device_properties)) { | 116 &device_properties)) { |
| 98 PostNotFoundError(error_callback); | 117 PostNotFoundError(error_callback); |
| 99 return; | 118 return; |
| 100 } | 119 } |
| 101 device_properties->SetWithoutPathExpansion(name, value.DeepCopy()); | 120 device_properties->SetWithoutPathExpansion(name, value.DeepCopy()); |
| 102 base::MessageLoop::current()->PostTask( | 121 base::MessageLoop::current()->PostTask( |
| 103 FROM_HERE, | 122 FROM_HERE, |
| 104 base::Bind(&FakeShillDeviceClient::NotifyObserversPropertyChanged, | 123 base::Bind(&FakeShillDeviceClient::NotifyObserversPropertyChanged, |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 218 PostNotFoundError(error_callback); | 237 PostNotFoundError(error_callback); |
| 219 return; | 238 return; |
| 220 } | 239 } |
| 221 base::MessageLoop::current()->PostTask(FROM_HERE, callback); | 240 base::MessageLoop::current()->PostTask(FROM_HERE, callback); |
| 222 } | 241 } |
| 223 | 242 |
| 224 void FakeShillDeviceClient::SetCarrier(const dbus::ObjectPath& device_path, | 243 void FakeShillDeviceClient::SetCarrier(const dbus::ObjectPath& device_path, |
| 225 const std::string& carrier, | 244 const std::string& carrier, |
| 226 const base::Closure& callback, | 245 const base::Closure& callback, |
| 227 const ErrorCallback& error_callback) { | 246 const ErrorCallback& error_callback) { |
| 228 if (!stub_devices_.HasKey(device_path.value())) { | 247 AlwaysSetProperty(device_path, shill::kCarrierProperty, |
| 229 PostNotFoundError(error_callback); | 248 base::StringValue(carrier), callback, error_callback); |
| 230 return; | |
| 231 } | |
| 232 base::MessageLoop::current()->PostTask(FROM_HERE, callback); | |
| 233 } | 249 } |
| 234 | 250 |
| 235 void FakeShillDeviceClient::Reset(const dbus::ObjectPath& device_path, | 251 void FakeShillDeviceClient::Reset(const dbus::ObjectPath& device_path, |
| 236 const base::Closure& callback, | 252 const base::Closure& callback, |
| 237 const ErrorCallback& error_callback) { | 253 const ErrorCallback& error_callback) { |
| 238 if (!stub_devices_.HasKey(device_path.value())) { | 254 if (!stub_devices_.HasKey(device_path.value())) { |
| 239 PostNotFoundError(error_callback); | 255 PostNotFoundError(error_callback); |
| 240 return; | 256 return; |
| 241 } | 257 } |
| 242 base::MessageLoop::current()->PostTask(FROM_HERE, callback); | 258 base::MessageLoop::current()->PostTask(FROM_HERE, callback); |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 472 std::map<dbus::ObjectPath, PropertyObserverList*>::iterator iter = | 488 std::map<dbus::ObjectPath, PropertyObserverList*>::iterator iter = |
| 473 observer_list_.find(device_path); | 489 observer_list_.find(device_path); |
| 474 if (iter != observer_list_.end()) | 490 if (iter != observer_list_.end()) |
| 475 return *(iter->second); | 491 return *(iter->second); |
| 476 PropertyObserverList* observer_list = new PropertyObserverList(); | 492 PropertyObserverList* observer_list = new PropertyObserverList(); |
| 477 observer_list_[device_path] = observer_list; | 493 observer_list_[device_path] = observer_list; |
| 478 return *observer_list; | 494 return *observer_list; |
| 479 } | 495 } |
| 480 | 496 |
| 481 } // namespace chromeos | 497 } // namespace chromeos |
| OLD | NEW |