summaryrefslogtreecommitdiff
path: root/libdleyna/server/upnp.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdleyna/server/upnp.c')
-rw-r--r--libdleyna/server/upnp.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/libdleyna/server/upnp.c b/libdleyna/server/upnp.c
index 2cbef81..68338e6 100644
--- a/libdleyna/server/upnp.c
+++ b/libdleyna/server/upnp.c
@@ -621,6 +621,32 @@ on_error:
DLEYNA_LOG_DEBUG("Exit with %s", !cb_data->action ? "FAIL" : "SUCCESS");
}
+void dls_upnp_browse_objects(dls_upnp_t *upnp, dls_client_t *client,
+ dls_task_t *task,
+ dls_upnp_task_complete_t cb)
+{
+ dls_async_task_t *cb_data = (dls_async_task_t *)task;
+ dls_async_browse_objects_t *cb_task_data;
+
+ DLEYNA_LOG_DEBUG("Enter");
+
+ cb_data->cb = cb;
+ cb_task_data = &cb_data->ut.browse_objects;
+ cb_task_data->get_all.protocol_info = client->protocol_info;
+
+ cb_task_data->get_all.filter_mask =
+ dls_props_parse_filter(upnp->filter_map,
+ task->ut.browse_objects.filter,
+ &cb_task_data->upnp_filter);
+
+ DLEYNA_LOG_DEBUG("Filter Mask 0x%"G_GUINT64_FORMAT"x",
+ cb_task_data->get_all.filter_mask);
+
+ dls_device_browse_objects(client, task);
+
+ DLEYNA_LOG_DEBUG("Exit");
+}
+
void dls_upnp_get_resource(dls_upnp_t *upnp, dls_client_t *client,
dls_task_t *task,
dls_upnp_task_complete_t cb)