guint32 filter_mask;
const gchar *protocol_info;
gboolean need_child_count;
+ gboolean device_object;
+ msu_device_t *device;
};
typedef struct msu_async_upload_t_ msu_async_upload_t;
msu_device_t *device;
};
+typedef struct msu_async_create_container_t_ msu_async_create_container_t;
+struct msu_async_create_container_t_ {
+ gchar *root_path;
+};
+
+typedef struct msu_async_update_t_ msu_async_update_t;
+struct msu_async_update_t_ {
+ gchar *current_tag_value;
+ gchar *new_tag_value;
+ GHashTable *map;
+};
+
struct msu_async_cb_data_t_ {
msu_task_type_t type;
msu_task_t *task;
msu_upnp_task_complete_t cb;
- void *user_data;
GVariant *result;
GError *error;
GUPnPServiceProxyAction *action;
msu_async_get_prop_t get_prop;
msu_async_get_all_t get_all;
msu_async_upload_t upload;
+ msu_async_create_container_t create_container;
+ msu_async_update_t update;
} ut;
};
msu_async_cb_data_t *msu_async_cb_data_new(msu_task_t *task,
- msu_upnp_task_complete_t cb,
- void *user_data);
+ msu_upnp_task_complete_t cb);
void msu_async_cb_data_delete(msu_async_cb_data_t *cb_data);
gboolean msu_async_complete_task(gpointer user_data);
void msu_async_task_cancelled(GCancellable *cancellable, gpointer user_data);