Mercurial > audlegacy-plugins
diff src/lirc/lirc.c @ 2277:5e54ffc4f46f
Apply lirc patch from bugzilla. (Bugzilla #62).
author | Andrew O. Shadoura <bugzilla@tut.by> |
---|---|
date | Tue, 01 Jan 2008 16:03:44 -0600 |
parents | 5e88191720a7 |
children | 738914331374 |
line wrap: on
line diff
--- a/src/lirc/lirc.c Thu Dec 27 20:50:05 2007 +0100 +++ b/src/lirc/lirc.c Tue Jan 01 16:03:44 2008 -0600 @@ -46,13 +46,15 @@ #include "lirc.h" +#include "common.h" + const char *plugin_name="LIRC Plugin"; GeneralPlugin lirc_plugin = { .description = "LIRC Plugin", .init = init, .about = about, - .configure = NULL, + .configure = configure, .cleanup = cleanup }; @@ -67,7 +69,7 @@ gint input_tag; -void init(void) +void init_lirc(void) { int flags; @@ -98,6 +100,19 @@ fflush(stdout); } +void init(void) +{ + load_cfg(); + init_lirc(); +} + +gboolean reconnect_lirc(gpointer data) +{ + fprintf(stderr,_("%s: trying to reconnect...\n"),plugin_name); + init(); + return (lirc_fd==-1); +} + void lirc_input_callback(gpointer data,gint source, GdkInputCondition condition) { @@ -304,7 +319,11 @@ /* something went badly wrong */ fprintf(stderr,_("%s: disconnected from LIRC\n"),plugin_name); cleanup(); - return; + if(b_enable_reconnect) + { + fprintf(stderr,_("%s: will try reconnect every %d seconds...\n"),plugin_name,reconnect_timeout); + g_timeout_add(1000*reconnect_timeout, reconnect_lirc, NULL); + } } }