Commit c5e8900674ca976a90cfc75b916180c04ac8e628
1 parent
509952b6
Exists in
master
and in
3 other branches
Implementando temporização pelas funções do java
Showing
2 changed files
with
62 additions
and
38 deletions
Show diff stats
iocalls.c
... | ... | @@ -614,6 +614,16 @@ void remove_input_calls(H3270 *session) |
614 | 614 | } |
615 | 615 | } |
616 | 616 | |
617 | +LIB3270_EXPORT void lib3270_register_time_handlers(void * (*add)(unsigned long interval_ms, H3270 *session, void (*proc)(H3270 *session)), void (*rm)(void *timer)) | |
618 | +{ | |
619 | + if(add) | |
620 | + add_timeout = add; | |
621 | + | |
622 | + if(rm) | |
623 | + remove_timeout = rm; | |
624 | + | |
625 | +} | |
626 | + | |
617 | 627 | LIB3270_EXPORT int lib3270_register_handlers(const struct lib3270_callbacks *cbk) |
618 | 628 | { |
619 | 629 | if(!cbk) |
... | ... | @@ -622,11 +632,7 @@ LIB3270_EXPORT int lib3270_register_handlers(const struct lib3270_callbacks *cbk |
622 | 632 | if(cbk->sz != sizeof(struct lib3270_callbacks)) |
623 | 633 | return EINVAL; |
624 | 634 | |
625 | - if(cbk->AddTimeOut) | |
626 | - add_timeout = cbk->AddTimeOut; | |
627 | - | |
628 | - if(cbk->RemoveTimeOut) | |
629 | - remove_timeout = cbk->RemoveTimeOut; | |
635 | + lib3270_register_time_handlers(cbk->AddTimeOut,cbk->RemoveTimeOut); | |
630 | 636 | |
631 | 637 | if(cbk->AddInput) |
632 | 638 | add_input = cbk->AddInput; | ... | ... |
kybdc.h
... | ... | @@ -19,39 +19,57 @@ |
19 | 19 | |
20 | 20 | #ifndef KYBDC_H_INCLUDED |
21 | 21 | |
22 | -#define KYBDC_H_INCLUDED | |
23 | - | |
24 | -/* keyboard lock states */ | |
25 | -// LIB3270_INTERNAL unsigned int kybdlock; | |
26 | -#define KL_OERR_MASK 0x000f | |
27 | -#define KL_OERR_PROTECTED 1 | |
28 | -#define KL_OERR_NUMERIC 2 | |
29 | -#define KL_OERR_OVERFLOW 3 | |
30 | -#define KL_OERR_DBCS 4 | |
31 | -#define KL_NOT_CONNECTED 0x0010 | |
32 | -#define KL_AWAITING_FIRST 0x0020 | |
33 | -#define KL_OIA_TWAIT 0x0040 | |
34 | -#define KL_OIA_LOCKED 0x0080 | |
35 | -#define KL_DEFERRED_UNLOCK 0x0100 | |
36 | -#define KL_ENTER_INHIBIT 0x0200 | |
37 | -#define KL_SCROLLED 0x0400 | |
38 | -#define KL_OIA_MINUS 0x0800 | |
39 | - | |
40 | - | |
41 | -/* other functions */ | |
42 | -LIB3270_INTERNAL void add_xk(KeySym key, KeySym assoc); | |
43 | -LIB3270_INTERNAL void clear_xks(void); | |
44 | -LIB3270_INTERNAL void do_reset(H3270 *session, Boolean explicit); | |
45 | -LIB3270_INTERNAL void hex_input(char *s); | |
46 | -LIB3270_INTERNAL void kybdlock_clr(H3270 *session, unsigned int bits, const char *cause); | |
47 | -LIB3270_INTERNAL void kybd_inhibit(H3270 *session, Boolean inhibit); | |
48 | -LIB3270_INTERNAL void kybd_init(void); | |
49 | -LIB3270_INTERNAL int kybd_prime(void); | |
50 | -LIB3270_INTERNAL void kybd_scroll_lock(Boolean lock); | |
51 | -LIB3270_INTERNAL Boolean run_ta(void); | |
52 | -LIB3270_INTERNAL int state_from_keymap(char keymap[32]); | |
53 | -LIB3270_INTERNAL void kybd_connect(H3270 *session, int connected, void *dunno); | |
54 | -LIB3270_INTERNAL void kybd_in3270(H3270 *session, int in3270 unused, void *dunno); | |
22 | + #define KYBDC_H_INCLUDED | |
23 | + | |
24 | + /* keyboard lock states */ | |
25 | + typedef enum lib3270_kl_state | |
26 | + { | |
27 | + LIB3270_KL_OERR_MASK = 0x000f, | |
28 | + LIB3270_KL_OERR_PROTECTED = 0x0001, | |
29 | + LIB3270_KL_OERR_NUMERIC = 0x0002, | |
30 | + LIB3270_KL_OERR_OVERFLOW = 0x0003, | |
31 | + LIB3270_KL_OERR_DBCS = 0x0004, | |
32 | + LIB3270_KL_NOT_CONNECTED = 0x0010, | |
33 | + LIB3270_KL_AWAITING_FIRST = 0x0020, | |
34 | + LIB3270_KL_OIA_TWAIT = 0x0040, | |
35 | + LIB3270_KL_OIA_LOCKED = 0x0080, | |
36 | + LIB3270_KL_DEFERRED_UNLOCK = 0x0100, | |
37 | + LIB3270_KL_ENTER_INHIBIT = 0x0200, | |
38 | + LIB3270_KL_SCROLLED = 0x0400, | |
39 | + LIB3270_KL_OIA_MINUS = 0x0800 | |
40 | + | |
41 | + } LIB3270_KL_STATE; | |
42 | + | |
43 | + #define KL_OERR_MASK LIB3270_KL_OERR_MASK | |
44 | + #define KL_OERR_PROTECTED LIB3270_KL_OERR_PROTECTED | |
45 | + #define KL_OERR_NUMERIC LIB3270_KL_OERR_NUMERIC | |
46 | + #define KL_OERR_OVERFLOW LIB3270_KL_OERR_OVERFLOW | |
47 | + #define KL_OERR_DBCS LIB3270_KL_OERR_DBCS | |
48 | + #define KL_NOT_CONNECTED LIB3270_KL_NOT_CONNECTED | |
49 | + #define KL_AWAITING_FIRST LIB3270_KL_AWAITING_FIRST | |
50 | + #define KL_OIA_TWAIT LIB3270_KL_OIA_TWAIT | |
51 | + #define KL_OIA_LOCKED LIB3270_KL_OIA_LOCKED | |
52 | + #define KL_DEFERRED_UNLOCK LIB3270_KL_DEFERRED_UNLOCK | |
53 | + #define KL_ENTER_INHIBIT LIB3270_KL_ENTER_INHIBIT | |
54 | + #define KL_SCROLLED LIB3270_KL_SCROLLED | |
55 | + #define KL_OIA_MINUS LIB3270_KL_OIA_MINUS | |
56 | + | |
57 | + | |
58 | + | |
59 | + /* other functions */ | |
60 | + LIB3270_INTERNAL void add_xk(KeySym key, KeySym assoc); | |
61 | + LIB3270_INTERNAL void clear_xks(void); | |
62 | + LIB3270_INTERNAL void do_reset(H3270 *session, Boolean explicit); | |
63 | + LIB3270_INTERNAL void hex_input(char *s); | |
64 | + LIB3270_INTERNAL void kybdlock_clr(H3270 *session, unsigned int bits, const char *cause); | |
65 | + LIB3270_INTERNAL void kybd_inhibit(H3270 *session, Boolean inhibit); | |
66 | + LIB3270_INTERNAL void kybd_init(void); | |
67 | + LIB3270_INTERNAL int kybd_prime(void); | |
68 | + LIB3270_INTERNAL void kybd_scroll_lock(Boolean lock); | |
69 | + LIB3270_INTERNAL Boolean run_ta(void); | |
70 | + LIB3270_INTERNAL int state_from_keymap(char keymap[32]); | |
71 | + LIB3270_INTERNAL void kybd_connect(H3270 *session, int connected, void *dunno); | |
72 | + LIB3270_INTERNAL void kybd_in3270(H3270 *session, int in3270 unused, void *dunno); | |
55 | 73 | |
56 | 74 | |
57 | 75 | #endif /* KYBDC_H_INCLUDED */ | ... | ... |