2 * Copyright (C) 2008 Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (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
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #ifndef ATOMPUB_FRONTEND_H
21 #define ATOMPUB_FRONTEND_H
23 #include <atompub/ctx.h>
24 #include <atompub/entry.h>
25 #include <atompub/feed.h>
27 typedef struct _atom_frontend AtomFrontend;
29 AtomFrontend *atom_frontend_new (void);
30 void atom_frontend_delete (AtomFrontend *);
31 void atom_frontend_map_entries_set (AtomFrontend *,
32 void (AtomCtx *, char **,
33 AtomEntry **, size_t));
34 void atom_frontend_is_feed_set (AtomFrontend *, int (AtomCtx *, char *));
35 void atom_frontend_get_request_set (AtomFrontend *,
36 AtomRequest * (AtomCtx *));
37 void atom_frontend_handle_error_set (AtomFrontend *,
39 void atom_frontend_handle_entry_set (AtomFrontend *,
40 void (AtomCtx *, AtomEntry *));
41 void atom_frontend_handle_feed_set (AtomFrontend *,
42 void (AtomCtx *, AtomFeed *));
43 void atom_map_entries (AtomCtx *, char **, AtomEntry **, size_t);
44 int atom_is_feed (AtomCtx *, char *);
45 AtomRequest * atom_get_request (AtomCtx *);
46 void atom_handle_error (AtomCtx *);
47 void atom_handle_entry (AtomCtx *, AtomEntry *);
48 void atom_handle_feed (AtomCtx *, AtomFeed *);
49 AtomFrontend * atom_frontend (AtomCtx *);
50 void atom_frontend_set (AtomCtx *, AtomFrontend *);