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

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

Issue 11192024: Add chromeos::NetworkStateManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase with dbus tests in trunk Created 8 years, 1 month 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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.h" 5 #include "chromeos/dbus/shill_service_client.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/chromeos/chromeos_version.h" 8 #include "base/chromeos/chromeos_version.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 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 } 191 }
192 192
193 virtual ~ShillServiceClientStubImpl() { 193 virtual ~ShillServiceClientStubImpl() {
194 } 194 }
195 195
196 // ShillServiceClient overrides. 196 // ShillServiceClient overrides.
197 197
198 virtual void AddPropertyChangedObserver( 198 virtual void AddPropertyChangedObserver(
199 const dbus::ObjectPath& service_path, 199 const dbus::ObjectPath& service_path,
200 ShillPropertyChangedObserver* observer) OVERRIDE { 200 ShillPropertyChangedObserver* observer) OVERRIDE {
201 observer_list_.AddObserver(observer); 201 observer_list_.AddObserver(observer);
hashimoto 2012/11/05 04:03:03 You might want to prepare observer lists for each
stevenjb 2012/11/05 22:42:35 Done.
202 } 202 }
203 203
204 virtual void RemovePropertyChangedObserver( 204 virtual void RemovePropertyChangedObserver(
205 const dbus::ObjectPath& service_path, 205 const dbus::ObjectPath& service_path,
206 ShillPropertyChangedObserver* observer) OVERRIDE { 206 ShillPropertyChangedObserver* observer) OVERRIDE {
207 observer_list_.RemoveObserver(observer); 207 observer_list_.RemoveObserver(observer);
208 } 208 }
209 209
210 virtual void GetProperties(const dbus::ObjectPath& service_path, 210 virtual void GetProperties(const dbus::ObjectPath& service_path,
211 const DictionaryValueCallback& callback) OVERRIDE { 211 const DictionaryValueCallback& callback) OVERRIDE {
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 284
285 virtual ShillServiceClient::TestInterface* GetTestInterface() OVERRIDE { 285 virtual ShillServiceClient::TestInterface* GetTestInterface() OVERRIDE {
286 return this; 286 return this;
287 } 287 }
288 288
289 // ShillServiceClient::TestInterface overrides. 289 // ShillServiceClient::TestInterface overrides.
290 290
291 virtual void AddService(const std::string& service_path, 291 virtual void AddService(const std::string& service_path,
292 const std::string& name, 292 const std::string& name,
293 const std::string& type, 293 const std::string& type,
294 const std::string& state, 294 const std::string& state) OVERRIDE {
295 const std::string& security) OVERRIDE {
296 base::DictionaryValue* properties = GetServiceProperties(service_path); 295 base::DictionaryValue* properties = GetServiceProperties(service_path);
297 properties->SetWithoutPathExpansion( 296 properties->SetWithoutPathExpansion(
298 flimflam::kSSIDProperty, 297 flimflam::kSSIDProperty,
299 base::Value::CreateStringValue(service_path)); 298 base::Value::CreateStringValue(service_path));
300 properties->SetWithoutPathExpansion( 299 properties->SetWithoutPathExpansion(
301 flimflam::kNameProperty, 300 flimflam::kNameProperty,
302 base::Value::CreateStringValue(name)); 301 base::Value::CreateStringValue(name));
303 properties->SetWithoutPathExpansion( 302 properties->SetWithoutPathExpansion(
304 flimflam::kTypeProperty, 303 flimflam::kTypeProperty,
305 base::Value::CreateStringValue(type)); 304 base::Value::CreateStringValue(type));
306 properties->SetWithoutPathExpansion( 305 properties->SetWithoutPathExpansion(
307 flimflam::kStateProperty, 306 flimflam::kStateProperty,
308 base::Value::CreateStringValue(state)); 307 base::Value::CreateStringValue(state));
309 properties->SetWithoutPathExpansion(
310 flimflam::kSecurityProperty,
311 base::Value::CreateStringValue(security));
312 } 308 }
313 309
314 virtual void RemoveService(const std::string& service_path) { 310 virtual void RemoveService(const std::string& service_path) {
315 stub_services_.RemoveWithoutPathExpansion(service_path, NULL); 311 stub_services_.RemoveWithoutPathExpansion(service_path, NULL);
316 } 312 }
317 313
318 virtual void SetServiceProperty(const std::string& service_path, 314 virtual void SetServiceProperty(const std::string& service_path,
319 const std::string& property, 315 const std::string& property,
320 const base::Value& value) OVERRIDE { 316 const base::Value& value) OVERRIDE {
321 SetProperty(dbus::ObjectPath(service_path), property, value, 317 SetProperty(dbus::ObjectPath(service_path), property, value,
322 base::Bind(&base::DoNothing), ErrorCallback()); 318 base::Bind(&base::DoNothing),
319 base::Bind(&ShillServiceClientStubImpl::ErrorFunction));
323 } 320 }
324 321
325 virtual void ClearServices() OVERRIDE { 322 virtual void ClearServices() OVERRIDE {
326 stub_services_.Clear(); 323 stub_services_.Clear();
327 } 324 }
328 325
329 private: 326 private:
330 void SetDefaultProperties() { 327 void SetDefaultProperties() {
331 // Add stub services. Note: names match Manager stub impl. 328 // Add stub services. Note: names match Manager stub impl.
332 AddService("stub_ethernet", "eth0", 329 AddService("stub_ethernet", "eth0",
333 flimflam::kTypeEthernet, 330 flimflam::kTypeEthernet,
334 flimflam::kStateOnline, 331 flimflam::kStateOnline);
335 flimflam::kSecurityNone); 332
336 AddService("stub_wifi1", "wifi1", 333 AddService("stub_wifi1", "wifi1",
337 flimflam::kTypeWifi, 334 flimflam::kTypeWifi,
338 flimflam::kStateOnline, 335 flimflam::kStateOnline);
339 flimflam::kSecurityNone); 336
340 AddService("stub_wifi2", "wifi2_PSK", 337 AddService("stub_wifi2", "wifi2_PSK",
341 flimflam::kTypeWifi, 338 flimflam::kTypeWifi,
342 flimflam::kStateIdle, 339 flimflam::kStateIdle);
343 flimflam::kSecurityPsk); 340 base::StringValue psk_value(flimflam::kSecurityPsk);
341 SetServiceProperty("stub_wifi2",
342 flimflam::kSecurityProperty,
343 psk_value);
344
344 AddService("stub_cellular1", "cellular1", 345 AddService("stub_cellular1", "cellular1",
345 flimflam::kTypeCellular, 346 flimflam::kTypeCellular,
346 flimflam::kStateIdle, 347 flimflam::kStateIdle);
347 flimflam::kSecurityNone);
348 base::StringValue technology_value(flimflam::kNetworkTechnologyGsm); 348 base::StringValue technology_value(flimflam::kNetworkTechnologyGsm);
349 SetServiceProperty("stub_cellular1", 349 SetServiceProperty("stub_cellular1",
350 flimflam::kNetworkTechnologyProperty, 350 flimflam::kNetworkTechnologyProperty,
351 technology_value); 351 technology_value);
352 } 352 }
353 353
354 void PassStubDictionaryValue(const dbus::ObjectPath& service_path, 354 void PassStubDictionaryValue(const dbus::ObjectPath& service_path,
355 const DictionaryValueCallback& callback) { 355 const DictionaryValueCallback& callback) {
356 base::DictionaryValue* dict = NULL; 356 base::DictionaryValue* dict = NULL;
357 if (!stub_services_.GetDictionaryWithoutPathExpansion( 357 if (!stub_services_.GetDictionaryWithoutPathExpansion(
(...skipping 27 matching lines...) Expand all
385 base::DictionaryValue* GetServiceProperties(const std::string& service_path) { 385 base::DictionaryValue* GetServiceProperties(const std::string& service_path) {
386 base::DictionaryValue* properties = NULL; 386 base::DictionaryValue* properties = NULL;
387 if (!stub_services_.GetDictionaryWithoutPathExpansion( 387 if (!stub_services_.GetDictionaryWithoutPathExpansion(
388 service_path, &properties)) { 388 service_path, &properties)) {
389 properties = new base::DictionaryValue; 389 properties = new base::DictionaryValue;
390 stub_services_.Set(service_path, properties); 390 stub_services_.Set(service_path, properties);
391 } 391 }
392 return properties; 392 return properties;
393 } 393 }
394 394
395 static void ErrorFunction(const std::string& error_name,
396 const std::string& error_message) {
397 LOG(ERROR) << "Shill Error: " << error_name << " : " << error_message;
398 }
395 399
396 base::DictionaryValue stub_services_; 400 base::DictionaryValue stub_services_;
397 ObserverList<ShillPropertyChangedObserver> observer_list_; 401 ObserverList<ShillPropertyChangedObserver> observer_list_;
398 402
399 // Note: This should remain the last member so it'll be destroyed and 403 // Note: This should remain the last member so it'll be destroyed and
400 // invalidate its weak pointers before any other members are destroyed. 404 // invalidate its weak pointers before any other members are destroyed.
401 base::WeakPtrFactory<ShillServiceClientStubImpl> weak_ptr_factory_; 405 base::WeakPtrFactory<ShillServiceClientStubImpl> weak_ptr_factory_;
402 406
403 DISALLOW_COPY_AND_ASSIGN(ShillServiceClientStubImpl); 407 DISALLOW_COPY_AND_ASSIGN(ShillServiceClientStubImpl);
404 }; 408 };
405 409
406 } // namespace 410 } // namespace
407 411
408 ShillServiceClient::ShillServiceClient() {} 412 ShillServiceClient::ShillServiceClient() {}
409 413
410 ShillServiceClient::~ShillServiceClient() {} 414 ShillServiceClient::~ShillServiceClient() {}
411 415
412 // static 416 // static
413 ShillServiceClient* ShillServiceClient::Create( 417 ShillServiceClient* ShillServiceClient::Create(
414 DBusClientImplementationType type, 418 DBusClientImplementationType type,
415 dbus::Bus* bus) { 419 dbus::Bus* bus) {
416 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) 420 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION)
417 return new ShillServiceClientImpl(bus); 421 return new ShillServiceClientImpl(bus);
418 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); 422 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type);
419 return new ShillServiceClientStubImpl(); 423 return new ShillServiceClientStubImpl();
420 } 424 }
421 425
422 } // namespace chromeos 426 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698