Commit 73c89b0685cfd94584f61a33d74ef7ab61334e69

Authored by Perry Werneck
1 parent f2132466

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.
install-cross.sh
... ... @@ -36,8 +36,11 @@ gdk-pixbuf-query-loaders
36 36 python-devel
37 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 45 while read FILE
43 46 do
... ...
src/classlib/local.cc
... ... @@ -123,6 +123,8 @@
123 123 // Lib3270 entry points
124 124 const char * (*_get_version)(void);
125 125 LIB3270_CSTATE (*_get_connection_state)(H3270 *h);
  126 + LIB3270_MESSAGE (*_get_program_message)(H3270 *h);
  127 +
126 128 int (*_disconnect)(H3270 *h);
127 129 int (*_connect)(H3270 *h,int wait);
128 130 const char (*_set_url)(H3270 *h, const char *n);
... ... @@ -183,6 +185,7 @@
183 185  
184 186 { (void **) & _is_connected, "lib3270_is_connected" },
185 187 { (void **) & _get_connection_state, "lib3270_get_connection_state" },
  188 + { (void **) & _get_program_message, "lib3270_get_program_message" },
186 189  
187 190 { (void **) & _get_version, "lib3270_get_version" },
188 191 { (void **) & _disconnect, "lib3270_disconnect" },
... ... @@ -266,6 +269,10 @@
266 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 276 int connect(void)
270 277 {
271 278 return _connect(hSession,0);
... ...
src/classlib/remote.cc
... ... @@ -49,20 +49,21 @@
49 49 #include <pw3270/ipcpackets.h>
50 50 #include <process.h>
51 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 67 #endif // WIN32
67 68  
68 69 #include <pw3270/class.h>
... ... @@ -700,6 +701,10 @@
700 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 708 int connect(void)
704 709 {
705 710 int rc;
... ...
src/include/pw3270/class.h
... ... @@ -146,6 +146,7 @@
146 146 virtual bool is_ready(void) = 0;
147 147  
148 148 virtual LIB3270_CSTATE get_cstate(void) = 0;
  149 + virtual LIB3270_MESSAGE get_program_message(void) = 0;
149 150  
150 151 // charset
151 152 #ifdef WIN32
... ...
src/java/plugin.cc
... ... @@ -94,6 +94,10 @@
94 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 101 int disconnect(void) {
98 102 lib3270_disconnect(hSession);
99 103 return 0;
... ...
src/plugins/hllapi/calls.cc
... ... @@ -164,7 +164,7 @@
164 164  
165 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 170 HLLAPI_API_CALL hllapi_get_screen_at(WORD row, WORD col, LPSTR buffer)
... ...
src/plugins/hllapi/pluginmain.c
... ... @@ -216,10 +216,6 @@
216 216 send_result(source,lib3270_disconnect(lib3270_get_default_session_handle()));
217 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 219 case HLLAPI_PACKET_IS_CONNECTED:
224 220 send_result(source,lib3270_in_tn3270e(lib3270_get_default_session_handle()));
225 221 break;
... ... @@ -320,6 +316,10 @@
320 316 send_result(source,lib3270_get_connection_state(lib3270_get_default_session_handle()));
321 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 323 case HLLAPI_PACKET_SET_TOGGLE:
324 324 send_result(source,lib3270_set_toggle(lib3270_get_default_session_handle(),
325 325 (LIB3270_TOGGLE) ((struct hllapi_packet_set *) source->buffer)->id,
... ...