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) | ... | ... |