[shill] Use composition instead of inheritance with PropertyStore
Instead of having Device, Manager, etc all inherit from PropertyStore
and have it be difficult to follow the getting/setting property code,
have each include a PropertyStore as a data member. Provide an
accessor so that RPC adaptor classes can get and set properties
directly and continue to handle any necessary type conversion
themselves.
BUG=None
TEST=unit tests
Change-Id: I34781bde4de0e152550ca636e28d472abde756af
Reviewed-on: http://gerrit.chromium.org/gerrit/3616
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
diff --git a/service_dbus_adaptor.cc b/service_dbus_adaptor.cc
index 10c132d..d6ab4fb 100644
--- a/service_dbus_adaptor.cc
+++ b/service_dbus_adaptor.cc
@@ -54,14 +54,14 @@
map<string, ::DBus::Variant> ServiceDBusAdaptor::GetProperties(
::DBus::Error &error) {
map<string, ::DBus::Variant> properties;
- DBusAdaptor::GetProperties(service_, &properties, &error);
+ DBusAdaptor::GetProperties(service_->store(), &properties, &error);
return properties;
}
void ServiceDBusAdaptor::SetProperty(const string& name,
const ::DBus::Variant& value,
::DBus::Error &error) {
- DBusAdaptor::DispatchOnType(service_, name, value, &error);
+ DBusAdaptor::DispatchOnType(service_->store(), name, value, &error);
}
void ServiceDBusAdaptor::ClearProperty(const string& , ::DBus::Error &error) {