registerPermissionStateRepoBuilder

inline fun <P : Permission> registerPermissionStateRepoBuilder(noinline permissionStateRepoBuilder: (P, CoroutineContext) -> BasePermissionStateRepo<P>)

Registers a PermissionStateRepoBuilder for a a given type of Permission. Only one builder can be registered per type of Permission. Make sure to call unregisterPermissionStateRepoBuilder before calling this if a permission has been registered before. This method is thread-safe.

Parameters

P

the type of Permission for which to register the builder.

permissionStateRepoBuilder

the closure to build a BasePermissionStateRepo for a given P.

Throws

if the permission was already registered.


fun <P : Permission> registerPermissionStateRepoBuilder(permission: KClass<P>, permissionStateRepoBuilder: (P, CoroutineContext) -> BasePermissionStateRepo<P>)

Registers a PermissionStateRepoBuilder for a a given type of Permission. Only one builder can be registered per type of Permission. Make sure to call unregisterPermissionStateRepoBuilder before calling this if a permission has been registered before. This method is thread-safe.

Parameters

P

the type of Permission for which to register the builder.

permission

the KClass of the P to register

permissionStateRepoBuilder

the closure to build a BasePermissionStateRepo for a given P.

Throws

if the permission was already registered.