X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Frssclient%2Frss_atom_parser.h;h=3bc4c7826988bb78956e0e47e5453e93d295aadb;hb=66f09fdd7c3f58e13ed01431dd5148302327ca6e;hp=9cb40219b44e62da59f72da84b7ee52ed9d30129;hpb=5ec1b7756ba201839aac2dfbf9165a1888f93a0d;p=citadel.git diff --git a/citadel/modules/rssclient/rss_atom_parser.h b/citadel/modules/rssclient/rss_atom_parser.h index 9cb40219b..3bc4c7826 100644 --- a/citadel/modules/rssclient/rss_atom_parser.h +++ b/citadel/modules/rssclient/rss_atom_parser.h @@ -1,21 +1,21 @@ /* * Bring external RSS feeds into rooms. * - * Copyright (c) 2007-2010 by the citadel.org team + * Copyright (c) 2007-2012 by the citadel.org team * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. + * This program is open source software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 3. + * + * * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * + * */ @@ -55,6 +55,7 @@ struct rss_item { StrBuf *author_url; StrBuf *author_email; }; +void flush_rss_item(rss_item *ri); struct rss_room_counter { int count; @@ -62,17 +63,26 @@ struct rss_room_counter { }; typedef struct __networker_save_message { - struct CtdlMessage *Msg; + struct CtdlMessage Msg; StrBuf *MsgGUID; StrBuf *Message; - struct UseTable ut; + + StrBuf *author_email; + StrBuf *author_or_creator; + StrBuf *title; + StrBuf *description; + + StrBuf *link; + StrBuf *linkTitle; + + StrBuf *reLink; + StrBuf *reLinkTitle; } networker_save_message; struct rss_aggregator { AsyncIO IO; XML_Parser xp; - int RefCount; int ItemType; int roomlist_parts; @@ -91,13 +101,10 @@ struct rss_aggregator { HashPos *Pos; HashList *Messages; networker_save_message *ThisMsg; - const rss_xml_handler *Current; }; -eNextState ParseRSSReply(AsyncIO *IO); - -void rss_save_item(rss_item *ri, rss_aggregator *Cfg); +eNextState RSSAggregator_ParseReply(AsyncIO *IO); eNextState RSS_FetchNetworkUsetableEntry(AsyncIO *IO);