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 | 314 | |
315 | 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 | 321 | static_AddTimeOut, |
322 | 322 | static_RemoveTimeOut, |
... | ... | @@ -338,10 +338,11 @@ void v3270_register_io_handlers(v3270Class *cls) |
338 | 338 | |
339 | 339 | static_Sleep, |
340 | 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 | 347 | g_error("%s",_( "Can't set lib3270 I/O handlers" ) ); |
347 | 348 | } | ... | ... |
src/include/lib3270.h
... | ... | @@ -470,22 +470,22 @@ |
470 | 470 | */ |
471 | 471 | LIB3270_EXPORT int lib3270_get_ssl_state(H3270 *h); |
472 | 472 | |
473 | - /** I/O callback table | |
473 | + /** Callback table | |
474 | 474 | * |
475 | 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 | 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 | 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 | 490 | #if !defined(_WIN32) /*[*/ |
491 | 491 | unsigned long (*AddOutput)(int source, H3270 *session, void (*fn)(H3270 *session)); |
... | ... | @@ -495,19 +495,19 @@ |
495 | 495 | |
496 | 496 | int (*Wait)(int seconds); |
497 | 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 | 505 | * @param cbk Structure with the application I/O handles to set. |
505 | 506 | * |
506 | 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 | 513 | * Get program message. | ... | ... |
src/lib3270/XtGlue.c
... | ... | @@ -94,9 +94,14 @@ static void DefaultRemoveInput(unsigned long id); |
94 | 94 | |
95 | 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 | 106 | DefaultAddTimeOut, // unsigned long (*AddTimeOut)(unsigned long interval_ms, void (*proc)(void)); |
102 | 107 | DefaultRemoveTimeOut, // void (*RemoveTimeOut)(unsigned long timer); |
... | ... | @@ -114,10 +119,12 @@ static const struct lib3270_io_callbacks default_io_callbacks = |
114 | 119 | |
115 | 120 | NULL, // int (*Wait)(int seconds); |
116 | 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 | 129 | /*---[ Implement default calls ]----------------------------------------------------------------------------*/ |
123 | 130 | |
... | ... | @@ -870,14 +877,12 @@ void RemoveInput(unsigned long id) |
870 | 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 | 882 | if(!cbk) |
878 | 883 | return EINVAL; |
879 | 884 | |
880 | - if(cbk->sz != sizeof(struct lib3270_io_callbacks)) | |
885 | + if(cbk->sz != sizeof(struct lib3270_callbacks)) | |
881 | 886 | return EINVAL; |
882 | 887 | |
883 | 888 | callbacks = cbk; |
... | ... | @@ -993,3 +998,10 @@ LIB3270_EXPORT int lib3270_wait(seconds) |
993 | 998 | |
994 | 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
src/lib3270/api.h
... | ... | @@ -285,8 +285,6 @@ |
285 | 285 | |
286 | 286 | #endif |
287 | 287 | |
288 | - #define Register3270IOCallbacks(x) lib3270_register_io_handlers(x) | |
289 | - | |
290 | 288 | |
291 | 289 | /* Screen processing */ |
292 | 290 | |
... | ... | @@ -327,6 +325,7 @@ |
327 | 325 | |
328 | 326 | #define CHAR_ATTR_UNCONVERTED CHAR_ATTR_CG |
329 | 327 | |
328 | +/* | |
330 | 329 | struct lib3270_screen_callbacks |
331 | 330 | { |
332 | 331 | unsigned short sz; |
... | ... | @@ -363,6 +362,7 @@ |
363 | 362 | char * (*console_entry)(HCONSOLE hwnd); |
364 | 363 | |
365 | 364 | }; |
365 | +*/ | |
366 | 366 | |
367 | 367 | struct lib3270_option |
368 | 368 | { |
... | ... | @@ -383,8 +383,7 @@ |
383 | 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 | 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 | 1871 | status_syswait(); |
1872 | 1872 | } |
1873 | 1873 | if (wcc_sound_alarm) |
1874 | - ring_bell(); | |
1874 | + lib3270_ring_bell(); | |
1875 | 1875 | |
1876 | 1876 | /* Set up the DBCS state. */ |
1877 | 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 | 182 | /* If operator error, complain and drop it. */ |
183 | 183 | if (kybdlock & KL_OERR_MASK) |
184 | 184 | { |
185 | - ring_bell(); | |
185 | + lib3270_ring_bell(); | |
186 | 186 | trace_event(" dropped (operator error)\n"); |
187 | 187 | return -1; |
188 | 188 | } |
... | ... | @@ -190,7 +190,7 @@ static int enq_chk(void) |
190 | 190 | /* If scroll lock, complain and drop it. */ |
191 | 191 | if (kybdlock & KL_SCROLLED) |
192 | 192 | { |
193 | - ring_bell(); | |
193 | + lib3270_ring_bell(); | |
194 | 194 | trace_event(" dropped (scrolled)\n"); |
195 | 195 | return -1; |
196 | 196 | } |
... | ... | @@ -471,7 +471,7 @@ operator_error(int error_type) |
471 | 471 | kybdlock_set((unsigned int)error_type, "operator_error"); |
472 | 472 | (void) flush_ta(); |
473 | 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 | 1317 | composing = FIRST; |
1318 | 1318 | status_compose(True, c, keytype); |
1319 | 1319 | } else { |
1320 | - ring_bell(); | |
1320 | + lib3270_ring_bell(); | |
1321 | 1321 | composing = NONE; |
1322 | 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 | 1335 | c = composites[i].translation.keysym; |
1336 | 1336 | keytype = composites[i].translation.keytype; |
1337 | 1337 | } else { |
1338 | - ring_bell(); | |
1338 | + lib3270_ring_bell(); | |
1339 | 1339 | return; |
1340 | 1340 | } |
1341 | 1341 | break; |
... | ... | @@ -2449,7 +2449,7 @@ lightpen_select(int baddr) |
2449 | 2449 | faddr = find_field_attribute(baddr); |
2450 | 2450 | fa = ea_buf[faddr].fa; |
2451 | 2451 | if (!FA_IS_SELECTABLE(fa)) { |
2452 | - ring_bell(); | |
2452 | + lib3270_ring_bell(); | |
2453 | 2453 | return; |
2454 | 2454 | } |
2455 | 2455 | designator = faddr; |
... | ... | @@ -2464,7 +2464,7 @@ lightpen_select(int baddr) |
2464 | 2464 | ea_buf[designator].db != DBCS_LEFT_WRAP) && |
2465 | 2465 | (ea_buf[designator2].db != DBCS_RIGHT && |
2466 | 2466 | ea_buf[designator2].db != DBCS_RIGHT_WRAP)) { |
2467 | - ring_bell(); | |
2467 | + lib3270_ring_bell(); | |
2468 | 2468 | return; |
2469 | 2469 | } |
2470 | 2470 | if (ea_buf[designator].cc == 0x42 && |
... | ... | @@ -2487,7 +2487,7 @@ lightpen_select(int baddr) |
2487 | 2487 | mdt_set(faddr); |
2488 | 2488 | key_AID(AID_ENTER); |
2489 | 2489 | } else { |
2490 | - ring_bell(); | |
2490 | + lib3270_ring_bell(); | |
2491 | 2491 | } |
2492 | 2492 | return; |
2493 | 2493 | } |
... | ... | @@ -2513,7 +2513,7 @@ lightpen_select(int baddr) |
2513 | 2513 | key_AID(AID_ENTER); |
2514 | 2514 | break; |
2515 | 2515 | default: |
2516 | - ring_bell(); | |
2516 | + lib3270_ring_bell(); | |
2517 | 2517 | break; |
2518 | 2518 | } |
2519 | 2519 | } | ... | ... |
src/lib3270/screen.c
src/lib3270/selection.c
... | ... | @@ -205,7 +205,7 @@ LIB3270_EXPORT void lib3270_select_word(H3270 *session, int baddr) |
205 | 205 | |
206 | 206 | if(!lib3270_connected(session) || isspace(ea_buf[baddr].chr)) |
207 | 207 | { |
208 | - ring_bell(); | |
208 | + lib3270_ring_bell(); | |
209 | 209 | return; |
210 | 210 | } |
211 | 211 | |
... | ... | @@ -227,7 +227,7 @@ LIB3270_EXPORT int lib3270_select_field(H3270 *session, int baddr) |
227 | 227 | |
228 | 228 | if(!lib3270_connected(session)) |
229 | 229 | { |
230 | - ring_bell(); | |
230 | + lib3270_ring_bell(); | |
231 | 231 | return; |
232 | 232 | } |
233 | 233 | |
... | ... | @@ -235,7 +235,7 @@ LIB3270_EXPORT int lib3270_select_field(H3270 *session, int baddr) |
235 | 235 | |
236 | 236 | if(start < 0) |
237 | 237 | { |
238 | - ring_bell(); | |
238 | + lib3270_ring_bell(); | |
239 | 239 | return -1; |
240 | 240 | } |
241 | 241 | ... | ... |