From 4e303018dde97d091343aee842d864fe02e12c17 Mon Sep 17 00:00:00 2001 From: perry.werneck@gmail.com Date: Fri, 9 Mar 2012 12:54:20 +0000 Subject: [PATCH] Incluindo ring daemon --- src/gtk/v3270/iocallback.c | 7 ++++--- src/include/lib3270.h | 18 +++++++++--------- src/lib3270/XtGlue.c | 26 +++++++++++++++++++------- src/lib3270/ansi.c | 2 +- src/lib3270/api.h | 7 +++---- src/lib3270/ctlr.c | 2 +- src/lib3270/kybd.c | 18 +++++++++--------- src/lib3270/screen.c | 4 ---- src/lib3270/selection.c | 6 +++--- 9 files changed, 49 insertions(+), 41 deletions(-) diff --git a/src/gtk/v3270/iocallback.c b/src/gtk/v3270/iocallback.c index f7dfb68..d94d165 100644 --- a/src/gtk/v3270/iocallback.c +++ b/src/gtk/v3270/iocallback.c @@ -314,9 +314,9 @@ static int static_RunPendingEvents(int wait) void v3270_register_io_handlers(v3270Class *cls) { - static const struct lib3270_io_callbacks hdl = + static const struct lib3270_callbacks hdl = { - sizeof(struct lib3270_io_callbacks), + sizeof(struct lib3270_callbacks), static_AddTimeOut, static_RemoveTimeOut, @@ -338,10 +338,11 @@ void v3270_register_io_handlers(v3270Class *cls) static_Sleep, static_RunPendingEvents, + gdk_beep }; - if(lib3270_register_io_handlers(&hdl)) + if(lib3270_register_handlers(&hdl)) { g_error("%s",_( "Can't set lib3270 I/O handlers" ) ); } diff --git a/src/include/lib3270.h b/src/include/lib3270.h index 3902b0d..b1d87fb 100644 --- a/src/include/lib3270.h +++ b/src/include/lib3270.h @@ -470,22 +470,22 @@ */ LIB3270_EXPORT int lib3270_get_ssl_state(H3270 *h); - /** I/O callback table + /** Callback table * * Structure with GUI unblocking I/O calls, used to replace the lib3270´s internal ones. * */ - struct lib3270_io_callbacks + struct lib3270_callbacks { unsigned short sz; - unsigned long (*AddTimeOut)(unsigned long interval_ms, H3270 *session, void (*proc)(H3270 *session)); - void (*RemoveTimeOut)(unsigned long timer); + unsigned long (*AddTimeOut)(unsigned long interval_ms, H3270 *session, void (*proc)(H3270 *session)); + void (*RemoveTimeOut)(unsigned long timer); - unsigned long (*AddInput)(int source, H3270 *session, void (*fn)(H3270 *session)); + unsigned long (*AddInput)(int source, H3270 *session, void (*fn)(H3270 *session)); void (*RemoveInput)(unsigned long id); - unsigned long (*AddExcept)(int source, H3270 *session, void (*fn)(H3270 *session)); + unsigned long (*AddExcept)(int source, H3270 *session, void (*fn)(H3270 *session)); #if !defined(_WIN32) /*[*/ unsigned long (*AddOutput)(int source, H3270 *session, void (*fn)(H3270 *session)); @@ -495,19 +495,19 @@ int (*Wait)(int seconds); int (*RunPendingEvents)(int wait); + void (*ring_bell)(void); }; /** - * Register application I/O Handlers. + * Register application Handlers. * * @param cbk Structure with the application I/O handles to set. * * @return 0 if ok, error code if not. * */ - int LIB3270_EXPORT lib3270_register_io_handlers(const struct lib3270_io_callbacks *cbk); - + int LIB3270_EXPORT lib3270_register_handlers(const struct lib3270_callbacks *cbk); /** * Get program message. diff --git a/src/lib3270/XtGlue.c b/src/lib3270/XtGlue.c index 5cd91c4..4bf9bd5 100644 --- a/src/lib3270/XtGlue.c +++ b/src/lib3270/XtGlue.c @@ -94,9 +94,14 @@ static void DefaultRemoveInput(unsigned long id); static int DefaultProcessEvents(int block); -static const struct lib3270_io_callbacks default_io_callbacks = +static void dunno(void) { - sizeof(struct lib3270_io_callbacks), + +} + +static const struct lib3270_callbacks default_callbacks = +{ + sizeof(struct lib3270_callbacks), DefaultAddTimeOut, // unsigned long (*AddTimeOut)(unsigned long interval_ms, void (*proc)(void)); DefaultRemoveTimeOut, // void (*RemoveTimeOut)(unsigned long timer); @@ -114,10 +119,12 @@ static const struct lib3270_io_callbacks default_io_callbacks = NULL, // int (*Wait)(int seconds); DefaultProcessEvents, // int (*RunPendingEvents)(int wait); + dunno + }; -static const struct lib3270_io_callbacks *callbacks = &default_io_callbacks; +static const struct lib3270_callbacks *callbacks = &default_callbacks; /*---[ Implement default calls ]----------------------------------------------------------------------------*/ @@ -870,14 +877,12 @@ void RemoveInput(unsigned long id) callbacks->RemoveInput(id); } -#define Register3270IOCallbacks(x) lib3270_register_io_handlers(x) - -int LIB3270_EXPORT lib3270_register_io_handlers(const struct lib3270_io_callbacks *cbk) +int LIB3270_EXPORT lib3270_register_handlers(const struct lib3270_callbacks *cbk) { if(!cbk) return EINVAL; - if(cbk->sz != sizeof(struct lib3270_io_callbacks)) + if(cbk->sz != sizeof(struct lib3270_callbacks)) return EINVAL; callbacks = cbk; @@ -993,3 +998,10 @@ LIB3270_EXPORT int lib3270_wait(seconds) return 0; } + +LIB3270_EXPORT void lib3270_ring_bell(void) +{ + callbacks->ring_bell(); +} + + diff --git a/src/lib3270/ansi.c b/src/lib3270/ansi.c index 09c6127..1d500ac 100644 --- a/src/lib3270/ansi.c +++ b/src/lib3270/ansi.c @@ -917,7 +917,7 @@ ansi_sgr(int ig1 unused, int ig2 unused) static enum state ansi_bell(int ig1 unused, int ig2 unused) { - ring_bell(); + lib3270_ring_bell(); return DATA; } diff --git a/src/lib3270/api.h b/src/lib3270/api.h index eebb3c4..851ace4 100644 --- a/src/lib3270/api.h +++ b/src/lib3270/api.h @@ -285,8 +285,6 @@ #endif - #define Register3270IOCallbacks(x) lib3270_register_io_handlers(x) - /* Screen processing */ @@ -327,6 +325,7 @@ #define CHAR_ATTR_UNCONVERTED CHAR_ATTR_CG +/* struct lib3270_screen_callbacks { unsigned short sz; @@ -363,6 +362,7 @@ char * (*console_entry)(HCONSOLE hwnd); }; +*/ struct lib3270_option { @@ -383,8 +383,7 @@ const char *description; }; - // LOCAL_EXTERN int Register3270ScreenCallbacks(const struct lib3270_screen_callbacks *cbk); - LOCAL_EXTERN void ring_bell(void); + LIB3270_EXPORT void lib3270_ring_bell(void); #define new_3270_session(m) lib3270_session_new(m) diff --git a/src/lib3270/ctlr.c b/src/lib3270/ctlr.c index 7dde932..9552ecc 100644 --- a/src/lib3270/ctlr.c +++ b/src/lib3270/ctlr.c @@ -1871,7 +1871,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase) status_syswait(); } if (wcc_sound_alarm) - ring_bell(); + lib3270_ring_bell(); /* Set up the DBCS state. */ if (ctlr_dbcs_postprocess() < 0 && rv == PDS_OKAY_NO_OUTPUT) diff --git a/src/lib3270/kybd.c b/src/lib3270/kybd.c index afc317d..f151538 100644 --- a/src/lib3270/kybd.c +++ b/src/lib3270/kybd.c @@ -182,7 +182,7 @@ static int enq_chk(void) /* If operator error, complain and drop it. */ if (kybdlock & KL_OERR_MASK) { - ring_bell(); + lib3270_ring_bell(); trace_event(" dropped (operator error)\n"); return -1; } @@ -190,7 +190,7 @@ static int enq_chk(void) /* If scroll lock, complain and drop it. */ if (kybdlock & KL_SCROLLED) { - ring_bell(); + lib3270_ring_bell(); trace_event(" dropped (scrolled)\n"); return -1; } @@ -471,7 +471,7 @@ operator_error(int error_type) kybdlock_set((unsigned int)error_type, "operator_error"); (void) flush_ta(); } else { - ring_bell(); + lib3270_ring_bell(); } } @@ -1317,7 +1317,7 @@ void key_ACharacter(unsigned char c, enum keytype keytype, enum iaction cause,Bo composing = FIRST; status_compose(True, c, keytype); } else { - ring_bell(); + lib3270_ring_bell(); composing = NONE; status_compose(False, 0, KT_STD); } @@ -1335,7 +1335,7 @@ void key_ACharacter(unsigned char c, enum keytype keytype, enum iaction cause,Bo c = composites[i].translation.keysym; keytype = composites[i].translation.keytype; } else { - ring_bell(); + lib3270_ring_bell(); return; } break; @@ -2449,7 +2449,7 @@ lightpen_select(int baddr) faddr = find_field_attribute(baddr); fa = ea_buf[faddr].fa; if (!FA_IS_SELECTABLE(fa)) { - ring_bell(); + lib3270_ring_bell(); return; } designator = faddr; @@ -2464,7 +2464,7 @@ lightpen_select(int baddr) ea_buf[designator].db != DBCS_LEFT_WRAP) && (ea_buf[designator2].db != DBCS_RIGHT && ea_buf[designator2].db != DBCS_RIGHT_WRAP)) { - ring_bell(); + lib3270_ring_bell(); return; } if (ea_buf[designator].cc == 0x42 && @@ -2487,7 +2487,7 @@ lightpen_select(int baddr) mdt_set(faddr); key_AID(AID_ENTER); } else { - ring_bell(); + lib3270_ring_bell(); } return; } @@ -2513,7 +2513,7 @@ lightpen_select(int baddr) key_AID(AID_ENTER); break; default: - ring_bell(); + lib3270_ring_bell(); break; } } diff --git a/src/lib3270/screen.c b/src/lib3270/screen.c index 43f246f..b7a9196 100644 --- a/src/lib3270/screen.c +++ b/src/lib3270/screen.c @@ -632,10 +632,6 @@ void status_untiming(H3270 *session) session->set_timer(session,0); } -void ring_bell(void) -{ -} - /* Set the window title. */ /* void screen_title(char *text) { diff --git a/src/lib3270/selection.c b/src/lib3270/selection.c index 50d6130..5b44c72 100644 --- a/src/lib3270/selection.c +++ b/src/lib3270/selection.c @@ -205,7 +205,7 @@ LIB3270_EXPORT void lib3270_select_word(H3270 *session, int baddr) if(!lib3270_connected(session) || isspace(ea_buf[baddr].chr)) { - ring_bell(); + lib3270_ring_bell(); return; } @@ -227,7 +227,7 @@ LIB3270_EXPORT int lib3270_select_field(H3270 *session, int baddr) if(!lib3270_connected(session)) { - ring_bell(); + lib3270_ring_bell(); return; } @@ -235,7 +235,7 @@ LIB3270_EXPORT int lib3270_select_field(H3270 *session, int baddr) if(start < 0) { - ring_bell(); + lib3270_ring_bell(); return -1; } -- libgit2 0.21.2