diff options
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | libdleyna/renderer/device.c | 2 | ||||
-rw-r--r-- | libdleyna/renderer/server.c | 26 | ||||
-rw-r--r-- | libdleyna/renderer/server.h | 2 |
4 files changed, 24 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac index 9bf518a..b122405 100644 --- a/configure.ac +++ b/configure.ac @@ -83,7 +83,7 @@ AC_ARG_ENABLE(master-build,, [master_build=no]) AS_IF([test "x$master_build" = "xno"], - [PKG_CHECK_MODULES([DLEYNA_CORE], [dleyna-core-1.0 >= 0.0.1])], + [PKG_CHECK_MODULES([DLEYNA_CORE], [dleyna-core-1.0 >= 0.2.1])], [this_abs_top_srcdir=`cd "$srcdir" && pwd`; DLEYNA_CORE_CFLAGS="-I$this_abs_top_srcdir/../dleyna-core"; DLEYNA_CORE_LIBS="-L$this_abs_top_srcdir/../dleyna-core/.libs -ldleyna-core-1.0" diff --git a/libdleyna/renderer/device.c b/libdleyna/renderer/device.c index d01fec2..af19da2 100644 --- a/libdleyna/renderer/device.c +++ b/libdleyna/renderer/device.c @@ -745,7 +745,7 @@ static GUPnPServiceProxyAction *prv_declare(dleyna_service_task_t *task, device->connection, device->path, FALSE, - i, + dlr_renderer_get_interface_name(i), table + i); if (!device->ids[i]) { diff --git a/libdleyna/renderer/server.c b/libdleyna/renderer/server.c index ea18689..15a5ed7 100644 --- a/libdleyna/renderer/server.c +++ b/libdleyna/renderer/server.c @@ -386,7 +386,7 @@ static const dleyna_connector_dispatch_cb_t g_root_vtables[1] = { static const dleyna_connector_dispatch_cb_t g_server_vtables[DLR_INTERFACE_INFO_MAX] = { - /* MUST be in the exact same order as g_msu_server_introspection */ + /* MUST be in the exact same order as g_server_introspection */ prv_props_method_call, prv_dlr_device_method_call, prv_dlr_player_method_call, @@ -394,6 +394,20 @@ static const dleyna_connector_dispatch_cb_t prv_renderer_device_method_call }; +static const gchar *g_server_interfaces[DLR_INTERFACE_INFO_MAX] = { + /* MUST be in the exact same order as g_server_introspection */ + DLR_INTERFACE_PROPERTIES, + DLR_INTERFACE_SERVER, + DLR_INTERFACE_PLAYER, + DLEYNA_INTERFACE_PUSH_HOST, + DLEYNA_SERVER_INTERFACE_RENDERER_DEVICE +}; + +const gchar *dlr_renderer_get_interface_name(guint index) +{ + return g_server_interfaces[index]; +} + const dleyna_connector_t *dlr_renderer_get_connector(void) { return g_context.connector; @@ -934,11 +948,11 @@ static gboolean prv_control_point_start_service( g_context.connection = connection; g_context.dlr_id = g_context.connector->publish_object( - connection, - DLEYNA_SERVER_OBJECT, - TRUE, - 0, - g_root_vtables); + connection, + DLEYNA_SERVER_OBJECT, + TRUE, + DLEYNA_SERVER_INTERFACE_MANAGER, + g_root_vtables); if (g_context.dlr_id) g_context.upnp = dlr_upnp_new(connection, diff --git a/libdleyna/renderer/server.h b/libdleyna/renderer/server.h index ad770e9..3951b17 100644 --- a/libdleyna/renderer/server.h +++ b/libdleyna/renderer/server.h @@ -37,4 +37,6 @@ dleyna_task_processor_t *dlr_renderer_service_get_task_processor(void); const dleyna_connector_t *dlr_renderer_get_connector(void); +const gchar *dlr_renderer_get_interface_name(guint index); + #endif /* DLR_SERVER_H__ */ |