RemoteRegistry

Explicit trusted client factories for negotiated component and modifier schemas. Registration is complete before a connection captures types; peers can never supply factories or class names. Property decoders validate untrusted values before invoking a typed factory.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard

Freezes registration and returns a detached immutable capability snapshot.

Functions

Link copied to clipboard
fun <P : Any> element(type: ProjectionType, decode: (ProjectionValue) -> P, prepare: (P, RemotePreparationContext) -> Unit = { _, _ -> }, phase: RemotePreparationPhase = RemotePreparationPhase.Owners, create: (P, RemoteElementContext) -> Element)

Registers one typed component decoder and factory before capability negotiation.

Link copied to clipboard
fun <P : Any> modifier(type: ProjectionType, decode: (ProjectionValue) -> P, create: (P, RemoteClientActions) -> Modifier)

Registers one typed active modifier decoder and factory before capability negotiation.

Link copied to clipboard
fun role(role: SemanticsRole)

Registers one immutable standard or application-defined accessibility role before negotiation.

Link copied to clipboard
fun <P : Any> statefulModifier(type: ProjectionType, decode: (ProjectionValue) -> P, prepare: (P, RemotePreparationContext) -> Unit = { _, _ -> }, phase: RemotePreparationPhase = RemotePreparationPhase.References, create: (P, RemoteModifierContext) -> Modifier)

Registers a modifier that shares prepared client state with components or other modifiers. Preparation runs only after the entire incoming tree has passed decoding and outside declaration evaluation.

Link copied to clipboard

Checks every component and modifier schema before a received tree can replace the current tree.