Commit 4e303018dde97d091343aee842d864fe02e12c17
1 parent
f739da92
Exists in
master
and in
5 other branches
Incluindo ring daemon
Showing
9 changed files
with
49 additions
and
41 deletions
Show diff stats
src/gtk/v3270/iocallback.c
| @@ -314,9 +314,9 @@ static int static_RunPendingEvents(int wait) | @@ -314,9 +314,9 @@ static int static_RunPendingEvents(int wait) | ||
| 314 | 314 | ||
| 315 | void v3270_register_io_handlers(v3270Class *cls) | 315 | void v3270_register_io_handlers(v3270Class *cls) |
| 316 | { | 316 | { |
| 317 | - static const struct lib3270_io_callbacks hdl = | 317 | + static const struct lib3270_callbacks hdl = |
| 318 | { | 318 | { |
| 319 | - sizeof(struct lib3270_io_callbacks), | 319 | + sizeof(struct lib3270_callbacks), |
| 320 | 320 | ||
| 321 | static_AddTimeOut, | 321 | static_AddTimeOut, |
| 322 | static_RemoveTimeOut, | 322 | static_RemoveTimeOut, |
| @@ -338,10 +338,11 @@ void v3270_register_io_handlers(v3270Class *cls) | @@ -338,10 +338,11 @@ void v3270_register_io_handlers(v3270Class *cls) | ||
| 338 | 338 | ||
| 339 | static_Sleep, | 339 | static_Sleep, |
| 340 | static_RunPendingEvents, | 340 | static_RunPendingEvents, |
| 341 | + gdk_beep | ||
| 341 | 342 | ||
| 342 | }; | 343 | }; |
| 343 | 344 | ||
| 344 | - if(lib3270_register_io_handlers(&hdl)) | 345 | + if(lib3270_register_handlers(&hdl)) |
| 345 | { | 346 | { |
| 346 | g_error("%s",_( "Can't set lib3270 I/O handlers" ) ); | 347 | g_error("%s",_( "Can't set lib3270 I/O handlers" ) ); |
| 347 | } | 348 | } |
src/include/lib3270.h
| @@ -470,22 +470,22 @@ | @@ -470,22 +470,22 @@ | ||
| 470 | */ | 470 | */ |
| 471 | LIB3270_EXPORT int lib3270_get_ssl_state(H3270 *h); | 471 | LIB3270_EXPORT int lib3270_get_ssl_state(H3270 *h); |
| 472 | 472 | ||
| 473 | - /** I/O callback table | 473 | + /** Callback table |
| 474 | * | 474 | * |
| 475 | * Structure with GUI unblocking I/O calls, used to replace the lib3270´s internal ones. | 475 | * Structure with GUI unblocking I/O calls, used to replace the lib3270´s internal ones. |
| 476 | * | 476 | * |
| 477 | */ | 477 | */ |
| 478 | - struct lib3270_io_callbacks | 478 | + struct lib3270_callbacks |
| 479 | { | 479 | { |
| 480 | unsigned short sz; | 480 | unsigned short sz; |
| 481 | 481 | ||
| 482 | - unsigned long (*AddTimeOut)(unsigned long interval_ms, H3270 *session, void (*proc)(H3270 *session)); | ||
| 483 | - void (*RemoveTimeOut)(unsigned long timer); | 482 | + unsigned long (*AddTimeOut)(unsigned long interval_ms, H3270 *session, void (*proc)(H3270 *session)); |
| 483 | + void (*RemoveTimeOut)(unsigned long timer); | ||
| 484 | 484 | ||
| 485 | - unsigned long (*AddInput)(int source, H3270 *session, void (*fn)(H3270 *session)); | 485 | + unsigned long (*AddInput)(int source, H3270 *session, void (*fn)(H3270 *session)); |
| 486 | void (*RemoveInput)(unsigned long id); | 486 | void (*RemoveInput)(unsigned long id); |
| 487 | 487 | ||
| 488 | - unsigned long (*AddExcept)(int source, H3270 *session, void (*fn)(H3270 *session)); | 488 | + unsigned long (*AddExcept)(int source, H3270 *session, void (*fn)(H3270 *session)); |
| 489 | 489 | ||
| 490 | #if !defined(_WIN32) /*[*/ | 490 | #if !defined(_WIN32) /*[*/ |
| 491 | unsigned long (*AddOutput)(int source, H3270 *session, void (*fn)(H3270 *session)); | 491 | unsigned long (*AddOutput)(int source, H3270 *session, void (*fn)(H3270 *session)); |
| @@ -495,19 +495,19 @@ | @@ -495,19 +495,19 @@ | ||
| 495 | 495 | ||
| 496 | int (*Wait)(int seconds); | 496 | int (*Wait)(int seconds); |
| 497 | int (*RunPendingEvents)(int wait); | 497 | int (*RunPendingEvents)(int wait); |
| 498 | + void (*ring_bell)(void); | ||
| 498 | 499 | ||
| 499 | }; | 500 | }; |
| 500 | 501 | ||
| 501 | /** | 502 | /** |
| 502 | - * Register application I/O Handlers. | 503 | + * Register application Handlers. |
| 503 | * | 504 | * |
| 504 | * @param cbk Structure with the application I/O handles to set. | 505 | * @param cbk Structure with the application I/O handles to set. |
| 505 | * | 506 | * |
| 506 | * @return 0 if ok, error code if not. | 507 | * @return 0 if ok, error code if not. |
| 507 | * | 508 | * |
| 508 | */ | 509 | */ |
| 509 | - int LIB3270_EXPORT lib3270_register_io_handlers(const struct lib3270_io_callbacks *cbk); | ||
| 510 | - | 510 | + int LIB3270_EXPORT lib3270_register_handlers(const struct lib3270_callbacks *cbk); |
| 511 | 511 | ||
| 512 | /** | 512 | /** |
| 513 | * Get program message. | 513 | * Get program message. |
src/lib3270/XtGlue.c
| @@ -94,9 +94,14 @@ static void DefaultRemoveInput(unsigned long id); | @@ -94,9 +94,14 @@ static void DefaultRemoveInput(unsigned long id); | ||
| 94 | 94 | ||
| 95 | static int DefaultProcessEvents(int block); | 95 | static int DefaultProcessEvents(int block); |
| 96 | 96 | ||
| 97 | -static const struct lib3270_io_callbacks default_io_callbacks = | 97 | +static void dunno(void) |
| 98 | { | 98 | { |
| 99 | - sizeof(struct lib3270_io_callbacks), | 99 | + |
| 100 | +} | ||
| 101 | + | ||
| 102 | +static const struct lib3270_callbacks default_callbacks = | ||
| 103 | +{ | ||
| 104 | + sizeof(struct lib3270_callbacks), | ||
| 100 | 105 | ||
| 101 | DefaultAddTimeOut, // unsigned long (*AddTimeOut)(unsigned long interval_ms, void (*proc)(void)); | 106 | DefaultAddTimeOut, // unsigned long (*AddTimeOut)(unsigned long interval_ms, void (*proc)(void)); |
| 102 | DefaultRemoveTimeOut, // void (*RemoveTimeOut)(unsigned long timer); | 107 | DefaultRemoveTimeOut, // void (*RemoveTimeOut)(unsigned long timer); |
| @@ -114,10 +119,12 @@ static const struct lib3270_io_callbacks default_io_callbacks = | @@ -114,10 +119,12 @@ static const struct lib3270_io_callbacks default_io_callbacks = | ||
| 114 | 119 | ||
| 115 | NULL, // int (*Wait)(int seconds); | 120 | NULL, // int (*Wait)(int seconds); |
| 116 | DefaultProcessEvents, // int (*RunPendingEvents)(int wait); | 121 | DefaultProcessEvents, // int (*RunPendingEvents)(int wait); |
| 122 | + dunno | ||
| 123 | + | ||
| 117 | 124 | ||
| 118 | }; | 125 | }; |
| 119 | 126 | ||
| 120 | -static const struct lib3270_io_callbacks *callbacks = &default_io_callbacks; | 127 | +static const struct lib3270_callbacks *callbacks = &default_callbacks; |
| 121 | 128 | ||
| 122 | /*---[ Implement default calls ]----------------------------------------------------------------------------*/ | 129 | /*---[ Implement default calls ]----------------------------------------------------------------------------*/ |
| 123 | 130 | ||
| @@ -870,14 +877,12 @@ void RemoveInput(unsigned long id) | @@ -870,14 +877,12 @@ void RemoveInput(unsigned long id) | ||
| 870 | callbacks->RemoveInput(id); | 877 | callbacks->RemoveInput(id); |
| 871 | } | 878 | } |
| 872 | 879 | ||
| 873 | -#define Register3270IOCallbacks(x) lib3270_register_io_handlers(x) | ||
| 874 | - | ||
| 875 | -int LIB3270_EXPORT lib3270_register_io_handlers(const struct lib3270_io_callbacks *cbk) | 880 | +int LIB3270_EXPORT lib3270_register_handlers(const struct lib3270_callbacks *cbk) |
| 876 | { | 881 | { |
| 877 | if(!cbk) | 882 | if(!cbk) |
| 878 | return EINVAL; | 883 | return EINVAL; |
| 879 | 884 | ||
| 880 | - if(cbk->sz != sizeof(struct lib3270_io_callbacks)) | 885 | + if(cbk->sz != sizeof(struct lib3270_callbacks)) |
| 881 | return EINVAL; | 886 | return EINVAL; |
| 882 | 887 | ||
| 883 | callbacks = cbk; | 888 | callbacks = cbk; |
| @@ -993,3 +998,10 @@ LIB3270_EXPORT int lib3270_wait(seconds) | @@ -993,3 +998,10 @@ LIB3270_EXPORT int lib3270_wait(seconds) | ||
| 993 | 998 | ||
| 994 | return 0; | 999 | return 0; |
| 995 | } | 1000 | } |
| 1001 | + | ||
| 1002 | +LIB3270_EXPORT void lib3270_ring_bell(void) | ||
| 1003 | +{ | ||
| 1004 | + callbacks->ring_bell(); | ||
| 1005 | +} | ||
| 1006 | + | ||
| 1007 | + |
src/lib3270/ansi.c
| @@ -917,7 +917,7 @@ ansi_sgr(int ig1 unused, int ig2 unused) | @@ -917,7 +917,7 @@ ansi_sgr(int ig1 unused, int ig2 unused) | ||
| 917 | static enum state | 917 | static enum state |
| 918 | ansi_bell(int ig1 unused, int ig2 unused) | 918 | ansi_bell(int ig1 unused, int ig2 unused) |
| 919 | { | 919 | { |
| 920 | - ring_bell(); | 920 | + lib3270_ring_bell(); |
| 921 | return DATA; | 921 | return DATA; |
| 922 | } | 922 | } |
| 923 | 923 |
src/lib3270/api.h
| @@ -285,8 +285,6 @@ | @@ -285,8 +285,6 @@ | ||
| 285 | 285 | ||
| 286 | #endif | 286 | #endif |
| 287 | 287 | ||
| 288 | - #define Register3270IOCallbacks(x) lib3270_register_io_handlers(x) | ||
| 289 | - | ||
| 290 | 288 | ||
| 291 | /* Screen processing */ | 289 | /* Screen processing */ |
| 292 | 290 | ||
| @@ -327,6 +325,7 @@ | @@ -327,6 +325,7 @@ | ||
| 327 | 325 | ||
| 328 | #define CHAR_ATTR_UNCONVERTED CHAR_ATTR_CG | 326 | #define CHAR_ATTR_UNCONVERTED CHAR_ATTR_CG |
| 329 | 327 | ||
| 328 | +/* | ||
| 330 | struct lib3270_screen_callbacks | 329 | struct lib3270_screen_callbacks |
| 331 | { | 330 | { |
| 332 | unsigned short sz; | 331 | unsigned short sz; |
| @@ -363,6 +362,7 @@ | @@ -363,6 +362,7 @@ | ||
| 363 | char * (*console_entry)(HCONSOLE hwnd); | 362 | char * (*console_entry)(HCONSOLE hwnd); |
| 364 | 363 | ||
| 365 | }; | 364 | }; |
| 365 | +*/ | ||
| 366 | 366 | ||
| 367 | struct lib3270_option | 367 | struct lib3270_option |
| 368 | { | 368 | { |
| @@ -383,8 +383,7 @@ | @@ -383,8 +383,7 @@ | ||
| 383 | const char *description; | 383 | const char *description; |
| 384 | }; | 384 | }; |
| 385 | 385 | ||
| 386 | - // LOCAL_EXTERN int Register3270ScreenCallbacks(const struct lib3270_screen_callbacks *cbk); | ||
| 387 | - LOCAL_EXTERN void ring_bell(void); | 386 | + LIB3270_EXPORT void lib3270_ring_bell(void); |
| 388 | 387 | ||
| 389 | #define new_3270_session(m) lib3270_session_new(m) | 388 | #define new_3270_session(m) lib3270_session_new(m) |
| 390 | 389 |
src/lib3270/ctlr.c
| @@ -1871,7 +1871,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | @@ -1871,7 +1871,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) | ||
| 1871 | status_syswait(); | 1871 | status_syswait(); |
| 1872 | } | 1872 | } |
| 1873 | if (wcc_sound_alarm) | 1873 | if (wcc_sound_alarm) |
| 1874 | - ring_bell(); | 1874 | + lib3270_ring_bell(); |
| 1875 | 1875 | ||
| 1876 | /* Set up the DBCS state. */ | 1876 | /* Set up the DBCS state. */ |
| 1877 | if (ctlr_dbcs_postprocess() < 0 && rv == PDS_OKAY_NO_OUTPUT) | 1877 | if (ctlr_dbcs_postprocess() < 0 && rv == PDS_OKAY_NO_OUTPUT) |
src/lib3270/kybd.c
| @@ -182,7 +182,7 @@ static int enq_chk(void) | @@ -182,7 +182,7 @@ static int enq_chk(void) | ||
| 182 | /* If operator error, complain and drop it. */ | 182 | /* If operator error, complain and drop it. */ |
| 183 | if (kybdlock & KL_OERR_MASK) | 183 | if (kybdlock & KL_OERR_MASK) |
| 184 | { | 184 | { |
| 185 | - ring_bell(); | 185 | + lib3270_ring_bell(); |
| 186 | trace_event(" dropped (operator error)\n"); | 186 | trace_event(" dropped (operator error)\n"); |
| 187 | return -1; | 187 | return -1; |
| 188 | } | 188 | } |
| @@ -190,7 +190,7 @@ static int enq_chk(void) | @@ -190,7 +190,7 @@ static int enq_chk(void) | ||
| 190 | /* If scroll lock, complain and drop it. */ | 190 | /* If scroll lock, complain and drop it. */ |
| 191 | if (kybdlock & KL_SCROLLED) | 191 | if (kybdlock & KL_SCROLLED) |
| 192 | { | 192 | { |
| 193 | - ring_bell(); | 193 | + lib3270_ring_bell(); |
| 194 | trace_event(" dropped (scrolled)\n"); | 194 | trace_event(" dropped (scrolled)\n"); |
| 195 | return -1; | 195 | return -1; |
| 196 | } | 196 | } |
| @@ -471,7 +471,7 @@ operator_error(int error_type) | @@ -471,7 +471,7 @@ operator_error(int error_type) | ||
| 471 | kybdlock_set((unsigned int)error_type, "operator_error"); | 471 | kybdlock_set((unsigned int)error_type, "operator_error"); |
| 472 | (void) flush_ta(); | 472 | (void) flush_ta(); |
| 473 | } else { | 473 | } else { |
| 474 | - ring_bell(); | 474 | + lib3270_ring_bell(); |
| 475 | } | 475 | } |
| 476 | } | 476 | } |
| 477 | 477 | ||
| @@ -1317,7 +1317,7 @@ void key_ACharacter(unsigned char c, enum keytype keytype, enum iaction cause,Bo | @@ -1317,7 +1317,7 @@ void key_ACharacter(unsigned char c, enum keytype keytype, enum iaction cause,Bo | ||
| 1317 | composing = FIRST; | 1317 | composing = FIRST; |
| 1318 | status_compose(True, c, keytype); | 1318 | status_compose(True, c, keytype); |
| 1319 | } else { | 1319 | } else { |
| 1320 | - ring_bell(); | 1320 | + lib3270_ring_bell(); |
| 1321 | composing = NONE; | 1321 | composing = NONE; |
| 1322 | status_compose(False, 0, KT_STD); | 1322 | status_compose(False, 0, KT_STD); |
| 1323 | } | 1323 | } |
| @@ -1335,7 +1335,7 @@ void key_ACharacter(unsigned char c, enum keytype keytype, enum iaction cause,Bo | @@ -1335,7 +1335,7 @@ void key_ACharacter(unsigned char c, enum keytype keytype, enum iaction cause,Bo | ||
| 1335 | c = composites[i].translation.keysym; | 1335 | c = composites[i].translation.keysym; |
| 1336 | keytype = composites[i].translation.keytype; | 1336 | keytype = composites[i].translation.keytype; |
| 1337 | } else { | 1337 | } else { |
| 1338 | - ring_bell(); | 1338 | + lib3270_ring_bell(); |
| 1339 | return; | 1339 | return; |
| 1340 | } | 1340 | } |
| 1341 | break; | 1341 | break; |
| @@ -2449,7 +2449,7 @@ lightpen_select(int baddr) | @@ -2449,7 +2449,7 @@ lightpen_select(int baddr) | ||
| 2449 | faddr = find_field_attribute(baddr); | 2449 | faddr = find_field_attribute(baddr); |
| 2450 | fa = ea_buf[faddr].fa; | 2450 | fa = ea_buf[faddr].fa; |
| 2451 | if (!FA_IS_SELECTABLE(fa)) { | 2451 | if (!FA_IS_SELECTABLE(fa)) { |
| 2452 | - ring_bell(); | 2452 | + lib3270_ring_bell(); |
| 2453 | return; | 2453 | return; |
| 2454 | } | 2454 | } |
| 2455 | designator = faddr; | 2455 | designator = faddr; |
| @@ -2464,7 +2464,7 @@ lightpen_select(int baddr) | @@ -2464,7 +2464,7 @@ lightpen_select(int baddr) | ||
| 2464 | ea_buf[designator].db != DBCS_LEFT_WRAP) && | 2464 | ea_buf[designator].db != DBCS_LEFT_WRAP) && |
| 2465 | (ea_buf[designator2].db != DBCS_RIGHT && | 2465 | (ea_buf[designator2].db != DBCS_RIGHT && |
| 2466 | ea_buf[designator2].db != DBCS_RIGHT_WRAP)) { | 2466 | ea_buf[designator2].db != DBCS_RIGHT_WRAP)) { |
| 2467 | - ring_bell(); | 2467 | + lib3270_ring_bell(); |
| 2468 | return; | 2468 | return; |
| 2469 | } | 2469 | } |
| 2470 | if (ea_buf[designator].cc == 0x42 && | 2470 | if (ea_buf[designator].cc == 0x42 && |
| @@ -2487,7 +2487,7 @@ lightpen_select(int baddr) | @@ -2487,7 +2487,7 @@ lightpen_select(int baddr) | ||
| 2487 | mdt_set(faddr); | 2487 | mdt_set(faddr); |
| 2488 | key_AID(AID_ENTER); | 2488 | key_AID(AID_ENTER); |
| 2489 | } else { | 2489 | } else { |
| 2490 | - ring_bell(); | 2490 | + lib3270_ring_bell(); |
| 2491 | } | 2491 | } |
| 2492 | return; | 2492 | return; |
| 2493 | } | 2493 | } |
| @@ -2513,7 +2513,7 @@ lightpen_select(int baddr) | @@ -2513,7 +2513,7 @@ lightpen_select(int baddr) | ||
| 2513 | key_AID(AID_ENTER); | 2513 | key_AID(AID_ENTER); |
| 2514 | break; | 2514 | break; |
| 2515 | default: | 2515 | default: |
| 2516 | - ring_bell(); | 2516 | + lib3270_ring_bell(); |
| 2517 | break; | 2517 | break; |
| 2518 | } | 2518 | } |
| 2519 | } | 2519 | } |
src/lib3270/screen.c
| @@ -632,10 +632,6 @@ void status_untiming(H3270 *session) | @@ -632,10 +632,6 @@ void status_untiming(H3270 *session) | ||
| 632 | session->set_timer(session,0); | 632 | session->set_timer(session,0); |
| 633 | } | 633 | } |
| 634 | 634 | ||
| 635 | -void ring_bell(void) | ||
| 636 | -{ | ||
| 637 | -} | ||
| 638 | - | ||
| 639 | /* Set the window title. */ /* | 635 | /* Set the window title. */ /* |
| 640 | void screen_title(char *text) | 636 | void screen_title(char *text) |
| 641 | { | 637 | { |
src/lib3270/selection.c
| @@ -205,7 +205,7 @@ LIB3270_EXPORT void lib3270_select_word(H3270 *session, int baddr) | @@ -205,7 +205,7 @@ LIB3270_EXPORT void lib3270_select_word(H3270 *session, int baddr) | ||
| 205 | 205 | ||
| 206 | if(!lib3270_connected(session) || isspace(ea_buf[baddr].chr)) | 206 | if(!lib3270_connected(session) || isspace(ea_buf[baddr].chr)) |
| 207 | { | 207 | { |
| 208 | - ring_bell(); | 208 | + lib3270_ring_bell(); |
| 209 | return; | 209 | return; |
| 210 | } | 210 | } |
| 211 | 211 | ||
| @@ -227,7 +227,7 @@ LIB3270_EXPORT int lib3270_select_field(H3270 *session, int baddr) | @@ -227,7 +227,7 @@ LIB3270_EXPORT int lib3270_select_field(H3270 *session, int baddr) | ||
| 227 | 227 | ||
| 228 | if(!lib3270_connected(session)) | 228 | if(!lib3270_connected(session)) |
| 229 | { | 229 | { |
| 230 | - ring_bell(); | 230 | + lib3270_ring_bell(); |
| 231 | return; | 231 | return; |
| 232 | } | 232 | } |
| 233 | 233 | ||
| @@ -235,7 +235,7 @@ LIB3270_EXPORT int lib3270_select_field(H3270 *session, int baddr) | @@ -235,7 +235,7 @@ LIB3270_EXPORT int lib3270_select_field(H3270 *session, int baddr) | ||
| 235 | 235 | ||
| 236 | if(start < 0) | 236 | if(start < 0) |
| 237 | { | 237 | { |
| 238 | - ring_bell(); | 238 | + lib3270_ring_bell(); |
| 239 | return -1; | 239 | return -1; |
| 240 | } | 240 | } |
| 241 | 241 |