Exemplo n.º 1
0
static void Fetch( void *p_data )
{
    filter_t *p_filter = (filter_t *)p_data;			// sunqueen modify
    filter_sys_t *p_sys = p_filter->p_sys;

    msg_Dbg( p_filter, "Updating the rss feeds" );
    rss_feed_t *p_feeds = FetchRSS( p_filter );
    if( !p_feeds )
    {
        msg_Err( p_filter, "Unable to fetch the feeds" );
        return;
    }

    rss_feed_t *p_old_feeds = p_sys->p_feeds;

    vlc_mutex_lock( &p_sys->lock );
    /* Update the feeds */
    p_sys->p_feeds = p_feeds;
    p_sys->b_fetched = true;
    /* Set all current info to the original values */
    p_sys->i_cur_feed = 0;
    p_sys->i_cur_item = p_sys->i_title == scroll_title ? -1 : 0;
    p_sys->i_cur_char = 0;
    vlc_mutex_unlock( &p_sys->lock );

    if( p_old_feeds )
        FreeRSS( p_old_feeds, p_sys->i_feeds );
}
Exemplo n.º 2
0
bool Downloader::GetRSS() {

	xmlDocPtr doc = FetchRSS();
	if (doc == NULL)
		return false;

	bool ret = ParseRSS(doc);
	xmlFreeDoc(doc);

	return ret;
}