Package com.tomtom.ivi.platform.framework.api.ipc.iviservice.internal

General internal API of TomTom Digital Cockpit's IPC framework.

Note: The API provided by this package is not guaranteed to be backward compatible. Do not import anything from this package.

Types

Link copied to clipboard
typealias AnyIviServiceConnectionManagerImpl = IviServiceConnectionManagerImpl<*, *, *, *, *>
Link copied to clipboard
typealias AnyIviServiceInterfaceRegistration = IviServiceInterfaceRegistration<*, *, *, *, *>
Link copied to clipboard
typealias ConnectionFactory<D, C> = (D) -> C
Link copied to clipboard
enum ConnectionType : Enum<ConnectionType>

Connection types.

Link copied to clipboard
Link copied to clipboard
interface IviAndroidServiceBinderInterface : IInterface

Generic Binder interface for any IVI service host.

Link copied to clipboard

Base class for <Interface>BinderConnection classes.

Link copied to clipboard
class IviServiceBinderConnectionData(    val serviceId: IviServiceId,     val connectionScope: CoroutineScope,     val syncBinderTransactionScope: CoroutineScope,     acquireAndReleaseInterface: IviServiceBinderConnectionData.AcquireAndReleaseInterface,     val ipcMessageDispatchFailureListener: IpcMessageDispatchFailureListener) : IviServiceConnectionData

Data to construct the IviServiceBinderConnectionBase class.

Link copied to clipboard
interface IviServiceBinderInterface : IInterface

Binder interface of an IVI service.

Link copied to clipboard

Base class for any <Interface>Connection interface implementation.

Link copied to clipboard
abstract class IviServiceConnectionData(val serviceId: IviServiceId, val connectionScope: CoroutineScope)

Data required to construct a IviServiceConnectionBase class.

The registration info of an IVI service connection manager.

Link copied to clipboard

Base class for <Interface>DirectConnection classes.

Link copied to clipboard
class IviServiceDirectConnectionData<T>(    val serviceId: IviServiceId,     val connectionScope: CoroutineScope,     serviceProvider: () -> T) : IviServiceConnectionData

Data to construct the IviServiceDirectConnectionBase class.

Link copied to clipboard
abstract class IviServiceHostManagerBase(    val iviInstanceIds: Collection<IviInstanceId>?,     val serviceHostId: IviServiceHostId,     iviServiceInterfaceRegistrations: Collection<AnyIviServiceInterfaceRegistration>) : LifecycleOwner

Base class for IVI service host managers.

Link copied to clipboard
interface IviServiceHostManagerBuilder

Implementations construct a IviServiceHostManagerBase instance.

Link copied to clipboard
interface IviServiceHostManagerFactory

Interface for creating IVI service host managers.

Link copied to clipboard

Represents an IVI service interface registration entry.

Link copied to clipboard
@IviExperimental(reasons = [])
data class IviServiceInterfaceRegistrationWrapper @IviInternal constructor(val serviceInterfaceRegistration: AnyIviServiceInterfaceRegistration)

A reference to an IVI service interface registration data.

Extends Observer as an IBinder interface.

Link copied to clipboard
annotation class IviServiceMock(val functionsInterface: KClass<*>)

The generated <Interface>Mock classes are annotated with this annotation to inform the test framework about the class that needs to be mocked for mocking the functions of the IVI service.

class IviServiceNonNullMirrorableMapPropertyDelegate<K, V>(    lifecycleOwner: LifecycleOwner,     listener: MirrorableMapListenerForwarder<K, V>,     observer: ChangeHandler<MirrorableMap<K, V>>) : IviServiceNonNullPropertyDelegateBase<MirrorableMap<K, V>>

Property delegate for non-null IVI service MirrorableMap properties.

Link copied to clipboard

Property delegate for non-null IVI service properties, except MirrorableMap.

Link copied to clipboard
abstract class IviServiceNonNullPropertyDelegateBase<T : Any>(observer: ChangeHandler<T>) : IviServicePropertyDelegate<T>

The base class for non-null IVI service property delegate. Have the same base type allows IviServicePropertyInitChecker to check if the property is initialized or not.

class IviServiceNullableMirrorableMapPropertyDelegate<K, V>(    lifecycleOwner: LifecycleOwner,     listener: MirrorableMapListenerForwarder<K, V>,     observer: ChangeHandler<MirrorableMap<K, V>?>) : IviServicePropertyDelegate<MirrorableMap<K, V>?>

Property delegate for nullable IVI service MirrorableMap properties.

Link copied to clipboard
class IviServiceNullablePropertyDelegate<T>(observer: ChangeHandler<T?>) : IviServicePropertyDelegate<T?>

Property delegate for nullable IVI service properties, except MirrorableMap

Link copied to clipboard
class IviServicePropertyInitChecker(    val serviceId: IviServiceId,     val requiredProperties: Map<String, IviServiceNonNullPropertyDelegateBase<*>>,     val onPropertiesInitializedCallback: () -> Unit)

Helper class to check if all properties are initialized.

Link copied to clipboard
typealias LiveDataPropertiesFactory<LP> = () -> LP
Link copied to clipboard
typealias OnConnectionRequestedChangedHandler = (Boolean) -> Unit
Link copied to clipboard
data class ParcelableIviServiceFunResult(val resultType: IviServiceFunResult.ResultType, val exception: ParcelableException? = null) : Parcelable

A parcelable variant of an IviServiceFunResult.

Functions

Link copied to clipboard
Link copied to clipboard
fun IBinder.unlinkToDeathSafe(recipient: IBinder.DeathRecipient, flags: Int)