[vlc-devel] commit: sd: Export internals with a getters. (Pierre d'Herbemont )
git version control
git at videolan.org
Wed Feb 24 14:16:34 CET 2010
vlc | branch: master | Pierre d'Herbemont <pdherbemont at free.fr> | Wed Feb 24 14:15:59 2010 +0100| [027b44025e11be76c4c3f9e34c2648841f389f14] | committer: Pierre d'Herbemont
sd: Export internals with a getters.
lua need them. Also fix an obvious leak.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=027b44025e11be76c4c3f9e34c2648841f389f14
---
include/vlc_services_discovery.h | 2 ++
modules/misc/lua/services_discovery.c | 9 +++++----
src/libvlccore.sym | 2 ++
src/playlist/services_discovery.c | 14 ++++++++++++++
4 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/include/vlc_services_discovery.h b/include/vlc_services_discovery.h
index 0e659f0..3a4e988 100644
--- a/include/vlc_services_discovery.h
+++ b/include/vlc_services_discovery.h
@@ -71,6 +71,8 @@ VLC_EXPORT( services_discovery_t *, vlc_sd_Create, ( vlc_object_t *, const char
VLC_EXPORT( bool, vlc_sd_Start, ( services_discovery_t * ) );
VLC_EXPORT( void, vlc_sd_Stop, ( services_discovery_t * ) );
VLC_EXPORT( void, vlc_sd_Destroy, ( services_discovery_t * ) );
+VLC_EXPORT( const char *, vlc_sd_GetName, ( services_discovery_t * ) );
+VLC_EXPORT( config_chain_t *, vlc_sd_GetConfigChain, ( services_discovery_t * ) );
static inline void vlc_sd_StopAndDestroy( services_discovery_t * p_this )
{
diff --git a/modules/misc/lua/services_discovery.c b/modules/misc/lua/services_discovery.c
index f5e21fd..9df7069 100644
--- a/modules/misc/lua/services_discovery.c
+++ b/modules/misc/lua/services_discovery.c
@@ -57,20 +57,21 @@ int Open_LuaSD( vlc_object_t *p_this )
services_discovery_t *p_sd = ( services_discovery_t * )p_this;
services_discovery_sys_t *p_sys;
lua_State *L = NULL;
- char *psz_name = strdup(p_sd->psz_name);
+ char *psz_name;
- if( !strcmp(p_sd->psz_name, "lua"))
+
+ if( !strcmp(vlc_sd_GetName(p_sd), "lua"))
{
// We want to load the module name "lua"
// This module can be used to load lua script not registered
// as builtin lua SD modules.
- config_ChainParse( p_sd, "lua-", ppsz_sd_options, p_sd->p_cfg );
+ config_ChainParse( p_sd, "lua-", ppsz_sd_options, vlc_sd_GetConfigChain(p_sd) );
psz_name = var_CreateGetString( p_sd, "lua-sd" );
}
else
{
// We are loading a builtin lua sd module.
- psz_name = strdup(p_sd->psz_name);
+ psz_name = strdup(vlc_sd_GetName(p_sd));
}
if( !( p_sys = malloc( sizeof( services_discovery_sys_t ) ) ) )
diff --git a/src/libvlccore.sym b/src/libvlccore.sym
index 85da6f3..6bdedca 100644
--- a/src/libvlccore.sym
+++ b/src/libvlccore.sym
@@ -563,6 +563,8 @@ vlc_rwlock_wrlock
vlc_savecancel
vlc_sd_Create
vlc_sd_Destroy
+vlc_sd_GetConfigChain
+vlc_sd_GetName
vlc_sd_GetNames
vlc_sd_probe_Add
vlc_sdp_Start
diff --git a/src/playlist/services_discovery.c b/src/playlist/services_discovery.c
index c9f9aff..3040d6c 100644
--- a/src/playlist/services_discovery.c
+++ b/src/playlist/services_discovery.c
@@ -186,6 +186,20 @@ void vlc_sd_Destroy( services_discovery_t *p_sd )
}
/***********************************************************************
+ * Getters
+ ***********************************************************************/
+
+const char *vlc_sd_GetName( services_discovery_t *p_sd )
+{
+ return p_sd->p->psz_name;
+}
+
+config_chain_t *vlc_sd_GetConfigChain( services_discovery_t *p_sd )
+{
+ return p_sd->p->p_cfg;
+}
+
+/***********************************************************************
* Destructor
***********************************************************************/
static void services_discovery_Destructor ( vlc_object_t *p_obj )
More information about the vlc-devel
mailing list