G_BEGIN_DECLS
-struct _ModestPair {
+typedef struct _ModestPair {
gpointer *first;
gpointer *second;
gboolean own;
-};
-typedef struct _ModestPair ModestPair;
+} ModestPair;
+
+typedef GSList ModestPairList;
/**
- * modest_pait_new
+ * modest_pair_new:
+ * @first: the first element of the pair
+ * @second: the second element of the pair
+ * @own: does the pair own the item (ie. should the items be freed when the pair is destroyed)
*
* create a new ModestPair instance
*
* Returns: a newly allocated ModestPair instance
*/
-ModestPair* modest_pair_new (gpointer first, gpointer second, gboolean own);
-void modest_pair_destroy (ModestPair *pair);
+ModestPair* modest_pair_new (gpointer first, gpointer second, gboolean own);
+
+
+/**
+ * modest_pair_free:
+ * @self: a valid ModestPair instance or NULL
+ *
+ * free a ModestPair instance. If it was created with own==TRUE, the elements
+ * will be g_free'd as well. If pair==NULL, nothing will be done.
+ */
+void modest_pair_free (ModestPair *self);
-GSList *modest_pair_gslist_destroy (GSList *pairs);
+/**
+ * modest_pair_list_free:
+ * @pairs: a valid ModestPairList
+ *
+ * convenience function to destroy all pairs in a list
+ *
+ */
+void modest_pair_list_free (ModestPairList *pairs);
G_END_DECLS