
commonMain.at.asitplus.wallet.lib.aries.ProtocolStateMachine.kt Maven / Gradle / Ivy
package at.asitplus.wallet.lib.aries
import at.asitplus.crypto.datatypes.jws.JsonWebKey
import at.asitplus.wallet.lib.msg.JsonWebMessage
/**
* Use this class for exactly one instance of a protocol run.
*
* `T` is the type of the result value of this protocol run.
*/
interface ProtocolStateMachine {
fun startCreatingInvitation(): InternalNextMessage
fun startDirect(): InternalNextMessage
suspend fun parseMessage(body: JsonWebMessage, senderKey: JsonWebKey): InternalNextMessage
fun getResult(): T?
val isFinished: Boolean
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy