SEEN-Database: refactor database interface for remembering whether we already aggrega...
[citadel.git] / citadel / modules / rssclient / rss_atom_parser.h
index 9cb40219b44e62da59f72da84b7ee52ed9d30129..3bc4c7826988bb78956e0e47e5453e93d295aadb 100644 (file)
@@ -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);