Browse Source

Java code to be called from C sample

JNI-44
Hussein Kasem 9 years ago
parent
commit
de4f4f1de5
  1. 21
      android/src/org/pEp/jniadapter/Sync.java
  2. 28
      src/org/pEp/jniadapter/AbstractEngine.java

21
android/src/org/pEp/jniadapter/Sync.java

@ -0,0 +1,21 @@
package org.pEp.jniadapter;
import org.pEp.jniadapter.Identity;
import org.pEp.jniadapter.Message;
import org.pEp.jniadapter.pEpException;
/**
* Created by huss on 02/09/16.
*/
public interface Sync {
interface MessageToSendCallback {
void messageToSend(Message message);
}
interface showHandshakeCallback {
void showHandshake(Identity myself, Identity partner);
}
}

28
src/org/pEp/jniadapter/AbstractEngine.java

@ -10,6 +10,9 @@ abstract class AbstractEngine implements AutoCloseable {
System.loadLibrary("pEpJNI");
}
private Sync.MessageToSendCallback messageToSendCallback;
private Sync.showHandshakeCallback showHandshakeCallback;
private native void init() throws pEpException;
private native void release();
@ -143,5 +146,30 @@ abstract class AbstractEngine implements AutoCloseable {
return result;
}
public void setMessageToSendCallback(Sync.MessageToSendCallback messageToSendCallback) {
this.messageToSendCallback = messageToSendCallback;
}
public void setShowHandshakeCallback(Sync.showHandshakeCallback showHandshakeCallback) {
this.showHandshakeCallback = showHandshakeCallback;
}
//Call From C is not a good name only for sample purposes
public void callFrom_C_ShowHandshake(Identity myself, Identity partner) {
if (showHandshakeCallback != null) {
showHandshakeCallback.showHandshake(myself, partner);
} else {
throw new RuntimeException("Callback not set");
}
}
public void callFrom_C_MessageToSend (Message message) {
if (messageToSendCallback != null) {
messageToSendCallback.messageToSend(message);
} else {
throw new RuntimeException("Callback not set");
}
}
}

Loading…
Cancel
Save