Commit d7deba33e201306a962c3a7c817da764d288acd3
1 parent
16dccf89
Exists in
master
and in
5 other branches
Implementando IPC rexx para windows
Showing
3 changed files
with
24 additions
and
4 deletions
Show diff stats
src/include/pw3270/ipcpackets.h
src/plugins/hllapi/pluginmain.c
... | ... | @@ -191,6 +191,10 @@ |
191 | 191 | send_result(source,lib3270_in_tn3270e(lib3270_get_default_session_handle())); |
192 | 192 | break; |
193 | 193 | |
194 | + case HLLAPI_PACKET_IS_READY: | |
195 | + send_result(source,lib3270_is_ready(lib3270_get_default_session_handle())); | |
196 | + break; | |
197 | + | |
194 | 198 | case HLLAPI_PACKET_ENTER: |
195 | 199 | send_result(source,lib3270_enter(lib3270_get_default_session_handle())); |
196 | 200 | break; |
... | ... | @@ -267,6 +271,9 @@ |
267 | 271 | send_result(source,lib3270_get_cursor_address(lib3270_get_default_session_handle())); |
268 | 272 | break; |
269 | 273 | |
274 | + case HLLAPI_PACKET_GET_CSTATE: | |
275 | + send_result(source,lib3270_get_connection_state(lib3270_get_default_session_handle())); | |
276 | + break; | |
270 | 277 | |
271 | 278 | default: |
272 | 279 | send_result(source, EINVAL); | ... | ... |
src/plugins/rx3270/remote.cc
... | ... | @@ -118,7 +118,6 @@ DBusMessage * remote::create_message(const char *method) |
118 | 118 | } |
119 | 119 | #endif // HAVE_DBUS |
120 | 120 | |
121 | - | |
122 | 121 | rx3270 * rx3270::create_remote(const char *name) |
123 | 122 | { |
124 | 123 | return new remote(name); |
... | ... | @@ -419,7 +418,11 @@ LIB3270_CSTATE remote::get_cstate(void) |
419 | 418 | |
420 | 419 | if(hPipe != INVALID_HANDLE_VALUE) |
421 | 420 | { |
422 | - #warning Implementar | |
421 | + static const struct hllapi_packet_query query = { HLLAPI_PACKET_GET_CSTATE }; | |
422 | + struct hllapi_packet_result response; | |
423 | + DWORD cbSize = sizeof(query); | |
424 | + TransactNamedPipe(hPipe,(LPVOID) &query, cbSize, &response, sizeof(response), &cbSize,NULL); | |
425 | + return (LIB3270_CSTATE) response.rc; | |
423 | 426 | } |
424 | 427 | |
425 | 428 | return (LIB3270_CSTATE) -1; |
... | ... | @@ -541,7 +544,11 @@ bool remote::is_ready(void) |
541 | 544 | |
542 | 545 | if(hPipe != INVALID_HANDLE_VALUE) |
543 | 546 | { |
544 | - #warning Implementar | |
547 | + static const struct hllapi_packet_query query = { HLLAPI_PACKET_IS_READY }; | |
548 | + struct hllapi_packet_result response; | |
549 | + DWORD cbSize = sizeof(query); | |
550 | + TransactNamedPipe(hPipe,(LPVOID) &query, cbSize, &response, sizeof(response), &cbSize,NULL); | |
551 | + return response.rc != 0; | |
545 | 552 | } |
546 | 553 | |
547 | 554 | #elif defined(HAVE_DBUS) |
... | ... | @@ -792,7 +799,11 @@ int remote::set_cursor_position(int row, int col) |
792 | 799 | |
793 | 800 | if(hPipe != INVALID_HANDLE_VALUE) |
794 | 801 | { |
795 | - #warning Implementar | |
802 | + struct hllapi_packet_cursor query = { HLLAPI_PACKET_SET_CURSOR_POSITION, (unsigned short) row, (unsigned short) col }; | |
803 | + struct hllapi_packet_result response; | |
804 | + DWORD cbSize = sizeof(query); | |
805 | + TransactNamedPipe(hPipe,(LPVOID) &query, cbSize, &response, sizeof(response), &cbSize,NULL); | |
806 | + return response.rc != 0; | |
796 | 807 | } |
797 | 808 | |
798 | 809 | #elif defined(HAVE_DBUS) | ... | ... |