Fix obvious mistake, thanks Michael (bug #3215)
[claws.git] / src / plugins / rssyl / rssyl.h
1 #ifndef __RSSYL_H
2 #define __RSSYL_H
3
4 #include <glib.h>
5
6 #include <folder.h>
7
8 #include "libfeed/feed.h"
9
10 /* Name of directory in rcdir where RSSyl will store its data. */
11 #define RSSYL_DIR               "RSSyl"
12
13 /* Folder name for a new feed, before it is parsed for the first time. */
14 #define RSSYL_NEW_FOLDER_NAME           "NewFeed"
15
16 /* Default RSSyl mailbox name */
17 #define RSSYL_DEFAULT_MAILBOX   _("My Feeds")
18
19 /* Default feed to be added when creating mailbox for the first time */
20 #define RSSYL_DEFAULT_FEED      "http://planet.claws-mail.org/rss20.xml"
21
22 /* File where info about user-deleted feed items is stored */
23 #define RSSYL_DELETED_FILE ".deleted"
24
25 struct _RFolderItem {
26         FolderItem item;
27         gchar *url;
28         gchar *official_title;
29         gchar *source_id;
30
31         gboolean keep_old;
32
33         gboolean default_refresh_interval;
34         gint refresh_interval;
35
36         gboolean fetch_comments;
37         gint fetch_comments_max_age;
38
39         gint silent_update;
40         gboolean write_heading;
41         gboolean ignore_title_rename;
42         gboolean ssl_verify_peer;
43
44         guint refresh_id;
45         gboolean fetching_comments;
46         time_t last_update;
47
48         struct _RFeedProp *feedprop;
49
50         GSList *items;
51         GSList *deleted_items;
52 };
53
54 typedef struct _RFolderItem RFolderItem;
55
56 struct _RRefreshCtx {
57         RFolderItem *ritem;
58         guint id;
59 };
60
61 typedef struct _RRefreshCtx RRefreshCtx;
62
63 struct _RFetchCtx {
64         Feed *feed;
65         guint response_code;
66         gchar *error;
67         gboolean success;
68         gboolean ready;
69 };
70
71 typedef struct _RFetchCtx RFetchCtx;
72
73 struct _RParseCtx {
74         RFolderItem *ritem;
75         gboolean ready;
76 };
77
78 typedef struct _RParseCtx RParseCtx;
79
80 struct _RDeletedItem {
81         gchar *id;
82         gchar *title;
83         time_t date_published;
84         time_t date_modified;
85 };
86
87 typedef struct _RDeletedItem RDeletedItem;
88
89 void rssyl_init(void);
90 void rssyl_done(void);
91
92 FolderClass *rssyl_folder_get_class(void);
93
94 FolderItem *rssyl_get_root_folderitem(FolderItem *item);
95
96 #define IS_RSSYL_FOLDER_ITEM(item) \
97         (item->folder->klass == rssyl_folder_get_class())
98
99 #endif /* __RSSYL_H */