void search_container (GUPnPServiceProxy *cds_proxy) { gupnp_service_proxy_begin_action (cds_proxy, "Browse", browse_cb, NULL, /* IN args */ "ObjectID", G_TYPE_STRING, "0", "BrowseFlag", G_TYPE_STRING, "BrowseDirectChildren", "Filter", G_TYPE_STRING, "*", "StartingIndex", G_TYPE_UINT, 0, "RequestedCount", G_TYPE_UINT, 0, "SortCriteria", G_TYPE_STRING, "", NULL); }
void create_item (const char *file_path, const char *title, GUPnPServiceProxy *cds_proxy, const char *container_id) { char *didl; didl = create_didl_for_file (file_path, title, container_id); if (didl == NULL) { item_created (NULL); return; } gupnp_service_proxy_begin_action (cds_proxy, "CreateObject", create_object_cb, NULL, "ContainerID", G_TYPE_STRING, container_id, "Elements", G_TYPE_STRING, didl, NULL); }
static void gupnp_simple_igd_gather (GUPnPSimpleIgd *self, struct Proxy *prox) { prox->external_ip_action = gupnp_service_proxy_begin_action (prox->proxy, "GetExternalIPAddress", _service_proxy_got_external_ip_address, prox, NULL); gupnp_service_proxy_add_notify (prox->proxy, "ExternalIPAddress", G_TYPE_STRING, _external_ip_address_changed, prox); gupnp_service_proxy_set_subscribed (prox->proxy, TRUE); }
void browse(GUPnPServiceProxy *content_dir, const char *container_id, guint32 starting_index, guint32 requested_count, GtkListStore *list, GUPnPDIDLLiteParser *didl_parser) { struct browse_data *data; data = browse_data_new(content_dir, container_id, starting_index, list); gupnp_service_proxy_begin_action(content_dir, "Browse", browse_cb, data, "ObjectID", G_TYPE_STRING, container_id, "BrowseFlag", G_TYPE_STRING, "BrowseDirectChildren", "Filter", G_TYPE_STRING, "*", "StartingIndex", G_TYPE_UINT, starting_index, "RequestedCount", G_TYPE_UINT, requested_count, "SortCriteria", G_TYPE_STRING, "", NULL); }
static void free_proxymapping (struct ProxyMapping *pm, GUPnPSimpleIgd *self) { stop_proxymapping (pm, TRUE); if (pm->mapped && self) { self->priv->deleting_count++; g_object_ref (self); gupnp_service_proxy_begin_action (pm->proxy->proxy, "DeletePortMapping", _service_proxy_delete_port_mapping, self, "NewRemoteHost", G_TYPE_STRING, "", "NewExternalPort", G_TYPE_UINT, pm->actual_external_port, "NewProtocol", G_TYPE_STRING, pm->mapping->protocol, NULL); } g_slice_free (struct ProxyMapping, pm); }
void start_transfer (const char *file_path, const char *dest_uri, GUPnPServiceProxy *cds_proxy, GUPnPContext *context) { char *source_uri; char *file_name; if (!g_path_is_absolute (file_path)) { g_critical ("Given file path '%s' is not absolute.", file_path); transfer_completed (); return; } /* Time to host the file */ gupnp_context_host_path (context, file_path, file_path); source_uri = g_strdup_printf ("http://%s:%u%s", gssdp_client_get_host_ip (GSSDP_CLIENT (context)), gupnp_context_get_port (context), file_path); file_name = g_path_get_basename (file_path); gupnp_service_proxy_begin_action (cds_proxy, "ImportResource", import_resource_cb, file_name, "SourceURI", G_TYPE_STRING, source_uri, "DestinationURI", G_TYPE_STRING, dest_uri, NULL); g_free (source_uri); }
static gboolean track_transfer (gpointer user_data) { TrackTransferData *data = (TrackTransferData *) user_data; if (data->action != NULL) { /* Previous action call still in progress */ return TRUE; } data->action = gupnp_service_proxy_begin_action ( data->cds_proxy, "GetTransferProgress", get_transfer_progress_cb, data, "TransferID", G_TYPE_UINT, data->transfer_id, NULL); return TRUE; }
static void gupnp_simple_igd_call_add_port_mapping (struct ProxyMapping *pm, GUPnPServiceProxyActionCallback callback) { g_assert (pm); g_return_if_fail (pm->action == NULL); g_assert (pm->proxy); g_assert (pm->mapping); pm->action = gupnp_service_proxy_begin_action (pm->proxy->proxy, "AddPortMapping", callback, pm, "NewRemoteHost", G_TYPE_STRING, "", "NewExternalPort", G_TYPE_UINT, pm->actual_external_port, "NewProtocol", G_TYPE_STRING, pm->mapping->protocol, "NewInternalPort", G_TYPE_UINT, pm->mapping->local_port, "NewInternalClient", G_TYPE_STRING, pm->mapping->local_ip, "NewEnabled", G_TYPE_BOOLEAN, TRUE, "NewPortMappingDescription", G_TYPE_STRING, pm->mapping->description, "NewLeaseDuration", G_TYPE_UINT, pm->mapping->lease_duration, NULL); }
void set_all_load_level (gint load_level) { GList *proxy_node; for (proxy_node = dimming_proxies; proxy_node; proxy_node = g_list_next (proxy_node)) { GUPnPServiceProxy *proxy; char *action_name; proxy = GUPNP_SERVICE_PROXY (proxy_node->data); action_name = g_strdup ("SetLoadLevelTarget"); gupnp_service_proxy_begin_action (proxy, action_name, on_service_proxy_action_ret, action_name, "newLoadlevelTarget", G_TYPE_UINT, load_level, NULL); } }
void set_all_status (gboolean status) { GList *proxy_node; for (proxy_node = switch_proxies; proxy_node; proxy_node = g_list_next (proxy_node)) { GUPnPServiceProxy *proxy; char *action_name; proxy = GUPNP_SERVICE_PROXY (proxy_node->data); action_name = g_strdup ("SetTarget"); gupnp_service_proxy_begin_action (proxy, action_name, on_service_proxy_action_ret, action_name, "newTargetValue", G_TYPE_BOOLEAN, status, NULL); } }