Remove interfaceChain from IServiceManager::add()
Bug: 32742469
Test: hidl_test, binderized marlin boots
Change-Id: I966d314652789fa67f4d33a0ebc21871ae83fff8
diff --git a/transport/ServiceManagement.cpp b/transport/ServiceManagement.cpp
index a1e570f..15abb92 100644
--- a/transport/ServiceManagement.cpp
+++ b/transport/ServiceManagement.cpp
@@ -186,8 +186,7 @@
return nullptr;
}
- Return<bool> add(const hidl_vec<hidl_string>& /* interfaceChain */,
- const hidl_string& /* name */,
+ Return<bool> add(const hidl_string& /* name */,
const sp<IBase>& /* service */) override {
LOG(FATAL) << "Cannot register services with passthrough service manager.";
return false;
diff --git a/transport/manager/1.0/IServiceManager.hal b/transport/manager/1.0/IServiceManager.hal
index 2bbbe22..77cf253 100644
--- a/transport/manager/1.0/IServiceManager.hal
+++ b/transport/manager/1.0/IServiceManager.hal
@@ -52,23 +52,26 @@
get(string fqName, string name) generates (interface service);
/**
- * Register a service. The service manager must be registered as all of the
- * services that it inherits from.
+ * Register a service. The service manager must retrieve the (inherited)
+ * interfaces that this service implements, and register them along with
+ * the service.
+ *
+ * Each interface must have its own namespace for instance names. If you
+ * have two unrelated interfaces IFoo and IBar, it must be valid to call:
+ *
+ * add("my_instance", foo); // foo implements IFoo
+ * add("my_instance", bar); // bar implements IBar
*
* WARNING: This function is for libhidl/HwBinder use only. You are likely
* looking for 'INTERFACE::registerAsService("name")' instead.
*
- * @param interfaceChain List of fully-qualified interface names. The first
- * must be the actual interface name. Subsequent names must
- * follow the inheritance hierarchy of the interface.
* @param name Instance name. Must also be used to retrieve service.
* @param service Handle to registering service.
*
* @return success Whether or not the service was registered.
*
*/
- add(vec<string> interfaceChain, string name, interface service)
- generates (bool success);
+ add(string name, interface service) generates (bool success);
/**
* List all registered services. Must be sorted.