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,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,