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

Unified Diff: chromeos/dbus/shill_device_client.cc

Issue 10949030: This converts the Shill clients to allow propagation of shill errors (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chromeos/dbus/shill_device_client.cc
diff --git a/chromeos/dbus/shill_device_client.cc b/chromeos/dbus/shill_device_client.cc
index a1c84db43bfb3aec858dd9ad43e928984e5714db..219520daca4dbd9059021f5d0193b1b22482a4a7 100644
--- a/chromeos/dbus/shill_device_client.cc
+++ b/chromeos/dbus/shill_device_client.cc
@@ -29,15 +29,16 @@ class ShillDeviceClientImpl : public ShillDeviceClient {
///////////////////////////////////////
// ShillDeviceClient overrides.
- virtual void SetPropertyChangedHandler(
+ virtual void AddPropertyChangedObserver(
const dbus::ObjectPath& device_path,
- const PropertyChangedHandler& handler) OVERRIDE {
- GetHelper(device_path)->SetPropertyChangedHandler(handler);
+ PropertyChangedObserver* observer) OVERRIDE {
+ GetHelper(device_path)->AddPropertyChangedObserver(observer);
}
- virtual void ResetPropertyChangedHandler(
- const dbus::ObjectPath& device_path) OVERRIDE {
- GetHelper(device_path)->ResetPropertyChangedHandler();
+ virtual void RemovePropertyChangedObserver(
+ const dbus::ObjectPath& device_path,
+ PropertyChangedObserver* observer) OVERRIDE {
+ GetHelper(device_path)->RemovePropertyChangedObserver(observer);
}
virtual void GetProperties(const dbus::ObjectPath& device_path,
@@ -65,13 +66,16 @@ class ShillDeviceClientImpl : public ShillDeviceClient {
virtual void SetProperty(const dbus::ObjectPath& device_path,
const std::string& name,
const base::Value& value,
- const VoidDBusMethodCallback& callback) OVERRIDE {
+ const base::Closure& callback,
+ const ErrorCallback& error_callback) OVERRIDE {
dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface,
flimflam::kSetPropertyFunction);
dbus::MessageWriter writer(&method_call);
writer.AppendString(name);
ShillClientHelper::AppendValueDataAsVariant(&writer, value);
- GetHelper(device_path)->CallVoidMethod(&method_call, callback);
+ GetHelper(device_path)->CallVoidMethodWithErrorCallback(&method_call,
+ callback,
+ error_callback);
}
virtual void ClearProperty(const dbus::ObjectPath& device_path,
@@ -235,52 +239,54 @@ class ShillDeviceClientStubImpl : public ShillDeviceClient {
virtual ~ShillDeviceClientStubImpl() {}
- // ShillDeviceClient override.
- virtual void SetPropertyChangedHandler(
+ ///////////////////////////////////
+ // ShillDeviceClient overrides.
+ virtual void AddPropertyChangedObserver(
const dbus::ObjectPath& device_path,
- const PropertyChangedHandler& handler) OVERRIDE {}
+ PropertyChangedObserver* observer) OVERRIDE {}
- // ShillDeviceClient override.
- virtual void ResetPropertyChangedHandler(
- const dbus::ObjectPath& device_path) OVERRIDE {}
+ virtual void RemovePropertyChangedObserver(
+ const dbus::ObjectPath& device_path,
+ PropertyChangedObserver* observer) OVERRIDE {}
- // ShillDeviceClient override.
virtual void GetProperties(const dbus::ObjectPath& device_path,
const DictionaryValueCallback& callback) OVERRIDE {
MessageLoop::current()->PostTask(
FROM_HERE,
- base::Bind(&ShillDeviceClientStubImpl::PassStubDevicePrperties,
+ base::Bind(&ShillDeviceClientStubImpl::PassStubDeviceProperties,
weak_ptr_factory_.GetWeakPtr(),
device_path, callback));
}
- // ShillDeviceClient override.
virtual base::DictionaryValue* CallGetPropertiesAndBlock(
const dbus::ObjectPath& device_path) OVERRIDE {
return new base::DictionaryValue;
}
- // ShillProfileClient override.
virtual void ProposeScan(const dbus::ObjectPath& device_path,
const VoidDBusMethodCallback& callback) OVERRIDE {
PostVoidCallback(callback, DBUS_METHOD_CALL_SUCCESS);
}
- // ShillDeviceClient override.
virtual void SetProperty(const dbus::ObjectPath& device_path,
const std::string& name,
const base::Value& value,
- const VoidDBusMethodCallback& callback) OVERRIDE {
+ const base::Closure& callback,
+ const ErrorCallback& error_callback) OVERRIDE {
base::DictionaryValue* device_properties = NULL;
if (!stub_devices_.GetDictionary(device_path.value(), &device_properties)) {
- PostVoidCallback(callback, DBUS_METHOD_CALL_FAILURE);
+ std::string error_name("org.chromium.flimflam.Error.Failure");
+ std::string error_message("Failed");
+ MessageLoop::current()->PostTask(FROM_HERE,
+ base::Bind(error_callback,
+ error_name,
+ error_message));
return;
}
device_properties->Set(name, value.DeepCopy());
- PostVoidCallback(callback, DBUS_METHOD_CALL_SUCCESS);
+ MessageLoop::current()->PostTask(FROM_HERE, callback);
}
- // ShillDeviceClient override.
virtual void ClearProperty(const dbus::ObjectPath& device_path,
const std::string& name,
const VoidDBusMethodCallback& callback) OVERRIDE {
@@ -293,7 +299,6 @@ class ShillDeviceClientStubImpl : public ShillDeviceClient {
PostVoidCallback(callback, DBUS_METHOD_CALL_SUCCESS);
}
- // ShillDeviceClient override.
virtual void AddIPConfig(
const dbus::ObjectPath& device_path,
const std::string& method,
@@ -304,14 +309,12 @@ class ShillDeviceClientStubImpl : public ShillDeviceClient {
dbus::ObjectPath()));
}
- // ShillDeviceClient override.
virtual dbus::ObjectPath CallAddIPConfigAndBlock(
const dbus::ObjectPath& device_path,
const std::string& method) OVERRIDE {
return dbus::ObjectPath();
}
- // ShillDeviceClient override.
virtual void RequirePin(const dbus::ObjectPath& device_path,
const std::string& pin,
bool require,
@@ -320,7 +323,6 @@ class ShillDeviceClientStubImpl : public ShillDeviceClient {
MessageLoop::current()->PostTask(FROM_HERE, callback);
}
- // ShillDeviceClient override.
virtual void EnterPin(const dbus::ObjectPath& device_path,
const std::string& pin,
const base::Closure& callback,
@@ -328,7 +330,6 @@ class ShillDeviceClientStubImpl : public ShillDeviceClient {
MessageLoop::current()->PostTask(FROM_HERE, callback);
}
- // ShillDeviceClient override.
virtual void UnblockPin(const dbus::ObjectPath& device_path,
const std::string& puk,
const std::string& pin,
@@ -337,7 +338,6 @@ class ShillDeviceClientStubImpl : public ShillDeviceClient {
MessageLoop::current()->PostTask(FROM_HERE, callback);
}
- // ShillDeviceClient override.
virtual void ChangePin(const dbus::ObjectPath& device_path,
const std::string& old_pin,
const std::string& new_pin,
@@ -346,7 +346,6 @@ class ShillDeviceClientStubImpl : public ShillDeviceClient {
MessageLoop::current()->PostTask(FROM_HERE, callback);
}
- // ShillDeviceClient override.
virtual void Register(const dbus::ObjectPath& device_path,
const std::string& network_id,
const base::Closure& callback,
@@ -355,7 +354,7 @@ class ShillDeviceClientStubImpl : public ShillDeviceClient {
}
private:
- void PassStubDevicePrperties(const dbus::ObjectPath& device_path,
+ void PassStubDeviceProperties(const dbus::ObjectPath& device_path,
const DictionaryValueCallback& callback) const {
const base::DictionaryValue* device_properties = NULL;
if (!stub_devices_.GetDictionary(device_path.value(), &device_properties)) {

Powered by Google App Engine
This is Rietveld 408576698