IviServiceInterfaceRegistration

Represents an IVI service interface registration entry.

Each IVI service host can implement one or more IVI service interfaces. The service host needs to be registered to the framework with a set of interfaces. This class represents one such entry.

Each entry instance provides the framework the means to create a connection implementation C for the IVI service interface.

Use [C].createRegistration(serviceId: IviServiceId) to create an instance of this class for a specific <Interface>Connection interface implementation.

The [C].createRegistration(serviceId: IviServiceId) functions use create to create instances of this class. This function allows the compiler to resolve most constructor arguments automatically.

Parameters

C

The <Interface>Connection implementation class of the IVI service.

D

The connection data class for this connection.

P

The <Interface>Properties class of the IVI service.

PO

The <Interface>PropertiesObserver interface class of the IVI service.

LP

: The <Interface>LiveDataProperties class of the IVI service interface.

serviceId

The service ID of the IVI service interface.

multipleInstances

true if this IVI service interface has multiple instances.

connectionInterfaceClass

The <Interface>Connection interface class.

connectionFactory

Factory for C.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
val connectionFactory: ConnectionFactory<D, C>
Link copied to clipboard
val connectionInterfaceClass: KClass<C>
Link copied to clipboard
val connectionType: ConnectionType
Link copied to clipboard
val multipleInstances: Boolean
Link copied to clipboard
val serviceId: IviServiceId

Functions

Link copied to clipboard
fun createGlobalConnectionManager(lifecycleOwner: LifecycleOwner, onConnectionRequestedChangedHandler: OnConnectionRequestedChangedHandler): IviServiceConnectionManagerImpl<C, D, P, PO, LP>

Creates a global connection manager corresponding to this interface registration entry.

Link copied to clipboard
fun createIviInstanceBoundConnectionManager(    iviInstanceId: IviInstanceId,     lifecycleOwner: LifecycleOwner,     onConnectionRequestedChangedHandler: OnConnectionRequestedChangedHandler): IviServiceConnectionManagerImpl<C, D, P, PO, LP>

Creates a IVI instance bound connection manager corresponding to this interface registration entry and the given iviInstanceId.