IviServiceProvider

interface IviServiceProvider : IviInstanceIdProvider

Allows <Interface>Api classes to obtain a service connection manager.

Callers needs to provide the class types. This is because it is not possible to check whether the service ID matches with a given set of <Interface>Connection, <Interface>Properties class and the <Interface>PropertiesObserver interface, because the generic types have been erased at runtime.

Properties

Link copied to clipboard
abstract override val iviInstanceId: IviInstanceId?

If not null, the IVI service provider provides IVI service API instances for this IviInstanceId. If null the IVI service provider only provides global IVI service API instances.

Functions

Link copied to clipboard
abstract fun <T : IviServiceConnectionManager<C, LP>, C : IviServiceConnection<P, PO>, P : Any, PO : IviServicePropertiesObserver, LP : Any> getConnectionManager(    connectionInterfaceClass: KClass<C>,     propertiesClass: KClass<P>,     propertiesObserverInterfaceClass: KClass<PO>,     liveDataPropertiesClass: KClass<LP>,     serviceId: IviServiceId): T?

Obtains the service connection manager for a service ID and a connection manager type.

Link copied to clipboard
abstract fun getServiceIdsByConnectionInterface(connectionInterfaceClass: KClass<*>): List<IviServiceId>

Returns a list of service IDs that are registered for the given connectionInterfaceClass.

Inheritors

Link copied to clipboard