diff options
Diffstat (limited to 'libdleyna/server/task.c')
-rw-r--r-- | libdleyna/server/task.c | 84 |
1 files changed, 28 insertions, 56 deletions
diff --git a/libdleyna/server/task.c b/libdleyna/server/task.c index 9f39929..1ad4108 100644 --- a/libdleyna/server/task.c +++ b/libdleyna/server/task.c @@ -46,6 +46,11 @@ static void prv_delete(dls_task_t *task) g_free(task->ut.get_prop.interface_name); g_free(task->ut.get_prop.prop_name); break; + case DLS_TASK_MANAGER_SET_PROP: + g_free(task->ut.set_prop.interface_name); + g_free(task->ut.set_prop.prop_name); + g_variant_unref(task->ut.set_prop.params); + break; case DLS_TASK_SEARCH: g_free(task->ut.search.query); if (task->ut.search.filter) @@ -92,11 +97,6 @@ static void prv_delete(dls_task_t *task) g_free(task->ut.get_icon.resolution); g_free(task->ut.get_icon.mime_type); break; - case DLS_TASK_WHITE_LIST_ADD_ENTRIES: - case DLS_TASK_WHITE_LIST_REMOVE_ENTRIES: - if (task->ut.white_list.entries) - g_variant_unref(task->ut.white_list.entries); - break; default: break; } @@ -146,57 +146,6 @@ dls_task_t *dls_task_get_servers_new(dleyna_connector_msg_id_t invocation) return task; } -dls_task_t *dls_task_wl_enable_new(dleyna_connector_msg_id_t invocation, - GVariant *parameters) -{ - dls_task_t *task = g_new0(dls_task_t, 1); - - task->type = DLS_TASK_WHITE_LIST_ENABLE; - task->invocation = invocation; - task->synchronous = TRUE; - g_variant_get(parameters, "(b)", - &task->ut.white_list.enabled); - - return task; -} - -dls_task_t *dls_task_wl_clear_new(dleyna_connector_msg_id_t invocation) -{ - dls_task_t *task = g_new0(dls_task_t, 1); - - task->type = DLS_TASK_WHITE_LIST_CLEAR; - task->invocation = invocation; - task->synchronous = TRUE; - - return task; -} - -dls_task_t *dls_task_wl_add_entries_new(dleyna_connector_msg_id_t invocation, - GVariant *parameters) -{ - dls_task_t *task = g_new0(dls_task_t, 1); - - task->type = DLS_TASK_WHITE_LIST_ADD_ENTRIES; - task->invocation = invocation; - task->synchronous = TRUE; - g_variant_get(parameters, "(@as)", &task->ut.white_list.entries); - - return task; -} - -dls_task_t *dls_task_wl_remove_entries_new(dleyna_connector_msg_id_t invocation, - GVariant *parameters) -{ - dls_task_t *task = g_new0(dls_task_t, 1); - - task->type = DLS_TASK_WHITE_LIST_REMOVE_ENTRIES; - task->invocation = invocation; - task->synchronous = TRUE; - g_variant_get(parameters, "(@as)", &task->ut.white_list.entries); - - return task; -} - dls_task_t *dls_task_manager_get_prop_new(dleyna_connector_msg_id_t invocation, const gchar *path, GVariant *parameters, @@ -237,6 +186,29 @@ dls_task_t *dls_task_manager_get_props_new(dleyna_connector_msg_id_t invocation, return task; } +dls_task_t *dls_task_manager_set_prop_new(dleyna_connector_msg_id_t invocation, + const gchar *path, + GVariant *parameters, + GError **error) +{ + dls_task_t *task = (dls_task_t *)g_new0(dls_async_task_t, 1); + + g_variant_get(parameters, "(ssv)", + &task->ut.set_prop.interface_name, + &task->ut.set_prop.prop_name, + &task->ut.set_prop.params); + + g_strstrip(task->ut.set_prop.interface_name); + g_strstrip(task->ut.set_prop.prop_name); + + task->target.path = g_strstrip(g_strdup(path)); + + task->type = DLS_TASK_MANAGER_SET_PROP; + task->invocation = invocation; + + return task; +} + static gboolean prv_set_task_target_info(dls_task_t *task, const gchar *path, GError **error) { |