Commit 73c89b0685cfd94584f61a33d74ef7ab61334e69
1 parent
f2132466
Exists in
master
and in
5 other branches
Issue #1 - Retorno de estado do hllapi deve considerar o estado
apresentado na OIA e não o estado da conexão com o host já que o segundo não captura bloqueios de teclado. Incluindo mais "pre-reqs" no script de instalação do cross-compiler Primeira versão compilada usando o SuSE Leap.
Showing
7 changed files
with
41 additions
and
21 deletions
Show diff stats
install-cross.sh
| @@ -36,8 +36,11 @@ gdk-pixbuf-query-loaders | @@ -36,8 +36,11 @@ gdk-pixbuf-query-loaders | ||
| 36 | python-devel | 36 | python-devel |
| 37 | EOF | 37 | EOF |
| 38 | 38 | ||
| 39 | -# Instala o tema usado no pacote windows | ||
| 40 | -sudo zypper --non-interactive in adwaita-icon-theme | 39 | +# Instala apicativos e temas necessários |
| 40 | +sudo zypper --non-interactive in \ | ||
| 41 | + adwaita-icon-theme \ | ||
| 42 | + gettext-tools \ | ||
| 43 | + glib2-devel | ||
| 41 | 44 | ||
| 42 | while read FILE | 45 | while read FILE |
| 43 | do | 46 | do |
src/classlib/local.cc
| @@ -123,6 +123,8 @@ | @@ -123,6 +123,8 @@ | ||
| 123 | // Lib3270 entry points | 123 | // Lib3270 entry points |
| 124 | const char * (*_get_version)(void); | 124 | const char * (*_get_version)(void); |
| 125 | LIB3270_CSTATE (*_get_connection_state)(H3270 *h); | 125 | LIB3270_CSTATE (*_get_connection_state)(H3270 *h); |
| 126 | + LIB3270_MESSAGE (*_get_program_message)(H3270 *h); | ||
| 127 | + | ||
| 126 | int (*_disconnect)(H3270 *h); | 128 | int (*_disconnect)(H3270 *h); |
| 127 | int (*_connect)(H3270 *h,int wait); | 129 | int (*_connect)(H3270 *h,int wait); |
| 128 | const char (*_set_url)(H3270 *h, const char *n); | 130 | const char (*_set_url)(H3270 *h, const char *n); |
| @@ -183,6 +185,7 @@ | @@ -183,6 +185,7 @@ | ||
| 183 | 185 | ||
| 184 | { (void **) & _is_connected, "lib3270_is_connected" }, | 186 | { (void **) & _is_connected, "lib3270_is_connected" }, |
| 185 | { (void **) & _get_connection_state, "lib3270_get_connection_state" }, | 187 | { (void **) & _get_connection_state, "lib3270_get_connection_state" }, |
| 188 | + { (void **) & _get_program_message, "lib3270_get_program_message" }, | ||
| 186 | 189 | ||
| 187 | { (void **) & _get_version, "lib3270_get_version" }, | 190 | { (void **) & _get_version, "lib3270_get_version" }, |
| 188 | { (void **) & _disconnect, "lib3270_disconnect" }, | 191 | { (void **) & _disconnect, "lib3270_disconnect" }, |
| @@ -266,6 +269,10 @@ | @@ -266,6 +269,10 @@ | ||
| 266 | return _get_connection_state(hSession); | 269 | return _get_connection_state(hSession); |
| 267 | } | 270 | } |
| 268 | 271 | ||
| 272 | + LIB3270_MESSAGE get_program_message(void) { | ||
| 273 | + return _get_program_message(hSession); | ||
| 274 | + } | ||
| 275 | + | ||
| 269 | int connect(void) | 276 | int connect(void) |
| 270 | { | 277 | { |
| 271 | return _connect(hSession,0); | 278 | return _connect(hSession,0); |
src/classlib/remote.cc
| @@ -49,20 +49,21 @@ | @@ -49,20 +49,21 @@ | ||
| 49 | #include <pw3270/ipcpackets.h> | 49 | #include <pw3270/ipcpackets.h> |
| 50 | #include <process.h> | 50 | #include <process.h> |
| 51 | #else | 51 | #else |
| 52 | - #define HLLAPI_PACKET_IS_CONNECTED "isConnected" | ||
| 53 | - #define HLLAPI_PACKET_GET_CSTATE "getConnectionState" | ||
| 54 | - #define HLLAPI_PACKET_IS_READY "isReady" | ||
| 55 | - #define HLLAPI_PACKET_DISCONNECT "disconnect" | ||
| 56 | - #define HLLAPI_PACKET_GET_CURSOR "getCursorAddress" | ||
| 57 | - #define HLLAPI_PACKET_ENTER "enter" | ||
| 58 | - #define HLLAPI_PACKET_QUIT "quit" | ||
| 59 | - #define HLLAPI_PACKET_ERASE "erase" | ||
| 60 | - #define HLLAPI_PACKET_ERASE_EOF "eraseEOF" | ||
| 61 | - #define HLLAPI_PACKET_ERASE_EOL "eraseEOL" | ||
| 62 | - #define HLLAPI_PACKET_ERASE_INPUT "eraseInput" | ||
| 63 | - #define HLLAPI_PACKET_PRINT "print" | ||
| 64 | - #define HLLAPI_PACKET_ASC2EBC "asc2ebc" | ||
| 65 | - #define HLLAPI_PACKET_EBC2ASC "ebc2asc" | 52 | + #define HLLAPI_PACKET_IS_CONNECTED "isConnected" |
| 53 | + #define HLLAPI_PACKET_GET_CSTATE "getConnectionState" | ||
| 54 | + #define HLLAPI_PACKET_GET_PROGRAM_MESSAGE "getProgramMessage" | ||
| 55 | + #define HLLAPI_PACKET_IS_READY "isReady" | ||
| 56 | + #define HLLAPI_PACKET_DISCONNECT "disconnect" | ||
| 57 | + #define HLLAPI_PACKET_GET_CURSOR "getCursorAddress" | ||
| 58 | + #define HLLAPI_PACKET_ENTER "enter" | ||
| 59 | + #define HLLAPI_PACKET_QUIT "quit" | ||
| 60 | + #define HLLAPI_PACKET_ERASE "erase" | ||
| 61 | + #define HLLAPI_PACKET_ERASE_EOF "eraseEOF" | ||
| 62 | + #define HLLAPI_PACKET_ERASE_EOL "eraseEOL" | ||
| 63 | + #define HLLAPI_PACKET_ERASE_INPUT "eraseInput" | ||
| 64 | + #define HLLAPI_PACKET_PRINT "print" | ||
| 65 | + #define HLLAPI_PACKET_ASC2EBC "asc2ebc" | ||
| 66 | + #define HLLAPI_PACKET_EBC2ASC "ebc2asc" | ||
| 66 | #endif // WIN32 | 67 | #endif // WIN32 |
| 67 | 68 | ||
| 68 | #include <pw3270/class.h> | 69 | #include <pw3270/class.h> |
| @@ -700,6 +701,10 @@ | @@ -700,6 +701,10 @@ | ||
| 700 | return (LIB3270_CSTATE) query_intval(HLLAPI_PACKET_GET_CSTATE); | 701 | return (LIB3270_CSTATE) query_intval(HLLAPI_PACKET_GET_CSTATE); |
| 701 | } | 702 | } |
| 702 | 703 | ||
| 704 | + LIB3270_MESSAGE get_program_message(void) { | ||
| 705 | + return (LIB3270_MESSAGE) query_intval(HLLAPI_PACKET_GET_PROGRAM_MESSAGE); | ||
| 706 | + } | ||
| 707 | + | ||
| 703 | int connect(void) | 708 | int connect(void) |
| 704 | { | 709 | { |
| 705 | int rc; | 710 | int rc; |
src/include/pw3270/class.h
| @@ -146,6 +146,7 @@ | @@ -146,6 +146,7 @@ | ||
| 146 | virtual bool is_ready(void) = 0; | 146 | virtual bool is_ready(void) = 0; |
| 147 | 147 | ||
| 148 | virtual LIB3270_CSTATE get_cstate(void) = 0; | 148 | virtual LIB3270_CSTATE get_cstate(void) = 0; |
| 149 | + virtual LIB3270_MESSAGE get_program_message(void) = 0; | ||
| 149 | 150 | ||
| 150 | // charset | 151 | // charset |
| 151 | #ifdef WIN32 | 152 | #ifdef WIN32 |
src/java/plugin.cc
| @@ -94,6 +94,10 @@ | @@ -94,6 +94,10 @@ | ||
| 94 | return lib3270_get_connection_state(hSession); | 94 | return lib3270_get_connection_state(hSession); |
| 95 | } | 95 | } |
| 96 | 96 | ||
| 97 | + LIB3270_MESSAGE get_program_message(void) { | ||
| 98 | + return lib3270_get_program_message(hSession); | ||
| 99 | + } | ||
| 100 | + | ||
| 97 | int disconnect(void) { | 101 | int disconnect(void) { |
| 98 | lib3270_disconnect(hSession); | 102 | lib3270_disconnect(hSession); |
| 99 | return 0; | 103 | return 0; |
src/plugins/hllapi/calls.cc
| @@ -164,7 +164,7 @@ | @@ -164,7 +164,7 @@ | ||
| 164 | 164 | ||
| 165 | HLLAPI_API_CALL hllapi_get_message_id(void) | 165 | HLLAPI_API_CALL hllapi_get_message_id(void) |
| 166 | { | 166 | { |
| 167 | - return session::get_default()->get_cstate(); | 167 | + return session::get_default()->get_program_message(); |
| 168 | } | 168 | } |
| 169 | 169 | ||
| 170 | HLLAPI_API_CALL hllapi_get_screen_at(WORD row, WORD col, LPSTR buffer) | 170 | HLLAPI_API_CALL hllapi_get_screen_at(WORD row, WORD col, LPSTR buffer) |
src/plugins/hllapi/pluginmain.c
| @@ -216,10 +216,6 @@ | @@ -216,10 +216,6 @@ | ||
| 216 | send_result(source,lib3270_disconnect(lib3270_get_default_session_handle())); | 216 | send_result(source,lib3270_disconnect(lib3270_get_default_session_handle())); |
| 217 | break; | 217 | break; |
| 218 | 218 | ||
| 219 | - case HLLAPI_PACKET_GET_PROGRAM_MESSAGE: | ||
| 220 | - send_result(source,lib3270_get_program_message(lib3270_get_default_session_handle())); | ||
| 221 | - break; | ||
| 222 | - | ||
| 223 | case HLLAPI_PACKET_IS_CONNECTED: | 219 | case HLLAPI_PACKET_IS_CONNECTED: |
| 224 | send_result(source,lib3270_in_tn3270e(lib3270_get_default_session_handle())); | 220 | send_result(source,lib3270_in_tn3270e(lib3270_get_default_session_handle())); |
| 225 | break; | 221 | break; |
| @@ -320,6 +316,10 @@ | @@ -320,6 +316,10 @@ | ||
| 320 | send_result(source,lib3270_get_connection_state(lib3270_get_default_session_handle())); | 316 | send_result(source,lib3270_get_connection_state(lib3270_get_default_session_handle())); |
| 321 | break; | 317 | break; |
| 322 | 318 | ||
| 319 | + case HLLAPI_PACKET_GET_PROGRAM_MESSAGE: | ||
| 320 | + send_result(source,lib3270_get_program_message(lib3270_get_default_session_handle())); | ||
| 321 | + break; | ||
| 322 | + | ||
| 323 | case HLLAPI_PACKET_SET_TOGGLE: | 323 | case HLLAPI_PACKET_SET_TOGGLE: |
| 324 | send_result(source,lib3270_set_toggle(lib3270_get_default_session_handle(), | 324 | send_result(source,lib3270_set_toggle(lib3270_get_default_session_handle(), |
| 325 | (LIB3270_TOGGLE) ((struct hllapi_packet_set *) source->buffer)->id, | 325 | (LIB3270_TOGGLE) ((struct hllapi_packet_set *) source->buffer)->id, |