IviServiceInterfaceConfig

data class IviServiceInterfaceConfig(val serviceName: String, val serviceId: String? = null, val serviceApiModule: ModuleReference, val multipleInstances: Boolean = false, val subPackageName: String? = null) : Serializable

Defines an IVI service interface of an IviServiceHostConfig.

See IviServiceHostConfig for an example.

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 allow the reference to the interface easier to be found 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.

Constructors

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

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val serviceId: String? = null
Link copied to clipboard
Link copied to clipboard
val subPackageName: String? = null