getService needs to load default implementation.

IFoo::getService() first queries the servicemanager
to find out whether a binderized service is registered.

If it doens't find a binderized service, it instead tries
to load a default implementation by loading a well-known
shared library and calling a well-known function symbol on
it to generate an implementation of the interface.

For example, for interface android.hardware.tests.foo@1.0::IFoo
it tries to load the android.hardware.tests.foo@1.0.impl.so library,
and then calls HIDL_FETCH_IFOO(name), where 'name' corresponds to
the service name passed into getService().

Bug: 31228745

Change-Id: I77378f20469d015947974616c320b524a3f6d393
1 file changed