From 71c327112c78ae706f5cf56fd1dec32aee94dd78 Mon Sep 17 00:00:00 2001 From: ameba23 Date: Mon, 12 Apr 2021 15:02:26 +0200 Subject: [PATCH] Implement SecretOwnerTask --- .../recovery/SecretOwnerTaskImpl.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 briar-core/src/main/java/org/briarproject/briar/socialbackup/recovery/SecretOwnerTaskImpl.java diff --git a/briar-core/src/main/java/org/briarproject/briar/socialbackup/recovery/SecretOwnerTaskImpl.java b/briar-core/src/main/java/org/briarproject/briar/socialbackup/recovery/SecretOwnerTaskImpl.java new file mode 100644 index 000000000..0a7439b59 --- /dev/null +++ b/briar-core/src/main/java/org/briarproject/briar/socialbackup/recovery/SecretOwnerTaskImpl.java @@ -0,0 +1,39 @@ +package org.briarproject.briar.socialbackup.recovery; + +import org.briarproject.bramble.api.crypto.CryptoComponent; +import org.briarproject.bramble.api.crypto.KeyPair; +import org.briarproject.bramble.api.lifecycle.IoExecutor; +import org.briarproject.briar.api.socialbackup.recovery.SecretOwnerTask; + +import java.net.InetSocketAddress; +import java.util.concurrent.Executor; + +import javax.inject.Inject; + +public class SecretOwnerTaskImpl implements SecretOwnerTask { + + private final CryptoComponent crypto; + private final Executor ioExecutor; + private final KeyPair localKeyPair; + private boolean cancelled = false; + + @Inject + SecretOwnerTaskImpl(CryptoComponent crypto, + @IoExecutor Executor ioExecutor) { + this.crypto = crypto; + this.ioExecutor = ioExecutor; + localKeyPair = crypto.generateAgreementKeyPair(); + } + + @Override + public void start(Observer observer) { + // TODO use the actual ip address on local network + InetSocketAddress socketAddress = InetSocketAddress.createUnresolved("localhost", 1234); + observer.onStateChanged(new State.Listening(localKeyPair.getPublic(), socketAddress)); + } + + @Override + public void cancel() { + cancelled = true; + } +}