Browse Source

Java register callback method "Engine.setPassphraseRequired()" done and tested.

JNI-114
heck 5 years ago
parent
commit
64e12d7774
  1. 14
      src/foundation/pEp/jniadapter/AbstractEngine.java
  2. 3
      src/foundation/pEp/jniadapter/Sync.java

14
src/foundation/pEp/jniadapter/AbstractEngine.java

@ -16,6 +16,7 @@ abstract class AbstractEngine extends UniquelyIdentifiable implements AutoClosea
private Sync.MessageToSendCallback messageToSendCallback; private Sync.MessageToSendCallback messageToSendCallback;
private Sync.NotifyHandshakeCallback notifyHandshakeCallback; private Sync.NotifyHandshakeCallback notifyHandshakeCallback;
private Sync.NeedsFastPollCallback needsFastPollCallback; private Sync.NeedsFastPollCallback needsFastPollCallback;
private Sync.PassphraseRequiredCallback passphraseRequiredCallback;
private final static DefaultCallback defaultCallback = new DefaultCallback(); private final static DefaultCallback defaultCallback = new DefaultCallback();
@ -164,6 +165,10 @@ abstract class AbstractEngine extends UniquelyIdentifiable implements AutoClosea
this.needsFastPollCallback = needsFastPollCallback; this.needsFastPollCallback = needsFastPollCallback;
} }
public void setPassphraseRequiredCallback(Sync.PassphraseRequiredCallback passphraseRequiredCallback) {
this.passphraseRequiredCallback = passphraseRequiredCallback;
}
public int needsFastPollCallFromC(boolean fast_poll_needed) { public int needsFastPollCallFromC(boolean fast_poll_needed) {
if (needsFastPollCallback != null) { if (needsFastPollCallback != null) {
needsFastPollCallback.needsFastPollCallFromC(fast_poll_needed); needsFastPollCallback.needsFastPollCallFromC(fast_poll_needed);
@ -187,7 +192,14 @@ abstract class AbstractEngine extends UniquelyIdentifiable implements AutoClosea
} }
public byte[] passphraseRequiredFromC() { public byte[] passphraseRequiredFromC() {
return toUTF8("passphrase_alice"); String ret = "";
if (passphraseRequiredCallback != null) {
ret = passphraseRequiredCallback.passphraseRequired();
} else {
// should never happen
assert false: "passphraseRequiredFromC called without callback registered";
}
return toUTF8(ret);
} }
public int messageToSendCallFromC (Message message) { public int messageToSendCallFromC (Message message) {

3
src/foundation/pEp/jniadapter/Sync.java

@ -19,6 +19,9 @@ public interface Sync {
void notifyHandshake(Identity myself, Identity partner, SyncHandshakeSignal signal); void notifyHandshake(Identity myself, Identity partner, SyncHandshakeSignal signal);
} }
interface PassphraseRequiredCallback {
String passphraseRequired();
}
public class DefaultCallback public class DefaultCallback
implements Sync.MessageToSendCallback, Sync.NotifyHandshakeCallback, Sync.NeedsFastPollCallback { implements Sync.MessageToSendCallback, Sync.NotifyHandshakeCallback, Sync.NeedsFastPollCallback {

Loading…
Cancel
Save