]> git.sesse.net Git - vlc/commitdiff
module_GetConfig, module_PutConfig: copy configuration data for a module
authorRémi Denis-Courmont <rem@videolan.org>
Wed, 12 Dec 2007 18:45:11 +0000 (18:45 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Wed, 12 Dec 2007 18:45:11 +0000 (18:45 +0000)
src/libvlc.sym
src/modules/modules.c

index 51f063d84c9b2dd75898502db73ad9747053bd2a..06494a76ea9f519c64b0fce50d497b7c9cb4d482 100644 (file)
@@ -146,12 +146,14 @@ LocaleFree
 mdate
 __module_Exists
 __module_FindName
+module_GetConfig
 module_GetHelp
 module_GetName
 module_GetObjName
 module_IsCapable
 __module_Need
 module_Put
+module_PutConfig
 __module_Unneed
 __msg_Dbg
 __msg_Err
index 773ad01de56ea0f4b5fe21438f05088568a25999..051b74c2e9b7c8bcf824d9a8b8af92e5c2ae0ff8 100644 (file)
@@ -791,6 +791,25 @@ char ** __module_GetModulesNamesForCapability( vlc_object_t *p_this,
 }
 
 
+module_config_t *module_GetConfig (const module_t *module, unsigned *restrict psize)
+{
+    unsigned size = module->confsize;
+
+    assert (psize != NULL);
+    *psize = size;
+
+    module_config_t *config = malloc (size * sizeof (*config));
+    if (config)
+        memcpy (config, module->p_config, size * sizeof (*config));
+
+    return config;
+}
+
+void module_PutConfig (module_config_t *config)
+{
+    free (config);
+}
+
 /*****************************************************************************
  * Following functions are local.
  *****************************************************************************/