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
class InvalidIviServiceGenerationIdException : Exception
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
abstract class IviServiceConnectionBase<P, PO : IviServicePropertiesObserver>(connectionData: IviServiceConnectionData) : IviServiceConnection<P, PO> , LifecycleOwner

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
data class IviServiceInterfaceRegistrationWrapper constructor(val serviceInterfaceRegistration: AnyIviServiceInterfaceRegistration)

A reference to an IVI service interface registration data.

interface IviServiceLifecycleListenerBinderInterface : Observer<Lifecycle.State> , IInterface

Extends Observer as an IBinder interface.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
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)

Calls IBinder.unlinkToDeath and catches NoSuchElementException.