void luaopen_object( lua_State * );
void luaopen_osd( lua_State * );
void luaopen_playlist( lua_State * );
-void luaopen_sd( lua_State * );
+void luaopen_sd_sd( lua_State * );
+void luaopen_sd_intf( lua_State * );
void luaopen_stream( lua_State * );
void luaopen_strings( lua_State * );
void luaopen_variables( lua_State * );
/*****************************************************************************
*
*****************************************************************************/
-static const luaL_Reg vlclua_sd_reg[] = {
- { "get_services_names", vlclua_sd_get_services_names },
- { "add", vlclua_sd_add },
- { "remove", vlclua_sd_remove },
- { "is_loaded", vlclua_sd_is_loaded },
+static const luaL_Reg vlclua_sd_sd_reg[] = {
{ "add_node", vlclua_sd_add_node },
{ "add_item", vlclua_sd_add_item },
{ "remove_item", vlclua_sd_remove_item },
{ NULL, NULL }
};
-void luaopen_sd( lua_State *L )
+void luaopen_sd_sd( lua_State *L )
+{
+ lua_newtable( L );
+ luaL_register( L, NULL, vlclua_sd_sd_reg );
+ lua_setfield( L, -2, "sd" );
+}
+
+static const luaL_Reg vlclua_sd_intf_reg[] = {
+ { "get_services_names", vlclua_sd_get_services_names },
+ { "add", vlclua_sd_add },
+ { "remove", vlclua_sd_remove },
+ { "is_loaded", vlclua_sd_is_loaded },
+ { NULL, NULL }
+};
+
+void luaopen_sd_intf( lua_State *L )
{
lua_newtable( L );
- luaL_register( L, NULL, vlclua_sd_reg );
+ luaL_register( L, NULL, vlclua_sd_intf_reg );
lua_setfield( L, -2, "sd" );
}
FIXME: add methods to get an item's meta, options, es ...
-SD
---
+Services discovery
+------------------
+
+Interfaces and extensions can use the following SD functions:
+
sd.get_services_names(): Get a table of all available service discovery
modules. The module name is used as key, the long name is used as value.
sd.add( name ): Add service discovery.
sd.remove( name ): Remove service discovery.
sd.is_loaded( name ): Check if service discovery is loaded.
+
+Services discovery scripts can use the following SD functions:
+
sd.add_node( ... ): Add a node to the service discovery.
The node object has the following members:
.title: the node's name