shill: Service: Implement "SetProperties" DBus call
Configure multiple Service properties at once in a single call.
This method differs from Manager::ConfigureService in two important
ways: Firstly, since this is a service method, the service is
found via its RPC identifier as opposed to its GUID or other
properties. Secondly, only the service properties are set -- it
is not assigned a profile like ConfigureService -- in fact the
"Profile" property is silently ignored if provided to this call.
BUG=None
TEST=Unit tests
Change-Id: Ied4b75184bc4c27d88652dc14d14ef3f49b1574e
Reviewed-on: https://gerrit.chromium.org/gerrit/60775
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
diff --git a/manager.h b/manager.h
index f1afc96..0d86f7f 100644
--- a/manager.h
+++ b/manager.h
@@ -96,9 +96,9 @@
ProfileRefPtr LookupProfileByRpcIdentifier(const std::string &profile_rpcid);
// Called via RPC call on Service (|to_set|) to set the "Profile" property.
- void SetProfileForService(const ServiceRefPtr &to_set,
- const std::string &profile,
- Error *error);
+ virtual void SetProfileForService(const ServiceRefPtr &to_set,
+ const std::string &profile,
+ Error *error);
virtual void RegisterDevice(const DeviceRefPtr &to_manage);
virtual void DeregisterDevice(const DeviceRefPtr &to_forget);