diff --git a/android/Makefile b/android/Makefile index 3ef285d..adb9174 100644 --- a/android/Makefile +++ b/android/Makefile @@ -24,8 +24,15 @@ # JAVAH=javah +JAVAC=javac NDKBUILD=/opt/android-ndk-r8/ndk-build CLASSPATH=br/com/bb/pw3270 +ANDROIDSDK=/opt/android-sdk + +# package android.os does not exist +# javac -d bin/classes + +# /opt/android-sdk/tools/lib/ MKDIR=/bin/mkdir -p CONVERT=rsvg-convert @@ -66,7 +73,11 @@ res/drawable-hdpi/ic_launcher.png: ../src/pw3270/pixmaps/pw3270.svg @$(MKDIR) `dirname $@` @$(CONVERT) --format=png --width=72 --height=72 --output=$@ $< -sigs.txt: ./bin/classes/br/com/bb/pw3270/lib3270.class +bin/classes/$(CLASSPATH)/lib3270.class: src/$(CLASSPATH)/lib3270.java + @$(MKDIR) `dirname $@` + @$(JAVAC) -classpath $(ANDROIDSDK)/platforms/android-15/android.jar -d bin/classes src/$(CLASSPATH)/lib3270.java + +sigs.txt: bin/classes/$(CLASSPATH)/lib3270.class @javap -classpath ./bin/classes -s -p br.com.bb.pw3270.lib3270 > $@ jni/lib3270jni.h: bin/classes/$(CLASSPATH)/lib3270.class diff --git a/android/jni/Android.mk b/android/jni/Android.mk index 1ba77dc..dc182b7 100644 --- a/android/jni/Android.mk +++ b/android/jni/Android.mk @@ -34,7 +34,7 @@ LOCAL_DEFAULT_CPP_EXTENSION := cpp LOCAL_MODULE := lib3270 LOCAL_LDLIBS := -llog LOCAL_SRC_FILES := $(foreach SRC, $(TERMINAL_SOURCES) $(NETWORK_SOURCES), ../../src/lib3270/$(SRC)) \ - main.cpp misc.cpp html.cpp + main.cpp misc.cpp html.cpp actions.cpp include $(BUILD_SHARED_LIBRARY) diff --git a/android/lib3270NDK.cbp b/android/lib3270NDK.cbp index 07c5ea5..c7b081e 100644 --- a/android/lib3270NDK.cbp +++ b/android/lib3270NDK.cbp @@ -33,6 +33,7 @@ + @@ -41,11 +42,13 @@ + + diff --git a/android/src/br/com/bb/pw3270/lib3270.java b/android/src/br/com/bb/pw3270/lib3270.java index d6d6105..706c3e7 100644 --- a/android/src/br/com/bb/pw3270/lib3270.java +++ b/android/src/br/com/bb/pw3270/lib3270.java @@ -317,12 +317,12 @@ public class lib3270 { Log.i(TAG,"PF "+id); } - + public void xmit() { Log.i(TAG,"XMIT"); } - + /*---[ External methods ]------------------------------------------------*/ public int connect() @@ -365,6 +365,10 @@ public class lib3270 public native boolean isConnected(); public native boolean isTerminalReady(); + // Keyboard actions + public native void sendEnter(); + public native void sendPFkey(int id); + // Get/Set screen contents public native byte[] getHTML(); public native byte[] getText(); diff --git a/src/include/lib3270/actions.h b/src/include/lib3270/actions.h index b592a29..ce16be4 100644 --- a/src/include/lib3270/actions.h +++ b/src/include/lib3270/actions.h @@ -30,6 +30,10 @@ * */ +#ifdef __cplusplus + extern "C" { +#endif + // Standard actions #define DECLARE_LIB3270_ACTION( name ) LIB3270_EXPORT int lib3270_ ## name (H3270 *hSession); #define LIB3270_ACTION( name ) LIB3270_EXPORT int lib3270_ ## name (H3270 *hSession) @@ -49,3 +53,6 @@ // Load action table entries #include +#ifdef __cplusplus + } +#endif -- libgit2 0.21.2