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

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

Issue 15774005: chromeos: Use base::MessageLoop. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « chromeos/dbus/shill_profile_client_stub.cc ('k') | chromeos/dbus/sms_client.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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/shill_service_client_stub.h" 5 #include "chromeos/dbus/shill_service_client_stub.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/stl_util.h" 10 #include "base/stl_util.h"
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 result_properties.reset(nested_dict->DeepCopy()); 79 result_properties.reset(nested_dict->DeepCopy());
80 // Remove credentials that Shill wouldn't send. 80 // Remove credentials that Shill wouldn't send.
81 result_properties->RemoveWithoutPathExpansion(flimflam::kPassphraseProperty, 81 result_properties->RemoveWithoutPathExpansion(flimflam::kPassphraseProperty,
82 NULL); 82 NULL);
83 call_status = DBUS_METHOD_CALL_SUCCESS; 83 call_status = DBUS_METHOD_CALL_SUCCESS;
84 } else { 84 } else {
85 result_properties.reset(new base::DictionaryValue); 85 result_properties.reset(new base::DictionaryValue);
86 call_status = DBUS_METHOD_CALL_FAILURE; 86 call_status = DBUS_METHOD_CALL_FAILURE;
87 } 87 }
88 88
89 MessageLoop::current()->PostTask( 89 base::MessageLoop::current()->PostTask(
90 FROM_HERE, 90 FROM_HERE,
91 base::Bind(&PassStubServiceProperties, 91 base::Bind(&PassStubServiceProperties,
92 callback, 92 callback,
93 call_status, 93 call_status,
94 base::Owned(result_properties.release()))); 94 base::Owned(result_properties.release())));
95 } 95 }
96 96
97 void ShillServiceClientStub::SetProperty(const dbus::ObjectPath& service_path, 97 void ShillServiceClientStub::SetProperty(const dbus::ObjectPath& service_path,
98 const std::string& name, 98 const std::string& name,
99 const base::Value& value, 99 const base::Value& value,
(...skipping 13 matching lines...) Expand all
113 std::string state; 113 std::string state;
114 if (value.GetAsString(&state) && (state == flimflam::kStateOnline || 114 if (value.GetAsString(&state) && (state == flimflam::kStateOnline ||
115 state == flimflam::kStatePortal)) { 115 state == flimflam::kStatePortal)) {
116 ShillManagerClient* manager_client = 116 ShillManagerClient* manager_client =
117 DBusThreadManager::Get()->GetShillManagerClient(); 117 DBusThreadManager::Get()->GetShillManagerClient();
118 manager_client->GetTestInterface()->MoveServiceToIndex( 118 manager_client->GetTestInterface()->MoveServiceToIndex(
119 service_path.value(), 0, true); 119 service_path.value(), 0, true);
120 } 120 }
121 } 121 }
122 dict->SetWithoutPathExpansion(name, value.DeepCopy()); 122 dict->SetWithoutPathExpansion(name, value.DeepCopy());
123 MessageLoop::current()->PostTask( 123 base::MessageLoop::current()->PostTask(
124 FROM_HERE, 124 FROM_HERE,
125 base::Bind(&ShillServiceClientStub::NotifyObserversPropertyChanged, 125 base::Bind(&ShillServiceClientStub::NotifyObserversPropertyChanged,
126 weak_ptr_factory_.GetWeakPtr(), service_path, name)); 126 weak_ptr_factory_.GetWeakPtr(), service_path, name));
127 if (callback.is_null()) 127 if (callback.is_null())
128 return; 128 return;
129 MessageLoop::current()->PostTask(FROM_HERE, callback); 129 base::MessageLoop::current()->PostTask(FROM_HERE, callback);
130 } 130 }
131 131
132 void ShillServiceClientStub::ClearProperty( 132 void ShillServiceClientStub::ClearProperty(
133 const dbus::ObjectPath& service_path, 133 const dbus::ObjectPath& service_path,
134 const std::string& name, 134 const std::string& name,
135 const base::Closure& callback, 135 const base::Closure& callback,
136 const ErrorCallback& error_callback) { 136 const ErrorCallback& error_callback) {
137 base::DictionaryValue* dict = NULL; 137 base::DictionaryValue* dict = NULL;
138 if (!stub_services_.GetDictionaryWithoutPathExpansion( 138 if (!stub_services_.GetDictionaryWithoutPathExpansion(
139 service_path.value(), &dict)) { 139 service_path.value(), &dict)) {
140 error_callback.Run("Error.InvalidService", "Invalid Service"); 140 error_callback.Run("Error.InvalidService", "Invalid Service");
141 return; 141 return;
142 } 142 }
143 dict->Remove(name, NULL); 143 dict->Remove(name, NULL);
144 MessageLoop::current()->PostTask( 144 base::MessageLoop::current()->PostTask(
145 FROM_HERE, 145 FROM_HERE,
146 base::Bind(&ShillServiceClientStub::NotifyObserversPropertyChanged, 146 base::Bind(&ShillServiceClientStub::NotifyObserversPropertyChanged,
147 weak_ptr_factory_.GetWeakPtr(), service_path, name)); 147 weak_ptr_factory_.GetWeakPtr(), service_path, name));
148 if (callback.is_null()) 148 if (callback.is_null())
149 return; 149 return;
150 MessageLoop::current()->PostTask(FROM_HERE, callback); 150 base::MessageLoop::current()->PostTask(FROM_HERE, callback);
151 } 151 }
152 152
153 void ShillServiceClientStub::ClearProperties( 153 void ShillServiceClientStub::ClearProperties(
154 const dbus::ObjectPath& service_path, 154 const dbus::ObjectPath& service_path,
155 const std::vector<std::string>& names, 155 const std::vector<std::string>& names,
156 const ListValueCallback& callback, 156 const ListValueCallback& callback,
157 const ErrorCallback& error_callback) { 157 const ErrorCallback& error_callback) {
158 base::DictionaryValue* dict = NULL; 158 base::DictionaryValue* dict = NULL;
159 if (!stub_services_.GetDictionaryWithoutPathExpansion( 159 if (!stub_services_.GetDictionaryWithoutPathExpansion(
160 service_path.value(), &dict)) { 160 service_path.value(), &dict)) {
161 error_callback.Run("Error.InvalidService", "Invalid Service"); 161 error_callback.Run("Error.InvalidService", "Invalid Service");
162 return; 162 return;
163 } 163 }
164 scoped_ptr<base::ListValue> results(new base::ListValue); 164 scoped_ptr<base::ListValue> results(new base::ListValue);
165 for (std::vector<std::string>::const_iterator iter = names.begin(); 165 for (std::vector<std::string>::const_iterator iter = names.begin();
166 iter != names.end(); ++iter) { 166 iter != names.end(); ++iter) {
167 dict->Remove(*iter, NULL); 167 dict->Remove(*iter, NULL);
168 results->AppendBoolean(true); 168 results->AppendBoolean(true);
169 } 169 }
170 for (std::vector<std::string>::const_iterator iter = names.begin(); 170 for (std::vector<std::string>::const_iterator iter = names.begin();
171 iter != names.end(); ++iter) { 171 iter != names.end(); ++iter) {
172 MessageLoop::current()->PostTask( 172 base::MessageLoop::current()->PostTask(
173 FROM_HERE, 173 FROM_HERE,
174 base::Bind( 174 base::Bind(
175 &ShillServiceClientStub::NotifyObserversPropertyChanged, 175 &ShillServiceClientStub::NotifyObserversPropertyChanged,
176 weak_ptr_factory_.GetWeakPtr(), service_path, *iter)); 176 weak_ptr_factory_.GetWeakPtr(), service_path, *iter));
177 } 177 }
178 if (callback.is_null()) 178 if (callback.is_null())
179 return; 179 return;
180 MessageLoop::current()->PostTask( 180 base::MessageLoop::current()->PostTask(
181 FROM_HERE, 181 FROM_HERE,
182 base::Bind(&PassStubListValue, 182 base::Bind(&PassStubListValue,
183 callback, base::Owned(results.release()))); 183 callback, base::Owned(results.release())));
184 } 184 }
185 185
186 void ShillServiceClientStub::Connect(const dbus::ObjectPath& service_path, 186 void ShillServiceClientStub::Connect(const dbus::ObjectPath& service_path,
187 const base::Closure& callback, 187 const base::Closure& callback,
188 const ErrorCallback& error_callback) { 188 const ErrorCallback& error_callback) {
189 base::Value* service; 189 base::Value* service;
190 if (!stub_services_.Get(service_path.value(), &service)) { 190 if (!stub_services_.Get(service_path.value(), &service)) {
191 error_callback.Run("Error.InvalidService", "Invalid Service"); 191 error_callback.Run("Error.InvalidService", "Invalid Service");
192 return; 192 return;
193 } 193 }
194 base::TimeDelta delay; 194 base::TimeDelta delay;
195 if (CommandLine::ForCurrentProcess()->HasSwitch( 195 if (CommandLine::ForCurrentProcess()->HasSwitch(
196 chromeos::switches::kEnableStubInteractive)) { 196 chromeos::switches::kEnableStubInteractive)) {
197 // Set Associating 197 // Set Associating
198 base::StringValue associating_value(flimflam::kStateAssociation); 198 base::StringValue associating_value(flimflam::kStateAssociation);
199 SetServiceProperty(service_path.value(), 199 SetServiceProperty(service_path.value(),
200 flimflam::kStateProperty, 200 flimflam::kStateProperty,
201 associating_value); 201 associating_value);
202 const int kConnectDelaySeconds = 5; 202 const int kConnectDelaySeconds = 5;
203 delay = base::TimeDelta::FromSeconds(kConnectDelaySeconds); 203 delay = base::TimeDelta::FromSeconds(kConnectDelaySeconds);
204 } 204 }
205 // Set Online after a delay 205 // Set Online after a delay
206 base::StringValue online_value(flimflam::kStateOnline); 206 base::StringValue online_value(flimflam::kStateOnline);
207 MessageLoop::current()->PostDelayedTask( 207 base::MessageLoop::current()->PostDelayedTask(
208 FROM_HERE, 208 FROM_HERE,
209 base::Bind(&ShillServiceClientStub::SetProperty, 209 base::Bind(&ShillServiceClientStub::SetProperty,
210 weak_ptr_factory_.GetWeakPtr(), 210 weak_ptr_factory_.GetWeakPtr(),
211 service_path, 211 service_path,
212 flimflam::kStateProperty, 212 flimflam::kStateProperty,
213 online_value, 213 online_value,
214 base::Bind(&base::DoNothing), 214 base::Bind(&base::DoNothing),
215 error_callback), 215 error_callback),
216 delay); 216 delay);
217 callback.Run(); 217 callback.Run();
218 } 218 }
219 219
220 void ShillServiceClientStub::Disconnect(const dbus::ObjectPath& service_path, 220 void ShillServiceClientStub::Disconnect(const dbus::ObjectPath& service_path,
221 const base::Closure& callback, 221 const base::Closure& callback,
222 const ErrorCallback& error_callback) { 222 const ErrorCallback& error_callback) {
223 base::Value* service; 223 base::Value* service;
224 if (!stub_services_.Get(service_path.value(), &service)) { 224 if (!stub_services_.Get(service_path.value(), &service)) {
225 error_callback.Run("Error.InvalidService", "Invalid Service"); 225 error_callback.Run("Error.InvalidService", "Invalid Service");
226 return; 226 return;
227 } 227 }
228 base::TimeDelta delay; 228 base::TimeDelta delay;
229 if (CommandLine::ForCurrentProcess()->HasSwitch( 229 if (CommandLine::ForCurrentProcess()->HasSwitch(
230 chromeos::switches::kEnableStubInteractive)) { 230 chromeos::switches::kEnableStubInteractive)) {
231 const int kConnectDelaySeconds = 2; 231 const int kConnectDelaySeconds = 2;
232 delay = base::TimeDelta::FromSeconds(kConnectDelaySeconds); 232 delay = base::TimeDelta::FromSeconds(kConnectDelaySeconds);
233 } 233 }
234 // Set Idle after a delay 234 // Set Idle after a delay
235 base::StringValue idle_value(flimflam::kStateIdle); 235 base::StringValue idle_value(flimflam::kStateIdle);
236 MessageLoop::current()->PostDelayedTask( 236 base::MessageLoop::current()->PostDelayedTask(
237 FROM_HERE, 237 FROM_HERE,
238 base::Bind(&ShillServiceClientStub::SetProperty, 238 base::Bind(&ShillServiceClientStub::SetProperty,
239 weak_ptr_factory_.GetWeakPtr(), 239 weak_ptr_factory_.GetWeakPtr(),
240 service_path, 240 service_path,
241 flimflam::kStateProperty, 241 flimflam::kStateProperty,
242 idle_value, 242 idle_value,
243 base::Bind(&base::DoNothing), 243 base::Bind(&base::DoNothing),
244 error_callback), 244 error_callback),
245 delay); 245 delay);
246 callback.Run(); 246 callback.Run();
247 } 247 }
248 248
249 void ShillServiceClientStub::Remove(const dbus::ObjectPath& service_path, 249 void ShillServiceClientStub::Remove(const dbus::ObjectPath& service_path,
250 const base::Closure& callback, 250 const base::Closure& callback,
251 const ErrorCallback& error_callback) { 251 const ErrorCallback& error_callback) {
252 if (callback.is_null()) 252 if (callback.is_null())
253 return; 253 return;
254 MessageLoop::current()->PostTask(FROM_HERE, callback); 254 base::MessageLoop::current()->PostTask(FROM_HERE, callback);
255 } 255 }
256 256
257 void ShillServiceClientStub::ActivateCellularModem( 257 void ShillServiceClientStub::ActivateCellularModem(
258 const dbus::ObjectPath& service_path, 258 const dbus::ObjectPath& service_path,
259 const std::string& carrier, 259 const std::string& carrier,
260 const base::Closure& callback, 260 const base::Closure& callback,
261 const ErrorCallback& error_callback) { 261 const ErrorCallback& error_callback) {
262 if (callback.is_null()) 262 if (callback.is_null())
263 return; 263 return;
264 MessageLoop::current()->PostTask(FROM_HERE, callback); 264 base::MessageLoop::current()->PostTask(FROM_HERE, callback);
265 } 265 }
266 266
267 void ShillServiceClientStub::CompleteCellularActivation( 267 void ShillServiceClientStub::CompleteCellularActivation(
268 const dbus::ObjectPath& service_path, 268 const dbus::ObjectPath& service_path,
269 const base::Closure& callback, 269 const base::Closure& callback,
270 const ErrorCallback& error_callback) { 270 const ErrorCallback& error_callback) {
271 if (callback.is_null()) 271 if (callback.is_null())
272 return; 272 return;
273 MessageLoop::current()->PostTask(FROM_HERE, callback); 273 base::MessageLoop::current()->PostTask(FROM_HERE, callback);
274 } 274 }
275 275
276 bool ShillServiceClientStub::CallActivateCellularModemAndBlock( 276 bool ShillServiceClientStub::CallActivateCellularModemAndBlock(
277 const dbus::ObjectPath& service_path, 277 const dbus::ObjectPath& service_path,
278 const std::string& carrier) { 278 const std::string& carrier) {
279 return true; 279 return true;
280 } 280 }
281 281
282 ShillServiceClient::TestInterface* ShillServiceClientStub::GetTestInterface() { 282 ShillServiceClient::TestInterface* ShillServiceClientStub::GetTestInterface() {
283 return this; 283 return this;
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 std::map<dbus::ObjectPath, PropertyObserverList*>::iterator iter = 446 std::map<dbus::ObjectPath, PropertyObserverList*>::iterator iter =
447 observer_list_.find(device_path); 447 observer_list_.find(device_path);
448 if (iter != observer_list_.end()) 448 if (iter != observer_list_.end())
449 return *(iter->second); 449 return *(iter->second);
450 PropertyObserverList* observer_list = new PropertyObserverList(); 450 PropertyObserverList* observer_list = new PropertyObserverList();
451 observer_list_[device_path] = observer_list; 451 observer_list_[device_path] = observer_list;
452 return *observer_list; 452 return *observer_list;
453 } 453 }
454 454
455 } // namespace chromeos 455 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/dbus/shill_profile_client_stub.cc ('k') | chromeos/dbus/sms_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698