Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(114)

Side by Side Diff: chromeos/dbus/fake_shill_device_client.cc

Issue 1028243007: Call Device.SetCarrier when the ONC Carrier property is specified. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@onc_clang
Patch Set: Fix components_unittests Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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"
11 #include "base/stl_util.h" 11 #include "base/stl_util.h"
12 #include "base/values.h" 12 #include "base/values.h"
13 #include "chromeos/dbus/dbus_thread_manager.h" 13 #include "chromeos/dbus/dbus_thread_manager.h"
14 #include "chromeos/dbus/shill_manager_client.h" 14 #include "chromeos/dbus/shill_manager_client.h"
15 #include "chromeos/dbus/shill_property_changed_observer.h" 15 #include "chromeos/dbus/shill_property_changed_observer.h"
16 #include "dbus/bus.h" 16 #include "dbus/bus.h"
17 #include "dbus/message.h" 17 #include "dbus/message.h"
18 #include "dbus/object_path.h" 18 #include "dbus/object_path.h"
19 #include "dbus/object_proxy.h" 19 #include "dbus/object_proxy.h"
20 #include "dbus/values_util.h" 20 #include "dbus/values_util.h"
21 #include "net/base/ip_endpoint.h" 21 #include "net/base/ip_endpoint.h"
22 #include "third_party/cros_system_api/dbus/service_constants.h" 22 #include "third_party/cros_system_api/dbus/service_constants.h"
23 23
24 namespace chromeos { 24 namespace chromeos {
25 25
26 namespace { 26 namespace {
27 27
28 std::string kSimPin = "1111"; 28 std::string kSimPin = "1111";
29 std::string kFailedMessage = "Failed";
29 30
30 void ErrorFunction(const std::string& device_path, 31 void ErrorFunction(const std::string& device_path,
31 const std::string& error_name, 32 const std::string& error_name,
32 const std::string& error_message) { 33 const std::string& error_message) {
33 LOG(ERROR) << "Shill Error for: " << device_path 34 LOG(ERROR) << "Shill Error for: " << device_path
34 << ": " << error_name << " : " << error_message; 35 << ": " << error_name << " : " << error_message;
35 } 36 }
36 37
37 void PostNotFoundError( 38 void PostError(const std::string& error,
38 const ShillDeviceClient::ErrorCallback& error_callback) { 39 const ShillDeviceClient::ErrorCallback& error_callback) {
39 std::string error_message("Failed");
40 base::MessageLoop::current()->PostTask( 40 base::MessageLoop::current()->PostTask(
41 FROM_HERE, 41 FROM_HERE, base::Bind(error_callback, error, kFailedMessage));
42 base::Bind(error_callback, shill::kErrorResultNotFound, error_message)); 42 }
43
44 void PostNotFoundError(const ShillDeviceClient::ErrorCallback& error_callback) {
45 PostError(shill::kErrorResultNotFound, error_callback);
46 }
47
48 bool IsReadOnlyProperty(const std::string& name) {
49 if (name == shill::kCarrierProperty)
50 return true;
51 return false;
43 } 52 }
44 53
45 } // namespace 54 } // namespace
46 55
47 FakeShillDeviceClient::FakeShillDeviceClient() 56 FakeShillDeviceClient::FakeShillDeviceClient()
48 : initial_tdls_busy_count_(0), 57 : initial_tdls_busy_count_(0),
49 tdls_busy_count_(0), 58 tdls_busy_count_(0),
50 weak_ptr_factory_(this) { 59 weak_ptr_factory_(this) {
51 } 60 }
52 61
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 const dbus::ObjectPath& device_path, 94 const dbus::ObjectPath& device_path,
86 const VoidDBusMethodCallback& callback) { 95 const VoidDBusMethodCallback& callback) {
87 PostVoidCallback(callback, DBUS_METHOD_CALL_SUCCESS); 96 PostVoidCallback(callback, DBUS_METHOD_CALL_SUCCESS);
88 } 97 }
89 98
90 void FakeShillDeviceClient::SetProperty(const dbus::ObjectPath& device_path, 99 void FakeShillDeviceClient::SetProperty(const dbus::ObjectPath& device_path,
91 const std::string& name, 100 const std::string& name,
92 const base::Value& value, 101 const base::Value& value,
93 const base::Closure& callback, 102 const base::Closure& callback,
94 const ErrorCallback& error_callback) { 103 const ErrorCallback& error_callback) {
104 if (IsReadOnlyProperty(name))
105 PostError(shill::kErrorResultInvalidArguments, error_callback);
106 SetPropertyInternal(device_path, name, value, callback, error_callback);
107 }
108
109 void FakeShillDeviceClient::SetPropertyInternal(
110 const dbus::ObjectPath& device_path,
111 const std::string& name,
112 const base::Value& value,
113 const base::Closure& callback,
114 const ErrorCallback& error_callback) {
95 base::DictionaryValue* device_properties = NULL; 115 base::DictionaryValue* device_properties = NULL;
96 if (!stub_devices_.GetDictionaryWithoutPathExpansion(device_path.value(), 116 if (!stub_devices_.GetDictionaryWithoutPathExpansion(device_path.value(),
97 &device_properties)) { 117 &device_properties)) {
98 PostNotFoundError(error_callback); 118 PostNotFoundError(error_callback);
99 return; 119 return;
100 } 120 }
101 device_properties->SetWithoutPathExpansion(name, value.DeepCopy()); 121 device_properties->SetWithoutPathExpansion(name, value.DeepCopy());
102 base::MessageLoop::current()->PostTask( 122 base::MessageLoop::current()->PostTask(
103 FROM_HERE, 123 FROM_HERE,
104 base::Bind(&FakeShillDeviceClient::NotifyObserversPropertyChanged, 124 base::Bind(&FakeShillDeviceClient::NotifyObserversPropertyChanged,
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 PostNotFoundError(error_callback); 238 PostNotFoundError(error_callback);
219 return; 239 return;
220 } 240 }
221 base::MessageLoop::current()->PostTask(FROM_HERE, callback); 241 base::MessageLoop::current()->PostTask(FROM_HERE, callback);
222 } 242 }
223 243
224 void FakeShillDeviceClient::SetCarrier(const dbus::ObjectPath& device_path, 244 void FakeShillDeviceClient::SetCarrier(const dbus::ObjectPath& device_path,
225 const std::string& carrier, 245 const std::string& carrier,
226 const base::Closure& callback, 246 const base::Closure& callback,
227 const ErrorCallback& error_callback) { 247 const ErrorCallback& error_callback) {
228 if (!stub_devices_.HasKey(device_path.value())) { 248 SetPropertyInternal(device_path, shill::kCarrierProperty,
229 PostNotFoundError(error_callback); 249 base::StringValue(carrier), callback, error_callback);
230 return;
231 }
232 base::MessageLoop::current()->PostTask(FROM_HERE, callback);
233 } 250 }
234 251
235 void FakeShillDeviceClient::Reset(const dbus::ObjectPath& device_path, 252 void FakeShillDeviceClient::Reset(const dbus::ObjectPath& device_path,
236 const base::Closure& callback, 253 const base::Closure& callback,
237 const ErrorCallback& error_callback) { 254 const ErrorCallback& error_callback) {
238 if (!stub_devices_.HasKey(device_path.value())) { 255 if (!stub_devices_.HasKey(device_path.value())) {
239 PostNotFoundError(error_callback); 256 PostNotFoundError(error_callback);
240 return; 257 return;
241 } 258 }
242 base::MessageLoop::current()->PostTask(FROM_HERE, callback); 259 base::MessageLoop::current()->PostTask(FROM_HERE, callback);
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 std::map<dbus::ObjectPath, PropertyObserverList*>::iterator iter = 489 std::map<dbus::ObjectPath, PropertyObserverList*>::iterator iter =
473 observer_list_.find(device_path); 490 observer_list_.find(device_path);
474 if (iter != observer_list_.end()) 491 if (iter != observer_list_.end())
475 return *(iter->second); 492 return *(iter->second);
476 PropertyObserverList* observer_list = new PropertyObserverList(); 493 PropertyObserverList* observer_list = new PropertyObserverList();
477 observer_list_[device_path] = observer_list; 494 observer_list_[device_path] = observer_list;
478 return *observer_list; 495 return *observer_list;
479 } 496 }
480 497
481 } // namespace chromeos 498 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/dbus/fake_shill_device_client.h ('k') | chromeos/network/managed_network_configuration_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698