IviServiceInterfaceConfig

constructor(serviceName: String, serviceId: String? = null, serviceApiModule: ModuleReference, multipleInstances: Boolean = false, subPackageName: String? = null)

Parameters

serviceName

The IVI service name.

The service name must be formatted in PascalCase and must end with the Service suffix. The Service suffix is mandatory to make it easier for developers to find where the class is used in the code base.

The service name needs to match an IVI service's interface name: the name of the Kotlin interface annotated with the IviService or IviDiscoverableService annotation.

serviceId

A unique service ID of the discoverable service when not null.

Only mandatory for IVI discoverable service interfaces: a Kotlin interface annotated with the IviDiscoverableService annotation.

serviceApiModule

The module that contains the IVI service interface: the Kotlin interface annotated with the IviService or IviDiscoverableService annotation.

The package name of the interface is obtained from this ModuleReference. If the interface resides in a sub package within this module, the sub package can be provided through subPackageName. This subPackageName is appended to the package name of the module, with a period in between.

multipleInstances

Denotes this interface as a multiple instance interface. If this set to true, the service implementation can be started for each IviInstanceIdentifier configured in the IVI application. If false, the service will run as a global instance. Global service instances cannot use multiple instance service interfaces.

subPackageName

Optional sub package. If not null, this value is appended to the ModuleReference.packageName of the serviceApiModule property with a period in between.