[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