Commit 87803e61daa84649caa5c2970fbf84d17c7b36bf
1 parent
a21e48be
Exists in
master
and in
3 other branches
Adjustments in the keyboard API.
Showing
5 changed files
with
18 additions
and
7 deletions
Show diff stats
src/core/keyboard/kybd.c
| ... | ... | @@ -2228,7 +2228,15 @@ int kybd_prime(H3270 *hSession) |
| 2228 | 2228 | } |
| 2229 | 2229 | #endif /*]*/ |
| 2230 | 2230 | |
| 2231 | -LIB3270_EXPORT LIB3270_KEYBOARD_LOCK_STATE lib3270_wait_for_unlock(H3270 *hSession, int seconds) | |
| 2231 | +LIB3270_EXPORT LIB3270_KEYBOARD_LOCK_STATE lib3270_get_keyboard_lock_state(H3270 *hSession) | |
| 2232 | +{ | |
| 2233 | + if(check_online_session(hSession)) | |
| 2234 | + return LIB3270_KL_NOT_CONNECTED; | |
| 2235 | + | |
| 2236 | + return (LIB3270_KEYBOARD_LOCK_STATE) hSession->kybdlock; | |
| 2237 | +} | |
| 2238 | + | |
| 2239 | +LIB3270_EXPORT LIB3270_KEYBOARD_LOCK_STATE lib3270_wait_for_keyboard_unlock(H3270 *hSession, int seconds) | |
| 2232 | 2240 | { |
| 2233 | 2241 | time_t end = time(0)+seconds; |
| 2234 | 2242 | ... | ... |
src/core/properties.c
| ... | ... | @@ -36,6 +36,7 @@ |
| 36 | 36 | #include <string.h> |
| 37 | 37 | #include <lib3270.h> |
| 38 | 38 | #include <lib3270/properties.h> |
| 39 | + #include <lib3270/keyboard.h> | |
| 39 | 40 | |
| 40 | 41 | #if defined(HAVE_LIBSSL) |
| 41 | 42 | #include <openssl/ssl.h> |
| ... | ... | @@ -58,7 +59,7 @@ |
| 58 | 59 | |
| 59 | 60 | unsigned int lib3270_get_kybdlock_as_int(H3270 *hSession) |
| 60 | 61 | { |
| 61 | - return hSession->kybdlock; | |
| 62 | + return (unsigned int) lib3270_get_keyboard_lock_state(hSession); | |
| 62 | 63 | } |
| 63 | 64 | |
| 64 | 65 | const LIB3270_INT_PROPERTY * lib3270_get_boolean_properties_list(void) | ... | ... |
src/core/session.c
| ... | ... | @@ -467,7 +467,7 @@ void check_session_handle(H3270 **hSession) |
| 467 | 467 | #endif // ANDROID |
| 468 | 468 | } |
| 469 | 469 | |
| 470 | -LIB3270_INTERNAL int check_online_session(H3270 *hSession) { | |
| 470 | +LIB3270_INTERNAL int check_online_session(const H3270 *hSession) { | |
| 471 | 471 | |
| 472 | 472 | // Is the session valid? |
| 473 | 473 | if(!hSession) |
| ... | ... | @@ -480,7 +480,7 @@ LIB3270_INTERNAL int check_online_session(H3270 *hSession) { |
| 480 | 480 | return 0; |
| 481 | 481 | } |
| 482 | 482 | |
| 483 | -LIB3270_INTERNAL int check_offline_session(H3270 *hSession) { | |
| 483 | +LIB3270_INTERNAL int check_offline_session(const H3270 *hSession) { | |
| 484 | 484 | |
| 485 | 485 | // Is the session valid? |
| 486 | 486 | if(!hSession) | ... | ... |
src/include/lib3270-internals.h
| ... | ... | @@ -750,8 +750,8 @@ LIB3270_INTERNAL int lib3270_check_for_auto_reconnect(H3270 *hSession); |
| 750 | 750 | LIB3270_INTERNAL void check_session_handle(H3270 **hSession); |
| 751 | 751 | #endif // DEBUG |
| 752 | 752 | |
| 753 | -LIB3270_INTERNAL int check_online_session(H3270 *hSession); | |
| 754 | -LIB3270_INTERNAL int check_offline_session(H3270 *hSession); | |
| 753 | +LIB3270_INTERNAL int check_online_session(const H3270 *hSession); | |
| 754 | +LIB3270_INTERNAL int check_offline_session(const H3270 *hSession); | |
| 755 | 755 | |
| 756 | 756 | /// @brief Returns -1 if the session is invalid or not online (sets errno). |
| 757 | 757 | #define FAIL_IF_NOT_ONLINE(x) if(check_online_session(x)) return errno; | ... | ... |
src/include/lib3270/keyboard.h
| ... | ... | @@ -67,7 +67,9 @@ |
| 67 | 67 | * |
| 68 | 68 | * @return keyboard lock status. |
| 69 | 69 | */ |
| 70 | - LIB3270_EXPORT LIB3270_KEYBOARD_LOCK_STATE lib3270_wait_for_unlock(H3270 *hSession, int seconds); | |
| 70 | + LIB3270_EXPORT LIB3270_KEYBOARD_LOCK_STATE lib3270_wait_for_keyboard_unlock(H3270 *hSession, int seconds); | |
| 71 | + | |
| 72 | + LIB3270_EXPORT LIB3270_KEYBOARD_LOCK_STATE lib3270_get_keyboard_lock_state(H3270 *hSession); | |
| 71 | 73 | |
| 72 | 74 | #ifdef __cplusplus |
| 73 | 75 | } | ... | ... |