@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class IviDiscoverableService(    val importedEnums: Array<KClass<*>> = [],     val traceEvents: Boolean = true,     val multipleInstances: Boolean = false)

Similar to the IviService annotation, except this type of IVI service allows multiple instances of the same interface to be registered and discovered by clients.

Compared to services annotated with the IviService annotation, the following functions require an additional IviServiceId instance as argument:

  • The <Interface>Base class constructor.

  • The <Interface>.createApi() extension function.

  • The <Interface>.createApiOrNull() extension function.

  • The <Interface><ConnectionType>.createRegistration() functions.

In addition, the following <Interface> extension functions are generated:

  • <Interface>.createApis(), which creates all <Interface>Api class instances for all registered services of this <Interface>.

  • <Interface>.getServiceIds() which returns the IVI service ID of all registered services of this <Interface>.


Link copied to clipboard
fun IviDiscoverableService(    importedEnums: Array<KClass<*>> = [],     traceEvents: Boolean = true,     multipleInstances: Boolean = false)


Link copied to clipboard
val importedEnums: Array<KClass<*>>
Link copied to clipboard
val multipleInstances: Boolean = false
Link copied to clipboard
val traceEvents: Boolean = true