Add interfaces for social backup recovery tasks.

This commit is contained in:
akwizgran
2021-04-09 14:46:45 +01:00
parent 61453b96ab
commit 5b7bc54e16
2 changed files with 104 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
package org.briarproject.briar.api.socialbackup.recovery;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
@NotNullByDefault
public interface CustodianTask {
void start(Observer observer);
void cancel();
interface Observer {
void onStateChanged(State state);
}
class State {
static class Connecting extends State {
}
static class SendingShard extends State {
}
static class ReceivingAck extends State {
}
static class Success extends State {
}
static class Failure extends State {
enum Reason {
QR_CODE_INVALID,
QR_CODE_TOO_OLD,
QR_CODE_TOO_NEW,
NO_CONNECTION,
OTHER
}
private final Reason reason;
Failure(Reason reason) {
this.reason = reason;
}
public Reason getReason() {
return reason;
}
}
}
}

View File

@@ -0,0 +1,53 @@
package org.briarproject.briar.api.socialbackup.recovery;
import org.briarproject.bramble.api.crypto.PublicKey;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import java.net.InetSocketAddress;
@NotNullByDefault
public interface SecretOwnerTask {
void start(Observer observer);
void cancel();
interface Observer {
void onStateChanged(State state);
}
class State {
static class Listening extends State {
private final PublicKey publicKey;
private final InetSocketAddress socketAddress;
public Listening(PublicKey publicKey,
InetSocketAddress socketAddress) {
this.publicKey = publicKey;
this.socketAddress = socketAddress;
}
public PublicKey getPublicKey() {
return publicKey;
}
public InetSocketAddress getSocketAddress() {
return socketAddress;
}
}
static class ReceivingShard extends State {
}
static class SendingAck extends State {
}
static class Success extends State {
}
static class Failure extends State {
}
}
}