diff options
Diffstat (limited to 'libdleyna/server/server.c')
-rw-r--r-- | libdleyna/server/server.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libdleyna/server/server.c b/libdleyna/server/server.c index 5a30500..5367252 100644 --- a/libdleyna/server/server.c +++ b/libdleyna/server/server.c @@ -439,6 +439,8 @@ static const gchar g_server_introspection[] = " </method>" " <method name='"DLS_INTERFACE_CANCEL"'>" " </method>" + " <method name='"DLS_INTERFACE_WAKE"'>" + " </method>" " <method name='"DLS_INTERFACE_GET_ICON"'>" " <arg type='s' name='"DLS_INTERFACE_REQ_MIME_TYPE"'" " direction='in'/>" @@ -483,6 +485,8 @@ static const gchar g_server_introspection[] = " access='read'/>" " <property type='s' name='"DLS_INTERFACE_PROP_ICON_URL"'" " access='read'/>" + " <property type='b' name='"DLS_INTERFACE_PROP_SLEEPING"'" + " access='read'/>" " <property type='a{sv}'name='" DLS_INTERFACE_PROP_SV_DLNA_CAPABILITIES"'" " access='read'/>" @@ -547,7 +551,7 @@ static void prv_process_sync_task(dls_task_t *task) dls_task_complete(task); break; case DLS_TASK_GET_SERVERS: - task->result = dls_upnp_get_server_ids(g_context.upnp); + task->result = dls_upnp_get_device_ids(g_context.upnp); dls_task_complete(task); break; case DLS_TASK_RESCAN: @@ -699,6 +703,10 @@ static void prv_process_async_task(dls_task_t *task) dls_upnp_get_icon(g_context.upnp, client, task, prv_async_task_complete); break; + case DLS_TASK_WAKE: + dls_upnp_wake(g_context.upnp, client, task, + prv_async_task_complete); + break; default: break; } @@ -934,7 +942,7 @@ gboolean dls_server_get_object_info(const gchar *object_path, } *device = dls_device_from_path(*root_path, - dls_upnp_get_server_udn_map(g_context.upnp)); + dls_upnp_get_device_udn_map(g_context.upnp)); if (*device == NULL) { DLEYNA_LOG_WARNING("Cannot locate device for %s", *root_path); @@ -1185,6 +1193,8 @@ static void prv_device_method_call(dleyna_connector_id_t conn, } else if (!strcmp(method, DLS_INTERFACE_BROWSE_OBJECTS)) { task = dls_task_browse_objects_new(invocation, object, parameters, &error); + } else if (!strcmp(method, DLS_INTERFACE_WAKE)) { + task = dls_task_wake_new(invocation, object, &error); } else if (!strcmp(method, DLS_INTERFACE_CANCEL)) { task = NULL; |