struct _atom_entry
{
xmlDocPtr doc;
- char *id;
+ AtomID *id;
char *title;
GPtrArray *authors;
char *summary;
g_slice_free (AtomEntry, entry);
}
-char *
+AtomID *
atom_entry_id (AtomEntry *entry)
{
return entry->id;
}
void
-atom_entry_id_set (AtomEntry *entry, char *id)
+atom_entry_id_set (AtomEntry *entry, AtomID *id)
{
if (entry->id)
- g_free (entry->id);
- entry->id = g_strdup (id);
+ atom_id_delete (entry->id);
+ entry->id = id;
}
char *
child = next;
}
}
- id = xmlNewTextChild (root, NULL, "id", entry->id);
+ id = xmlNewTextChild (root, NULL, "id", atom_id_string (entry->id));
title = xmlNewTextChild (root, NULL, "title", entry->title);
if (entry->summary)
summary = xmlNewTextChild (root, NULL, "summary", entry->summary);
#include <sys/types.h>
#include <atompub/person.h>
+#include <atompub/id.h>
typedef struct _atom_entry AtomEntry;
AtomEntry * atom_entry_new (char *, AtomPerson *);
AtomEntry * atom_entry_new_data_len (char *, size_t);
void atom_entry_delete (AtomEntry *);
-char * atom_entry_id (AtomEntry *);
-void atom_entry_id_set (AtomEntry *, char *);
+AtomID * atom_entry_id (AtomEntry *);
+void atom_entry_id_set (AtomEntry *, AtomID *);
char * atom_entry_title (AtomEntry *);
void atom_entry_title_set (AtomEntry *, char *);
void atom_entry_authors (AtomEntry *, AtomPerson ***, size_t *);