static void impl_gwget_application_openURLSList (PortableServer_Servant _servant, const GNOME_Gwget_URIList * urls, CORBA_Environment * ev) { GSList *list = NULL; guint i; gchar *url; GwgetData *gwgetdata; /* convert from CORBA_sequence into GList */ for (i = 0; i < urls->_length; i++) { list = g_slist_prepend (list, g_strdup (urls->_buffer[i])); } list = g_slist_reverse (list); if (list != NULL) { while (list!=NULL) { url = g_strdup((const gchar *)list->data); gwgetdata = gwget_data_create (url, gwget_pref.download_dir); gwget_data_add_download(gwgetdata); gwget_data_start_download(gwgetdata); list = g_slist_next(list); } g_slist_foreach (list, (GFunc)g_free, NULL); g_slist_free (list); } }
gboolean gwget_application_open_uri (GwgetApplication *application, const char *url, guint32 timestamp, GError **error) { GwgetData *gwgetdata; gwgetdata = gwget_data_new ((gchar *)url); gwget_data_add_download(gwgetdata); gwget_data_start_download(gwgetdata); return TRUE; }
static void gwget_download_playlist_items(gchar *filename) { FILE *f; gchar line[1024]; GwgetData *gwgetdata; f = g_fopen(filename, "r"); if (f!=NULL) { while (fgets(line, 1024, f)!=NULL) { if (check_url("http://", line) || check_url("ftp://", line)) { gwgetdata = gwget_data_new (g_strstrip(line)); gwget_data_add_download(gwgetdata); gwget_data_start_download(gwgetdata); } } fclose(f); } }
gboolean gwget_application_open_uri_with_dest (GwgetApplication *application, const char *url, const char *destination_dir, guint32 timestamp, GError **error) { GwgetData *gwgetdata; gwgetdata = gwget_data_new ((gchar *)url); if (strlen(destination_dir)!=0) { gwgetdata->dir = (gchar *)destination_dir; } else { gwgetdata->dir = gwget_pref.download_dir; } gwget_data_add_download(gwgetdata); gwget_data_start_download(gwgetdata); return TRUE; }