Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
|
satorux1
2013/10/21 03:19:03
The diff wasn't smart enough but this file is a co
| |
| 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 #ifndef CHROMEOS_DBUS_FAKE_SHILL_DEVICE_CLIENT_H_ | 5 #ifndef CHROMEOS_DBUS_FAKE_SHILL_DEVICE_CLIENT_H_ |
| 6 #define CHROMEOS_DBUS_FAKE_SHILL_DEVICE_CLIENT_H_ | 6 #define CHROMEOS_DBUS_FAKE_SHILL_DEVICE_CLIENT_H_ |
| 7 | 7 |
| 8 #include "base/callback_forward.h" | 8 #include <string> |
| 9 #include "base/values.h" | 9 |
| 10 #include "base/basictypes.h" | |
| 11 #include "chromeos/chromeos_export.h" | |
| 10 #include "chromeos/dbus/shill_device_client.h" | 12 #include "chromeos/dbus/shill_device_client.h" |
| 11 #include "chromeos/dbus/shill_property_changed_observer.h" | |
| 12 | 13 |
| 13 namespace chromeos { | 14 namespace chromeos { |
| 14 | 15 |
| 15 // A fake implementation of ShillDeviceClient. This class does nothing. | 16 // A fake implementation of ShillDeviceClient. |
| 16 class FakeShillDeviceClient : public ShillDeviceClient { | 17 // Implemented: Stub cellular device for SMS testing. |
| 18 class CHROMEOS_EXPORT FakeShillDeviceClient | |
| 19 : public ShillDeviceClient, | |
| 20 public ShillDeviceClient::TestInterface { | |
| 17 public: | 21 public: |
| 18 FakeShillDeviceClient(); | 22 FakeShillDeviceClient(); |
| 19 virtual ~FakeShillDeviceClient(); | 23 virtual ~FakeShillDeviceClient(); |
| 20 | 24 |
| 21 // ShillDeviceClient overrides | 25 // ShillDeviceClient overrides |
| 22 virtual void Init(dbus::Bus* bus) OVERRIDE; | 26 virtual void Init(dbus::Bus* bus) OVERRIDE; |
| 23 virtual void AddPropertyChangedObserver( | 27 virtual void AddPropertyChangedObserver( |
| 24 const dbus::ObjectPath& device_path, | 28 const dbus::ObjectPath& device_path, |
| 25 ShillPropertyChangedObserver* observer) OVERRIDE; | 29 ShillPropertyChangedObserver* observer) OVERRIDE; |
| 26 virtual void RemovePropertyChangedObserver( | 30 virtual void RemovePropertyChangedObserver( |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 67 const ErrorCallback& error_callback) OVERRIDE; | 71 const ErrorCallback& error_callback) OVERRIDE; |
| 68 virtual void SetCarrier(const dbus::ObjectPath& device_path, | 72 virtual void SetCarrier(const dbus::ObjectPath& device_path, |
| 69 const std::string& carrier, | 73 const std::string& carrier, |
| 70 const base::Closure& callback, | 74 const base::Closure& callback, |
| 71 const ErrorCallback& error_callback) OVERRIDE; | 75 const ErrorCallback& error_callback) OVERRIDE; |
| 72 virtual void Reset(const dbus::ObjectPath& device_path, | 76 virtual void Reset(const dbus::ObjectPath& device_path, |
| 73 const base::Closure& callback, | 77 const base::Closure& callback, |
| 74 const ErrorCallback& error_callback) OVERRIDE; | 78 const ErrorCallback& error_callback) OVERRIDE; |
| 75 virtual TestInterface* GetTestInterface() OVERRIDE; | 79 virtual TestInterface* GetTestInterface() OVERRIDE; |
| 76 | 80 |
| 81 // ShillDeviceClient::TestInterface overrides. | |
| 82 virtual void AddDevice(const std::string& device_path, | |
| 83 const std::string& type, | |
| 84 const std::string& object_path) OVERRIDE; | |
| 85 virtual void RemoveDevice(const std::string& device_path) OVERRIDE; | |
| 86 virtual void ClearDevices() OVERRIDE; | |
| 87 virtual void SetDeviceProperty(const std::string& device_path, | |
| 88 const std::string& name, | |
| 89 const base::Value& value) OVERRIDE; | |
| 90 virtual std::string GetDevicePathForType(const std::string& type) OVERRIDE; | |
| 91 | |
| 77 private: | 92 private: |
| 93 typedef ObserverList<ShillPropertyChangedObserver> PropertyObserverList; | |
| 94 | |
| 95 void SetDefaultProperties(); | |
| 96 void PassStubDeviceProperties(const dbus::ObjectPath& device_path, | |
| 97 const DictionaryValueCallback& callback) const; | |
| 98 | |
| 99 // Posts a task to run a void callback with status code |status|. | |
| 100 void PostVoidCallback(const VoidDBusMethodCallback& callback, | |
| 101 DBusMethodCallStatus status); | |
| 102 | |
| 103 void NotifyObserversPropertyChanged(const dbus::ObjectPath& device_path, | |
| 104 const std::string& property); | |
| 105 base::DictionaryValue* GetDeviceProperties(const std::string& device_path); | |
| 106 PropertyObserverList& GetObserverList(const dbus::ObjectPath& device_path); | |
| 107 | |
| 108 // Dictionary of <device_name, Dictionary>. | |
| 109 base::DictionaryValue stub_devices_; | |
| 110 // Observer list for each device. | |
| 111 std::map<dbus::ObjectPath, PropertyObserverList*> observer_list_; | |
| 112 | |
| 113 // Note: This should remain the last member so it'll be destroyed and | |
| 114 // invalidate its weak pointers before any other members are destroyed. | |
| 115 base::WeakPtrFactory<FakeShillDeviceClient> weak_ptr_factory_; | |
| 116 | |
| 78 DISALLOW_COPY_AND_ASSIGN(FakeShillDeviceClient); | 117 DISALLOW_COPY_AND_ASSIGN(FakeShillDeviceClient); |
| 79 }; | 118 }; |
| 80 | 119 |
| 81 } // namespace chromeos | 120 } // namespace chromeos |
| 82 | 121 |
| 83 #endif // CHROMEOS_DBUS_FAKE_SHILL_DEVICE_CLIENT_H_ | 122 #endif // CHROMEOS_DBUS_FAKE_SHILL_DEVICE_CLIENT_H_ |
| OLD | NEW |