FrontendConfig

data class FrontendConfig(val frontendBuilderName: String, val implementationModule: ModuleReference, val subPackageName: String? = null, val creationPolicy: FrontendCreationPolicy = FrontendCreationPolicy.CREATE_AFTER_STARTUP, val extensions: List<FrontendExtensionConfig> = emptyList(), val availablePanelTypes: PanelTypesConfig? = null, val dependencies: IviServiceDependencies = IviServiceDependencies())

Defines the reference to a frontend implementation and how to configure it.

Constructors

Link copied to clipboard
fun FrontendConfig(frontendBuilderName: String, implementationModule: ModuleReference, subPackageName: String? = null, creationPolicy: FrontendCreationPolicy = FrontendCreationPolicy.CREATE_AFTER_STARTUP, extensions: List<FrontendExtensionConfig> = emptyList(), availablePanelTypes: PanelTypesConfig? = null, dependencies: IviServiceDependencies = IviServiceDependencies())

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

A reference to a runtime set of panels that are available to the frontend. By default, all of the panel types offered by the TomTom Digital Cockpit platform are included. When introducing a new panel type, frontends using it must have the type specified here for the frontend to be able to use it, e.g., by passing a reference to val EXPANDED_PANEL_TYPES = PLATFORM_PANEL_TYPES + CustomPanel::class. This information is also used by the system UI to determine whether or not it can support the frontends it's asked to present panels for.

Link copied to clipboard

The creation policy of the frontend.

Link copied to clipboard

IVI service dependencies of the frontend implementation.

Link copied to clipboard

The frontend extensions configuration.

Link copied to clipboard

The name of the frontend builder class.

Link copied to clipboard

The module that contains the class that implements the com.tomtom.ivi.platform.frontend.api.common.frontend.FrontendBuilder class. See frontendBuilderName for details.

Link copied to clipboard
val subPackageName: String? = null

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

Functions

Link copied to clipboard
fun copyAndAdd(extensions: List<FrontendExtensionConfig> = emptyList(), dependencies: IviServiceDependencies = IviServiceDependencies()): FrontendConfig

Copies this FrontendConfig, adds the given extensions and dependencies to the copied instance, and returns it.

Link copied to clipboard
fun toMenuItem(menuItemName: String): MenuItemConfig

Creates a MenuItemConfig for a menu item defined in the same module and package as this frontend.