From e350d497abe560aeeef88081ae93d73135ece00f Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Wed, 7 Sep 2022 16:28:04 -0300 Subject: [wallet] implement prototype for handling incoming pay-pull URI --- .../java/net/taler/wallet/peer/OutgoingState.kt | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 wallet/src/main/java/net/taler/wallet/peer/OutgoingState.kt (limited to 'wallet/src/main/java/net/taler/wallet/peer/OutgoingState.kt') diff --git a/wallet/src/main/java/net/taler/wallet/peer/OutgoingState.kt b/wallet/src/main/java/net/taler/wallet/peer/OutgoingState.kt new file mode 100644 index 0000000..0e01056 --- /dev/null +++ b/wallet/src/main/java/net/taler/wallet/peer/OutgoingState.kt @@ -0,0 +1,47 @@ +/* + * This file is part of GNU Taler + * (C) 2022 Taler Systems S.A. + * + * GNU Taler is free software; you can redistribute it and/or modify it under the + * terms of the GNU General Public License as published by the Free Software + * Foundation; either version 3, or (at your option) any later version. + * + * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * GNU Taler; see the file COPYING. If not, see + */ + +package net.taler.wallet.peer + +import android.graphics.Bitmap +import kotlinx.serialization.Serializable +import net.taler.wallet.backend.TalerErrorInfo + +sealed class OutgoingState +object OutgoingIntro : OutgoingState() +object OutgoingCreating : OutgoingState() +data class OutgoingResponse( + val talerUri: String, + val qrCode: Bitmap, +) : OutgoingState() + +data class OutgoingError( + val info: TalerErrorInfo, +) : OutgoingState() + +@Serializable +data class InitiatePeerPullPaymentResponse( + /** + * Taler URI for the other party to make the payment that was requested. + */ + val talerUri: String, +) + +@Serializable +data class InitiatePeerPushPaymentResponse( + val exchangeBaseUrl: String, + val talerUri: String, +) -- cgit v1.2.3