From: Thadeu Lima de Souza Cascardo Date: Mon, 13 Oct 2008 00:51:15 +0000 (-0300) Subject: Remove Atom Resource X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fatompub.git;a=commitdiff_plain;h=41a3c4da11e6a4e2a40ad01f251706d3bd948e33 Remove Atom Resource This is required as the next step is to make the frontend decide if the requested resource is a feed or an entry, instead of the backend. --- diff --git a/atom/Makefile.am b/atom/Makefile.am index 28f1a27..28a604e 100644 --- a/atom/Makefile.am +++ b/atom/Makefile.am @@ -1,5 +1,5 @@ lib_LTLIBRARIES = libatom.la -libatom_la_SOURCES = id.c entry.c person.c feed.c resource.c \ +libatom_la_SOURCES = id.c entry.c person.c feed.c \ config.c ctx.c backend.c error.c frontend.c libatom_la_CFLAGS = -I$(top_srcdir)/include $(GLIB_CFLAGS) libatom_la_CFLAGS += $(XML_CFLAGS) $(GIO_CFLAGS) diff --git a/atom/backend.c b/atom/backend.c index 734e6d2..d517748 100644 --- a/atom/backend.c +++ b/atom/backend.c @@ -157,29 +157,3 @@ atom_retrieve_feed (AtomCtx *ctx) g_free (entries); return feed; } - -AtomResource * -atom_retrieve_resource (AtomCtx *ctx, AtomID *id) -{ - AtomResource *res; - res = NULL; - if (atom_is_feed (ctx, id)) - { - AtomFeed *feed; - feed = atom_retrieve_feed (ctx); - if (feed == NULL) - return NULL; - res = atom_resource_new_from_feed (feed); - atom_feed_delete (feed); - } - else if (atom_error_get (ctx) == NULL) - { - AtomEntry *entry; - entry = atom_retrieve_entry (ctx, id); - if (entry == NULL) - return NULL; - res = atom_resource_new_from_entry (entry); - atom_entry_delete (entry); - } - return res; -} diff --git a/atom/resource.c b/atom/resource.c deleted file mode 100644 index 00d76fe..0000000 --- a/atom/resource.c +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (C) 2008 Thadeu Lima de Souza Cascardo - * - * 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 2 of the License, or - * (at your option) any later version. - * - * 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., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - - -#include - -#include - -struct _atom_resource -{ - char *str; - size_t len; -}; - -AtomResource * -atom_resource_new_from_feed (AtomFeed *feed) -{ - AtomResource *res; - res = g_slice_new (AtomResource); - atom_feed_string (feed, &(res->str), &(res->len)); - return res; -} - -AtomResource * -atom_resource_new_from_entry (AtomEntry *entry) -{ - AtomResource *res; - res = g_slice_new (AtomResource); - atom_entry_string (entry, &(res->str), &(res->len)); - return res; -} - -void -atom_resource_delete (AtomResource *res) -{ - if (res->str) - g_free (res->str); - g_slice_free (AtomResource, res); -} - -void -atom_resource_string (AtomResource *res, char **buffer, size_t *len) -{ - if (buffer) - *buffer = g_strdup (res->str); - if (len) - *len = res->len; -} diff --git a/frontend/cgi/cgi.c b/frontend/cgi/cgi.c index 3c5d72a..069a073 100644 --- a/frontend/cgi/cgi.c +++ b/frontend/cgi/cgi.c @@ -46,10 +46,10 @@ cgi_serve_request (AtomCtx *ctx) if (!strcmp (method, "GET")) { AtomID *id; - AtomResource *atom; + AtomEntry *atom; AtomError *error; id = atom_id_new (path); - atom = atom_retrieve_resource (ctx, id); + atom = atom_retrieve_entry (ctx, id); atom_id_delete (id); if (atom) { @@ -57,10 +57,10 @@ cgi_serve_request (AtomCtx *ctx) size_t len; char *header = "Content-type: application/atom+xml\n\n"; write (1, header, strlen (header)); - atom_resource_string (atom, &str, &len); + atom_entry_string (atom, &str, &len); write (1, str, len); g_free (str); - atom_resource_delete (atom); + atom_entry_delete (atom); } else if ((error = atom_error_get (ctx)) != NULL) { diff --git a/include/atompub/Makefile.am b/include/atompub/Makefile.am index c30add5..3c00973 100644 --- a/include/atompub/Makefile.am +++ b/include/atompub/Makefile.am @@ -1,4 +1,4 @@ pkginclude_HEADERS = atom.h config.h ctx.h entry.h person.h error.h feed.h \ id.h iri.h backend.h atom-glib.h error-glib.h atom-xml.h \ - entry-xml.h person-xml.h feed-xml.h globals.h resource.h \ + entry-xml.h person-xml.h feed-xml.h globals.h \ map.h frontend.h diff --git a/include/atompub/atom.h b/include/atompub/atom.h index 6ac66f3..e374963 100644 --- a/include/atompub/atom.h +++ b/include/atompub/atom.h @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include diff --git a/include/atompub/backend.h b/include/atompub/backend.h index 5a42ae2..d423212 100644 --- a/include/atompub/backend.h +++ b/include/atompub/backend.h @@ -39,7 +39,6 @@ AtomEntry * atom_retrieve_entry (AtomCtx *, AtomID *); void atom_enumerate_entries (AtomCtx *, char ***, AtomEntry ***, size_t *); int atom_is_feed (AtomCtx *, AtomID *); AtomFeed * atom_retrieve_feed (AtomCtx *); -AtomResource *atom_retrieve_resource (AtomCtx *, AtomID *); AtomBackend * atom_backend (AtomCtx *); void atom_backend_set (AtomCtx *, AtomBackend *); diff --git a/include/atompub/resource.h b/include/atompub/resource.h deleted file mode 100644 index a6a7f26..0000000 --- a/include/atompub/resource.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2008 Thadeu Lima de Souza Cascardo - * - * 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 2 of the License, or - * (at your option) any later version. - * - * 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., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - - -#ifndef ATOMPUB_RESOURCE_H -#define ATOMPUB_RESOURCE_H - -#include -#include -#include - -typedef struct _atom_resource AtomResource; - -AtomResource * atom_resource_new_from_feed (AtomFeed *); -AtomResource * atom_resource_new_from_entry (AtomEntry *); -void atom_resource_delete (AtomResource *); -void atom_resource_string (AtomResource *, char **, size_t *); - -#endif