diff --git a/src/include/pw3270/class.h b/src/include/pw3270/class.h index c560bf4..8c2d906 100644 --- a/src/include/pw3270/class.h +++ b/src/include/pw3270/class.h @@ -177,9 +177,9 @@ virtual int enter(void) = 0; virtual int pfkey(int key) = 0; virtual int pakey(int key) = 0; - virtual int quit(void) = 0; // Actions + virtual int quit(void) = 0; virtual int erase_eof(void) = 0; virtual int print(void) = 0; diff --git a/src/java/Makefile.in b/src/java/Makefile.in index ef45420..9614817 100644 --- a/src/java/Makefile.in +++ b/src/java/Makefile.in @@ -25,7 +25,7 @@ # PACKAGE_NAME=@PACKAGE_NAME@ -SOURCES=main.cc info.cc connect.cc getset.cc cursor.cc keyboard.cc +SOURCES=main.cc info.cc connect.cc getset.cc cursor.cc keyboard.cc actions.cc #---[ Paths ]------------------------------------------------------------------ diff --git a/src/java/actions.cc b/src/java/actions.cc new file mode 100644 index 0000000..162a574 --- /dev/null +++ b/src/java/actions.cc @@ -0,0 +1,89 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA, 02111-1307, USA + * + * Este programa está nomeado como actions.cc e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + + #include "private.h" + +/*---[ Implement ]----------------------------------------------------------------------------------*/ + +JNIEXPORT jint JNICALL Java_pw3270_terminal_quit(JNIEnv *env, jobject obj) { + + jint rc = -1; + + try { + + rc = getHandle(env,obj)->quit(); + + } catch(std::exception &e) { + + env->ThrowNew(env->FindClass("java/lang/Exception"), e.what()); + return -1; + + } + + return rc; + +} + +JNIEXPORT jint JNICALL Java_pw3270_terminal_erase_1eof(JNIEnv *env, jobject obj) { + + jint rc = -1; + + try { + + rc = getHandle(env,obj)->erase_eof(); + + } catch(std::exception &e) { + + env->ThrowNew(env->FindClass("java/lang/Exception"), e.what()); + return -1; + + } + + return rc; + +} + +JNIEXPORT jint JNICALL Java_pw3270_terminal_print(JNIEnv *env, jobject obj) { + + jint rc = -1; + + try { + + rc = getHandle(env,obj)->print(); + + } catch(std::exception &e) { + + env->ThrowNew(env->FindClass("java/lang/Exception"), e.what()); + return -1; + + } + + return rc; + +} diff --git a/src/java/jni3270.cbp b/src/java/jni3270.cbp index 2464086..4c43660 100644 --- a/src/java/jni3270.cbp +++ b/src/java/jni3270.cbp @@ -41,6 +41,7 @@ + diff --git a/src/java/terminal.java b/src/java/terminal.java index 7c46ab9..1fe20c9 100644 --- a/src/java/terminal.java +++ b/src/java/terminal.java @@ -35,9 +35,9 @@ public class terminal private long nativeHandle; // Init/Deinit - private native int init(); - private native int init(String id); - private native int deinit(); + private native int init(); + private native int init(String id); + private native int deinit(); // Get library/extension info public native String get_version(); @@ -61,6 +61,11 @@ public class terminal public native int pfkey(int key); public native int pakey(int key); + // Actions + public native int quit(); + public native int erase_eof(); + public native int print(); + // Connect/Disconnect public native int connect(String host, int seconds); public native int disconnect(); -- libgit2 0.21.2