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, 14 insertions, 0 deletions
diff --git a/libdleyna/server/server.c b/libdleyna/server/server.c
index 5367252..1673ccd 100644
--- a/libdleyna/server/server.c
+++ b/libdleyna/server/server.c
@@ -945,6 +945,12 @@ gboolean dls_server_get_object_info(const gchar *object_path,
dls_upnp_get_device_udn_map(g_context.upnp));
if (*device == NULL) {
+ *device = dls_device_from_path(*root_path,
+ dls_upnp_get_sleeping_device_udn_map(
+ g_context.upnp));
+ }
+
+ if (*device == NULL) {
DLEYNA_LOG_WARNING("Cannot locate device for %s", *root_path);
*error = g_error_new(DLEYNA_SERVER_ERROR,
@@ -965,6 +971,14 @@ on_error:
return FALSE;
}
+gboolean dls_server_is_device_sleeping(dls_device_t *dev)
+{
+ if (dev->sleeping_context != NULL)
+ return TRUE;
+ else
+ return FALSE;
+}
+
static const gchar *prv_get_device_id(const gchar *object, GError **error)
{
dls_device_t *device;