+void
+atom_entry_categories (AtomEntry *entry, AtomCategory *** categories,
+ size_t *len)
+{
+ if (len)
+ *len = entry->categories->len;
+ if (categories)
+ *categories = entry->categories->pdata;
+}
+
+void
+atom_entry_category_add (AtomEntry *entry, AtomCategory *category)
+{
+ g_ptr_array_add (entry->categories, category);
+ if (entry->categories == NULL)
+ {
+ entry->categories = g_ptr_array_new ();
+ }
+ g_ptr_array_add (entry->categories, category);
+}
+
+static void
+atom_entry_categories_delete (AtomEntry *entry)
+{
+ size_t len = entry->categories->len;
+ int i;
+ for (i = 0; i < len; i++)
+ atom_category_delete (g_ptr_array_index (entry->categories, i));
+ g_ptr_array_free (entry->categories, TRUE);
+}
+