4 * Copyright (C) 2012 Intel Corporation. All rights reserved.
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU Lesser General Public License,
8 * version 2.1, as published by the Free Software Foundation.
10 * This program is distributed in the hope it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
19 * Mark Ryan <mark.d.ryan@intel.com>
26 #include <libgupnp/gupnp-control-point.h>
31 typedef struct msu_async_cb_data_t_ msu_async_cb_data_t;
32 typedef struct msu_device_t_ msu_device_t;
34 typedef void (*msu_async_cb_t)(msu_async_cb_data_t *cb_data);
36 typedef struct msu_async_bas_t_ msu_async_bas_t;
37 struct msu_async_bas_t_ {
41 const gchar *protocol_info;
42 gboolean need_child_count;
45 msu_async_cb_t get_children_cb;
48 typedef struct msu_async_get_prop_t_ msu_async_get_prop_t;
49 struct msu_async_get_prop_t_ {
52 const gchar *protocol_info;
55 typedef struct msu_async_get_all_t_ msu_async_get_all_t;
56 struct msu_async_get_all_t_ {
61 const gchar *protocol_info;
62 gboolean need_child_count;
63 gboolean device_object;
67 typedef struct msu_async_upload_t_ msu_async_upload_t;
68 struct msu_async_upload_t_ {
69 const gchar *object_class;
75 typedef struct msu_async_create_container_t_ msu_async_create_container_t;
76 struct msu_async_create_container_t_ {
80 typedef struct msu_async_update_t_ msu_async_update_t;
81 struct msu_async_update_t_ {
82 gchar *current_tag_value;
87 struct msu_async_cb_data_t_ {
90 msu_upnp_task_complete_t cb;
93 GUPnPServiceProxyAction *action;
94 GUPnPServiceProxy *proxy;
95 GCancellable *cancellable;
100 msu_async_get_prop_t get_prop;
101 msu_async_get_all_t get_all;
102 msu_async_upload_t upload;
103 msu_async_create_container_t create_container;
104 msu_async_update_t update;
108 msu_async_cb_data_t *msu_async_cb_data_new(msu_task_t *task,
109 msu_upnp_task_complete_t cb);
110 void msu_async_cb_data_delete(msu_async_cb_data_t *cb_data);
111 gboolean msu_async_complete_task(gpointer user_data);
112 void msu_async_task_cancelled(GCancellable *cancellable, gpointer user_data);