SecureQRScanner

class SecureQRScanner(headerPrefixes: List<String> = listOf( "mDLQR:v2?", "mDLQR%3Av2?" ), assemblyTimeoutMs: Long, maxSessionAgeMs: Long, trustedTypeMetadataRegistries: List<String> = emptyList(), metadataResolver: SecureQRPayloadMetadataResolver = SecureQRPayloadMetadataResolver())

Thread-safe streaming QR assembler for SecureQR v2 frames.

  • Accumulates frames by session id (id=...).

  • Assembles once all frames 0..m-1 are present.

  • Strips last-frame padding (p=...).

  • Decodes v2 transport payload -> SD-JWT combined presentation.

  • Evicts old sessions (maxSessionAgeMs).

If you still want "soft assemble after timeout", set assemblyTimeoutMs> 0.

Constructors

Link copied to clipboard
constructor(headerPrefixes: List<String> = listOf( "mDLQR:v2?", "mDLQR%3Av2?" ), assemblyTimeoutMs: Long, maxSessionAgeMs: Long, trustedTypeMetadataRegistries: List<String> = emptyList(), metadataResolver: SecureQRPayloadMetadataResolver = SecureQRPayloadMetadataResolver())

Properties

Link copied to clipboard

Functions

Link copied to clipboard
fun extractVct(payload: String): String?
Link copied to clipboard

Alias name matching your iOS API style.

Link copied to clipboard
suspend fun processSecureFrameWithMetadata(frame: String, language: String = Locale.getDefault().toLanguageTag(), registries: List<String> = trustedTypeMetadataRegistries): SecureQRFrameResult

Alias name matching your iOS API style.

Link copied to clipboard
fun reset()
Link copied to clipboard
suspend fun resolvePayloadMetadata(payload: String, language: String = Locale.getDefault().toLanguageTag(), registries: List<String> = trustedTypeMetadataRegistries): SecureQRPayloadMetadata?
Link copied to clipboard

Accepts a single scanned QR string.

Link copied to clipboard
suspend fun scanFrameWithMetadata(frame: String, language: String = Locale.getDefault().toLanguageTag(), registries: List<String> = trustedTypeMetadataRegistries): SecureQRFrameResult

Accepts a scanned QR string and, when complete, resolves the SD-JWT VCT metadata display name for language.