IviDiscoverableService

@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>.

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val traceEvents: Boolean = true