shill: teach dbus_adaptor (and appropriate subclasses) how
to clear properties

BUG=chromium-os:24814
TEST=new unit tests

Change-Id: Ifad5ad0ad6c00d906bade7e1293540a58ac15625
Reviewed-on: https://gerrit.chromium.org/gerrit/15291
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: mukesh agrawal <quiche@chromium.org>
diff --git a/dbus_adaptor.cc b/dbus_adaptor.cc
index 34868e8..341959f 100644
--- a/dbus_adaptor.cc
+++ b/dbus_adaptor.cc
@@ -145,6 +145,20 @@
 }
 
 // static
+bool DBusAdaptor::ClearProperty(PropertyStore *store,
+                                const string &name,
+                                ::DBus::Error *error) {
+  Error e;
+  store->ClearProperty(name, &e);
+
+  if (error != NULL) {
+    e.ToDBusError(error);
+  }
+
+  return e.IsSuccess();
+}
+
+// static
 void DBusAdaptor::ArgsToKeyValueStore(
     const map<string, ::DBus::Variant> &args,
     KeyValueStore *out,