Commit 000f528f6c7405f35cd00e11d5faaea391c2683f
1 parent
cabab1ef
Exists in
master
and in
5 other branches
Iniciando implementação do plugin java
Showing
5 changed files
with
35 additions
and
21 deletions
Show diff stats
src/include/lib3270.h
... | ... | @@ -284,20 +284,20 @@ |
284 | 284 | |
285 | 285 | #if defined( ANDROID ) |
286 | 286 | |
287 | - #define LIB3270_EXPORT __attribute__((visibility("hidden"))) extern | |
287 | + #define LIB3270_EXPORT extern __attribute__((visibility("hidden"))) | |
288 | 288 | |
289 | 289 | #elif defined(_WIN32) |
290 | 290 | |
291 | 291 | #include <windows.h> |
292 | - #define LIB3270_EXPORT __declspec (dllexport) | |
292 | + #define LIB3270_EXPORT extern __declspec (dllexport) | |
293 | 293 | |
294 | 294 | #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) |
295 | 295 | |
296 | - #define LIB3270_EXPORT | |
296 | + #define LIB3270_EXPORT extern | |
297 | 297 | |
298 | 298 | #elif defined (HAVE_GNUC_VISIBILITY) |
299 | 299 | |
300 | - #define LIB3270_EXPORT __attribute__((visibility("default"))) extern | |
300 | + #define LIB3270_EXPORT extern __attribute__((visibility("default"))) | |
301 | 301 | |
302 | 302 | #else |
303 | 303 | ... | ... |
src/java/Makefile.in
... | ... | @@ -57,14 +57,15 @@ JRE_HOME=@JRE_HOME@ |
57 | 57 | |
58 | 58 | #---[ Paths ]------------------------------------------------------------------ |
59 | 59 | |
60 | -OBJDIR = .obj | |
61 | -BINDIR = .bin | |
60 | +ROOTDIR ?= . | |
61 | +OBJDIR ?= $(ROOTDIR)/.obj | |
62 | +BINDIR ?= $(ROOTDIR)/.bin | |
62 | 63 | |
63 | -OBJDBG = $(OBJDIR)/Debug | |
64 | -BINDBG = $(BINDIR)/Debug | |
64 | +BINDBG ?= $(BINDIR)/Debug | |
65 | +BINRLS ?= $(BINDIR)/Release | |
65 | 66 | |
66 | -OBJRLS = $(OBJDIR)/Release | |
67 | -BINRLS = $(BINDIR)/Release | |
67 | +OBJDBG ?= $(OBJDIR)/Debug | |
68 | +OBJRLS ?= $(OBJDIR)/Release | |
68 | 69 | |
69 | 70 | #---[ lib3270 common class ]--------------------------------------------------- |
70 | 71 | |
... | ... | @@ -111,22 +112,22 @@ $(BINRLS)/$(PACKAGE_NAME).jar: $(BINDIR)/java/$(PACKAGE_NAME)/terminal.class |
111 | 112 | |
112 | 113 | #---[ Release targets ]-------------------------------------------------------- |
113 | 114 | |
114 | -all: $(BINRLS)/@DLLPREFIX@jni3270@DLLEXT@ | |
115 | +all: $(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ | |
115 | 116 | |
116 | -Release: $(BINRLS)/@DLLPREFIX@jni3270@DLLEXT@ | |
117 | +Release: $(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ | |
117 | 118 | |
118 | 119 | zip: jni3270.zip |
119 | 120 | |
120 | -jni3270.zip: $(BINRLS)/@DLLPREFIX@jni3270@DLLEXT@ $(BINRLS)/$(PACKAGE_NAME).jar testprogram.java doc | |
121 | +jni3270.zip: $(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ $(BINRLS)/$(PACKAGE_NAME).jar testprogram.java doc | |
121 | 122 | @rm -fr .tmp.zip |
122 | 123 | @rm -f $@ |
123 | - @zip -9 -j $@ $(BINRLS)/@DLLPREFIX@jni3270@DLLEXT@ $(BINRLS)/$(PACKAGE_NAME).jar testprogram.java | |
124 | + @zip -9 -j $@ $(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ $(BINRLS)/$(PACKAGE_NAME).jar testprogram.java | |
124 | 125 | @zip -9 -r $@ doc |
125 | 126 | |
126 | 127 | doc: terminal.java |
127 | 128 | @$(JAVADOC) -encoding utf-8 -d doc $^ |
128 | 129 | |
129 | -$(BINRLS)/@DLLPREFIX@jni3270@DLLEXT@: \ | |
130 | +$(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@: \ | |
130 | 131 | $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC)@OBJEXT@) \ |
131 | 132 | $(CLASS_RELEASE_OBJECTS) |
132 | 133 | |
... | ... | @@ -137,24 +138,24 @@ $(BINRLS)/@DLLPREFIX@jni3270@DLLEXT@: \ |
137 | 138 | |
138 | 139 | #---[ Debug targets ]---------------------------------------------------------- |
139 | 140 | |
140 | -Debug: $(BINDBG)/@DLLPREFIX@jni3270@DLLEXT@ $(BINDIR)/java/testprogram.class | |
141 | +Debug: $(BINDBG)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ $(BINDIR)/java/testprogram.class | |
141 | 142 | |
142 | -$(BINDBG)/@DLLPREFIX@jni3270@DLLEXT@: $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC)@OBJEXT@) \ | |
143 | +$(BINDBG)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@: $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC)@OBJEXT@) \ | |
143 | 144 | $(CLASS_DEBUG_OBJECTS) |
144 | 145 | @echo " LD `basename $@`" |
145 | 146 | @$(MKDIR) `dirname $@` |
146 | 147 | @$(CXX) @SYSDLL_FLAGS@ $(LDFLAGS) $(OO_LDFLAGS) -o $@ $^ $(CLASS_LIBS) |
147 | 148 | |
148 | 149 | |
149 | -run: $(BINDBG)/@DLLPREFIX@jni3270@DLLEXT@ $(BINDIR)/java/testprogram.class | |
150 | - @LD_LIBRARY_PATH=../../.bin/Debug/lib/ java -Djava.library.path=$(BINDBG) -cp .bin/java/ testprogram | |
150 | +run: $(BINDBG)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ $(BINDIR)/java/testprogram.class | |
151 | + @LD_LIBRARY_PATH=../../.bin/Debug/lib/ java -Djava.library.path=$(BINDBG)@DLLDIR@ -cp .bin/java/ testprogram | |
151 | 152 | |
152 | 153 | #---[ Misc targets ]----------------------------------------------------------- |
153 | 154 | |
154 | -install: $(BINRLS)/@DLLPREFIX@jni3270@DLLEXT@ $(BINRLS)/$(PACKAGE_NAME).jar doc | |
155 | +install: $(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ $(BINRLS)/$(PACKAGE_NAME).jar doc | |
155 | 156 | |
156 | 157 | @$(MKDIR) $(DESTDIR)/$(jnidir) |
157 | - @$(INSTALL_PROGRAM) $(BINRLS)/@DLLPREFIX@jni3270@DLLEXT@ $(DESTDIR)/$(jnidir) | |
158 | + @$(INSTALL_PROGRAM) $(BINRLS)@DLLDIR@/@DLLPREFIX@jni3270@DLLEXT@ $(DESTDIR)/$(jnidir) | |
158 | 159 | |
159 | 160 | @mkdir -p $(DESTDIR)/$(jvmjardir) |
160 | 161 | @$(INSTALL_DATA) $(BINRLS)/$(PACKAGE_NAME).jar $(DESTDIR)/$(jvmjardir) | ... | ... |
src/java/jni3270.cbp
src/java/main.cc
... | ... | @@ -31,6 +31,10 @@ |
31 | 31 | |
32 | 32 | /*---[ Implement ]----------------------------------------------------------------------------------*/ |
33 | 33 | |
34 | +void set_java_session_factory(PW3270_NAMESPACE::session * (*factory)(const char *name)) { | |
35 | + session::set_plugin(factory); | |
36 | +} | |
37 | + | |
34 | 38 | static jfieldID getHandleField(JNIEnv *env, jobject obj) { |
35 | 39 | jclass c = env->GetObjectClass(obj); |
36 | 40 | // J is the type signature for long: | ... | ... |
src/java/private.h
... | ... | @@ -41,4 +41,12 @@ |
41 | 41 | |
42 | 42 | PW3270_NAMESPACE::session * getHandle(JNIEnv *env, jobject obj); |
43 | 43 | |
44 | + extern "C" { | |
45 | + | |
46 | + LIB3270_EXPORT void set_java_session_factory(PW3270_NAMESPACE::session * (*factory)(const char *name)); | |
47 | + | |
48 | + } | |
49 | + | |
50 | + | |
51 | + | |
44 | 52 | #endif // PRIVATE_H_INCLUDED | ... | ... |