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

Internal API of TomTom IndiGO's IPC framework specific for sharing data sources.

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
class IviDataSourceHelper<E : Any, Q : Any>(pagingSourceFactory: (Q) -> IviPagingSource<E>)

Provides a generic implementation for IviDataSource.createPagingSource and IviDataSource.createPagingSourceFlow. The implementation invokes pagingSourceFactory whenever a new IviPagingSource needs to be created.

Link copied to clipboard
interface IviDataSourceIpc<E : Any, Q : Any>

IPC interface of an IviDataSource.

Link copied to clipboard
data class IviDataSourceIpcBinderData<E : Any, Q : Any>

Binder specific data class that allows an IviDataSource to be written to and read from a Parcel.

Link copied to clipboard
interface IviDataSourceIpcBinderInterface<E : Any, Q : Any> : AsyncCapableBinderInterface

A binder specific IviDataSourceIpc interface.

Link copied to clipboard
class IviDataSourceIpcBinderInterfaceStubImpl<E : Any, Q : Any>(    iviDataSource: IviDataSource<E, Q>,     binderContext: BinderContext,     queryReader: Parcel.() -> Q,     elementWriter: Parcel.(E) -> Unit) : IviDataSourceIpcBinderInterface.Stub<E, Q>

Service side implementation of the IviDataSourceIpcBinderInterface.

Link copied to clipboard
class IviDataSourceIpcBinderProxy<E : Any, Q : Any>(binderData: IviDataSourceIpcBinderData<E, Q>, binderContext: BinderContext) : IviDataSourceIpc<E, Q>

Client side implementation of an IviDataSourceIpc interface.

Link copied to clipboard
interface IviDataSourceListener

An IviDataSourceIpc listener.

Link copied to clipboard

A binder specific IviDataSourceListener interface.

Link copied to clipboard
class IviDataSourceWrapper<E : Any, Q : Any>(wrapped: IviDataSource<E, Q>) : IviDataSource<E, Q>

Wraps an IviDataSource to keep track of its active IviPagingSources to be able to invalidate them when markAsUnavailable is called.

Link copied to clipboard
data class IviPagingSourceId(val id: Int) : RegistrationToken

Identifies a IviPagingSource. The ID is unique per client.

Link copied to clipboard
class MirroredIviDataSource<E : Any, Q : Any>(ipc: IviDataSourceIpc<E, Q>, connectionScope: CoroutineScope) : IviDataSource<E, Q>

Mirrors another IviDataSource. The mirrored IviDataSource is accessed through ipc.

Functions

Link copied to clipboard
fun <E : Any, Q : Any> IviDataSourceIpcBinderData<E, Q>?.writeToParcel(parcel: Parcel, flags: Int)

Writes the data to the given parcel.