2 * Copyright (C) 2006 Andrej Kacian <andrej@kacian.sk>
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation; either version 2 of the
7 * License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
14 * You should have received a copy of the GNU General Public
15 * License along with this program; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
26 #define FEED_DEFAULT_TIMEOUT 20 /* In seconds */
28 /* ---------------- Structures */
30 typedef struct _Feed Feed;
31 typedef struct _FeedItem FeedItem;
32 typedef struct _FeedParserCtx FeedParserCtx;
33 typedef struct _FeedAuth FeedAuth;
60 gboolean ssl_verify_peer;
65 struct _FeedParserCtx {
72 gboolean id_is_permalink;
86 /* ---------------- Prototypes */
88 Feed *feed_new(gchar *url);
89 void feed_free(Feed *feed);
91 void feed_free_items(Feed *feed);
93 void feed_set_timeout(Feed *feed, guint timeout);
94 guint feed_get_timeout(Feed *feed);
96 void feed_set_url(Feed *feed, gchar *url);
97 gchar *feed_get_url(Feed *feed);
99 void feed_set_auth(Feed *feed, FeedAuth *auth);
100 FeedAuth *feed_get_auth(Feed *feed);
102 gchar *feed_get_title(Feed *feed);
103 void feed_set_title(Feed *feed, gchar *new_title);
105 gchar *feed_get_description(Feed *feed);
106 gchar *feed_get_language(Feed *feed);
107 gchar *feed_get_author(Feed *feed);
108 gchar *feed_get_generator(Feed *feed);
109 gchar *feed_get_link(Feed *feed);
110 gchar *feed_get_fetcherror(Feed *feed);
112 gchar *feed_get_cookies_path(Feed *feed);
113 void feed_set_cookies_path(Feed *feed, gchar *path);
115 gboolean feed_get_ssl_verify_peer(Feed *feed);
116 void feed_set_ssl_verify_peer(Feed *feed, gboolean ssl_verify_peer);
118 gint feed_n_items(Feed *feed);
119 FeedItem *feed_nth_item(Feed *feed, guint n);
121 void feed_foreach_item(Feed *feed, GFunc func, gpointer data);
123 gboolean feed_prepend_item(Feed *feed, FeedItem *item);
124 gboolean feed_append_item(Feed *feed, FeedItem *item);
125 gboolean feed_insert_item(Feed *feed, FeedItem *item, gint pos);
127 guint feed_update(Feed *feed, time_t last_update);
129 #define FILL(n) do { g_free(n); n = g_strdup(text); } while(0);
131 #include "feeditem.h"
133 #endif /* __FEED_H */