summaryrefslogtreecommitdiff
path: root/libdleyna/server/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdleyna/server/server.c')
-rw-r--r--libdleyna/server/server.c14
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;