Commit a55589a0 authored by Jean-Paul Saman's avatar Jean-Paul Saman

Force lirc configuration file to usForce lirc configuration file to usee

parent 398cbeb6
...@@ -35,11 +35,17 @@ ...@@ -35,11 +35,17 @@
#include <lirc/lirc_client.h> #include <lirc/lirc_client.h>
#define LIRC_TEXT N_("Change the lirc configuration file.")
#define LIRC_LONGTEXT N_( \
"Tell lirc to read this configuration file. By default it " \
"searches in the users home directory." )
/***************************************************************************** /*****************************************************************************
* intf_sys_t: description and status of FB interface * intf_sys_t: description and status of FB interface
*****************************************************************************/ *****************************************************************************/
struct intf_sys_t struct intf_sys_t
{ {
char *psz_file;
struct lirc_config *config; struct lirc_config *config;
}; };
...@@ -60,6 +66,9 @@ vlc_module_begin(); ...@@ -60,6 +66,9 @@ vlc_module_begin();
set_description( _("Infrared remote control interface") ); set_description( _("Infrared remote control interface") );
set_capability( "interface", 0 ); set_capability( "interface", 0 );
set_callbacks( Open, Close ); set_callbacks( Open, Close );
add_string( "lirc-file", NULL, NULL,
LIRC_TEXT, LIRC_LONGTEXT, VLC_TRUE );
vlc_module_end(); vlc_module_end();
/***************************************************************************** /*****************************************************************************
...@@ -80,6 +89,8 @@ static int Open( vlc_object_t *p_this ) ...@@ -80,6 +89,8 @@ static int Open( vlc_object_t *p_this )
p_intf->pf_run = Run; p_intf->pf_run = Run;
p_intf->p_sys->psz_file = var_CreateGetString( p_intf, "lirc-file" );
i_fd = lirc_init( "vlc", 1 ); i_fd = lirc_init( "vlc", 1 );
if( i_fd == -1 ) if( i_fd == -1 )
{ {
...@@ -91,7 +102,7 @@ static int Open( vlc_object_t *p_this ) ...@@ -91,7 +102,7 @@ static int Open( vlc_object_t *p_this )
/* We want polling */ /* We want polling */
fcntl( i_fd, F_SETFL, fcntl( i_fd, F_GETFL ) | O_NONBLOCK ); fcntl( i_fd, F_SETFL, fcntl( i_fd, F_GETFL ) | O_NONBLOCK );
if( lirc_readconfig( NULL, &p_intf->p_sys->config, NULL ) != 0 ) if( lirc_readconfig( p_intf->p_sys->psz_file, &p_intf->p_sys->config, NULL ) != 0 )
{ {
msg_Err( p_intf, "failure while reading lirc config" ); msg_Err( p_intf, "failure while reading lirc config" );
lirc_deinit(); lirc_deinit();
...@@ -110,6 +121,8 @@ static void Close( vlc_object_t *p_this ) ...@@ -110,6 +121,8 @@ static void Close( vlc_object_t *p_this )
intf_thread_t *p_intf = (intf_thread_t *)p_this; intf_thread_t *p_intf = (intf_thread_t *)p_this;
/* Destroy structure */ /* Destroy structure */
if( p_intf->p_sys->psz_file )
free( p_intf->p_sys->psz_file );
lirc_freeconfig( p_intf->p_sys->config ); lirc_freeconfig( p_intf->p_sys->config );
lirc_deinit(); lirc_deinit();
free( p_intf->p_sys ); free( p_intf->p_sys );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment