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,7 +2228,15 @@ int kybd_prime(H3270 *hSession) | ||
2228 | } | 2228 | } |
2229 | #endif /*]*/ | 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 | time_t end = time(0)+seconds; | 2241 | time_t end = time(0)+seconds; |
2234 | 2242 |
src/core/properties.c
@@ -36,6 +36,7 @@ | @@ -36,6 +36,7 @@ | ||
36 | #include <string.h> | 36 | #include <string.h> |
37 | #include <lib3270.h> | 37 | #include <lib3270.h> |
38 | #include <lib3270/properties.h> | 38 | #include <lib3270/properties.h> |
39 | + #include <lib3270/keyboard.h> | ||
39 | 40 | ||
40 | #if defined(HAVE_LIBSSL) | 41 | #if defined(HAVE_LIBSSL) |
41 | #include <openssl/ssl.h> | 42 | #include <openssl/ssl.h> |
@@ -58,7 +59,7 @@ | @@ -58,7 +59,7 @@ | ||
58 | 59 | ||
59 | unsigned int lib3270_get_kybdlock_as_int(H3270 *hSession) | 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 | const LIB3270_INT_PROPERTY * lib3270_get_boolean_properties_list(void) | 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,7 +467,7 @@ void check_session_handle(H3270 **hSession) | ||
467 | #endif // ANDROID | 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 | // Is the session valid? | 472 | // Is the session valid? |
473 | if(!hSession) | 473 | if(!hSession) |
@@ -480,7 +480,7 @@ LIB3270_INTERNAL int check_online_session(H3270 *hSession) { | @@ -480,7 +480,7 @@ LIB3270_INTERNAL int check_online_session(H3270 *hSession) { | ||
480 | return 0; | 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 | // Is the session valid? | 485 | // Is the session valid? |
486 | if(!hSession) | 486 | if(!hSession) |
src/include/lib3270-internals.h
@@ -750,8 +750,8 @@ LIB3270_INTERNAL int lib3270_check_for_auto_reconnect(H3270 *hSession); | @@ -750,8 +750,8 @@ LIB3270_INTERNAL int lib3270_check_for_auto_reconnect(H3270 *hSession); | ||
750 | LIB3270_INTERNAL void check_session_handle(H3270 **hSession); | 750 | LIB3270_INTERNAL void check_session_handle(H3270 **hSession); |
751 | #endif // DEBUG | 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 | /// @brief Returns -1 if the session is invalid or not online (sets errno). | 756 | /// @brief Returns -1 if the session is invalid or not online (sets errno). |
757 | #define FAIL_IF_NOT_ONLINE(x) if(check_online_session(x)) return errno; | 757 | #define FAIL_IF_NOT_ONLINE(x) if(check_online_session(x)) return errno; |
src/include/lib3270/keyboard.h
@@ -67,7 +67,9 @@ | @@ -67,7 +67,9 @@ | ||
67 | * | 67 | * |
68 | * @return keyboard lock status. | 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 | #ifdef __cplusplus | 74 | #ifdef __cplusplus |
73 | } | 75 | } |