diff --git a/src/java/Makefile.in b/src/java/Makefile.in index 0c89124..e2a3517 100644 --- a/src/java/Makefile.in +++ b/src/java/Makefile.in @@ -94,6 +94,11 @@ $(BINDIR)/java/%.class: %.java $(BINDIR)/java/$(PACKAGE_NAME)/terminal.class @mkdir -p `dirname $@` @$(JAVAC) -encoding utf-8 -cp $(BINDIR)/java -d $(BINDIR)/java $< +$(BINDIR)/java/%.class: sample/%.java $(BINDIR)/java/$(PACKAGE_NAME)/terminal.class + @echo $< ... + @mkdir -p `dirname $@` + $(JAVAC) -encoding utf-8 -cp $(BINDIR)/java -d $(BINDIR)/java $< + $(BINDIR)/java/$(PACKAGE_NAME)/%.class: %.java @echo $< ... @mkdir -p `dirname $@` diff --git a/src/java/main.cc b/src/java/main.cc index a26691c..9260fda 100644 --- a/src/java/main.cc +++ b/src/java/main.cc @@ -100,3 +100,19 @@ JNIEXPORT jint JNICALL Java_pw3270_terminal_deinit(JNIEnv *env, jobject obj) { return 0; } + +JNIEXPORT jint JNICALL Java_pw3270_terminal_wait_1for_1ready(JNIEnv *env, jobject obj, jint seconds) { + + try { + + return getHandle(env,obj)->wait_for_ready((int) seconds); + + } catch(std::exception &e) { + + env->ThrowNew(env->FindClass("java/lang/Exception"), e.what()); + + } + + return 0; + +} diff --git a/src/java/run.sh b/src/java/run.sh new file mode 100755 index 0000000..7fc1792 --- /dev/null +++ b/src/java/run.sh @@ -0,0 +1,6 @@ +#!/bin/bash +make -C ../.. Debug +make .bin/java/${1}.class + +LD_LIBRARY_PATH=../../.bin/Debug/lib/ java -Djava.library.path=.bin/Debug -cp .bin/java/ ${1} + diff --git a/src/java/terminal.java b/src/java/terminal.java index 32c1fe6..97bece0 100644 --- a/src/java/terminal.java +++ b/src/java/terminal.java @@ -40,6 +40,16 @@ public class terminal private native int deinit(); /** + * Wait for terminal negociation. + *

+ * Wait on a loop until the terminal contents are + * ready for reading. + * + * @param seconds Maximum time (in seconds) to wait for. + */ + public native int wait_for_ready(int seconds); + + /** * Get the current lib3270 version. * * @return String with the current lib3270 version. @@ -108,7 +118,28 @@ public class terminal public native int print(); // Connect/Disconnect + + /** + * Connect to 3270 host. + *

+ * Connect to the 3270 host + *

+ * URI formats: + *

+ * + * @param host Host URI. + * @param seconds How many seconds to wait for a connection. + * + */ public native int connect(String host, int seconds); + + /** + * Disconnect from host. + * + */ public native int disconnect(); /** -- libgit2 0.21.2