Backend now retrieves a request, not an Atom ID
[cascardo/atompub.git] / backend / files / giochannel.c
index dde0c56..1c4bcf0 100644 (file)
 #include <atompub/atom-glib.h>
 
 static gchar *
-giochannel_iri_to_filename (AtomCtx *ctx, IRI *iri)
+giochannel_req_to_filename (AtomCtx *ctx, char *req)
 {
   gchar *root = atom_config_get_str (ctx, "giochannel", "root");
-  gchar *path = iri_get_path (iri);
-  gchar *filename = g_build_filename (root, path, NULL);
+  gchar *filename = g_build_filename (root, req, NULL);
   g_free (root);
   return filename;
 }
 
-static Atom *
-giochannel_atom_retrieve_resource (AtomCtx *ctx, IRI *iri)
+static AtomEntry *
+giochannel_atom_retrieve_entry (AtomCtx *ctx, char *req)
 {
   gchar *filename;
   GIOChannel *channel;
   GError *error = NULL;
   gchar *data;
   gsize len;
-  Atom *atom;
-  filename = giochannel_iri_to_filename (ctx, iri);
+  AtomEntry *atom;
+  filename = giochannel_req_to_filename (ctx, req);
   channel = g_io_channel_new_file ((const gchar *) filename, "r", &error);
   g_free (filename);
   if (channel == NULL)
@@ -61,7 +60,7 @@ giochannel_atom_retrieve_resource (AtomCtx *ctx, IRI *iri)
       return NULL;
     }
   g_io_channel_unref (channel);
-  atom = atom_new_data_len (data, len);
+  atom = atom_entry_new_data_len (data, len);
   g_free (data);
   return atom;
 }
@@ -71,7 +70,7 @@ giochannel_backend (void)
 {
   AtomBackend *backend;
   backend = atom_backend_new ();
-  atom_backend_retrieve_resource_set (backend,
-                                     giochannel_atom_retrieve_resource);
+  atom_backend_retrieve_entry_set (backend,
+                                  giochannel_atom_retrieve_entry);
   return backend;
 }