コード例 #1
0
ファイル: subscription.c プロジェクト: asl97/liferea
void
subscription_update (subscriptionPtr subscription, guint flags)
{
	updateRequestPtr		request;
	GTimeVal			now;
	
	if (!subscription)
		return;
		
	if (subscription->updateJob)
		return;
	
	debug1 (DEBUG_UPDATE, "Scheduling %s to be updated", node_get_title (subscription->node));
	 
	if (subscription_can_be_updated (subscription)) {
		liferea_shell_set_status_bar (_("Updating \"%s\""), node_get_title (subscription->node));

		g_get_current_time (&now);
		subscription_reset_update_counter (subscription, &now);

		request = update_request_new ();
		request->updateState = update_state_copy (subscription->updateState);
		request->options = update_options_copy (subscription->updateOptions);
		request->source = g_strdup (subscription_get_source (subscription));
		if (subscription_get_filter (subscription))
			request->filtercmd = g_strdup (subscription_get_filter (subscription));

		if (SUBSCRIPTION_TYPE (subscription)->prepare_update_request (subscription, request))
			subscription->updateJob = update_execute_request (subscription, request, subscription_process_update_result, subscription, flags);
		else
			update_request_free (request);
	}
}
コード例 #2
0
ファイル: aol_source_opml.c プロジェクト: asl97/liferea
gboolean
aol_source_opml_quick_update(AolSourcePtr source) 
{
	updateRequestPtr request = update_request_new ();
	request->updateState = update_state_copy (source->root->subscription->updateState);
	request->options = update_options_copy (source->root->subscription->updateOptions);
	update_request_set_source (request, AOL_READER_UNREAD_COUNTS_URL);
	update_request_set_auth_value(request, source->root->source->authToken);

	update_execute_request (source, request, aol_source_opml_quick_update_cb, source, 0);

	return TRUE;
}
コード例 #3
0
gboolean
inoreader_source_opml_quick_update(InoreaderSourcePtr gsource) 
{
	updateRequestPtr request = update_request_new ();
	request->updateState = update_state_copy (gsource->root->subscription->updateState);
	request->options = update_options_copy (gsource->root->subscription->updateOptions);
	update_request_set_source (request, INOREADER_UNREAD_COUNTS_URL);
	update_request_set_auth_value(request, gsource->authHeaderValue);

	update_execute_request (gsource, request, inoreader_source_opml_quick_update_cb,
				gsource, 0);

	return TRUE;
}
コード例 #4
0
ファイル: ns_blogChannel.c プロジェクト: asl97/liferea
static void
getOutlineList (feedParserCtxtPtr ctxt, requestDataTagType tag, char *url)
{
	struct requestData 	*requestData;
	updateRequestPtr	request;

	requestData = g_new0 (struct requestData, 1);
	requestData->ctxt = feed_create_parser_ctxt ();	
	requestData->ctxt->subscription = ctxt->subscription;	// FIXME
	requestData->tag = tag;

	request = update_request_new ();
	request->source = g_strdup (url);
	request->options = update_options_copy (ctxt->subscription->updateOptions);
	
	update_execute_request (ctxt->subscription, request, ns_blogChannel_download_request_cb, requestData, 0);
}
コード例 #5
0
static void
ttrss_source_update_subscription_list (ttrssSourcePtr source, subscriptionPtr subscription)
{
	updateRequestPtr	request;
	gchar			*source_uri;

	request = update_request_new ();
	request->updateState = update_state_copy (subscription->updateState);
	request->options = update_options_copy (subscription->updateOptions);

	source_uri = g_strdup_printf (TTRSS_URL, source->url);
	update_request_set_source (request, source_uri);
	g_free (source_uri);
	request->postdata = g_strdup_printf (TTRSS_JSON_SUBSCRIPTION_LIST, source->session_id);

	subscription->updateJob = update_execute_request (subscription, request, ttrss_source_subscription_list_cb, subscription, 0);
}
コード例 #6
0
ファイル: feed_list_view.c プロジェクト: lwindolf/liferea
static void
feed_list_view_add_duplicate_url_cb (GtkDialog *dialog, gint response_id, gpointer user_data)
{
	subscriptionPtr tempSubscription = (subscriptionPtr) user_data;

	if (GTK_RESPONSE_ACCEPT == response_id) {
		feedlist_add_subscription (
				subscription_get_source (tempSubscription),
				subscription_get_filter (tempSubscription),
				update_options_copy (tempSubscription->updateOptions),
				FEED_REQ_PRIORITY_HIGH
		);
	}

	subscription_free (tempSubscription);

	gtk_widget_destroy (GTK_WIDGET (dialog));
}