commit b416cf8599549dce956a0d089cbb5965eb744829
Author: Christophe Fergeau <[email protected]>
Date: Wed Nov 11 18:08:33 2009 +0100
add private itdb_playlist_add_to_purchase
src/itdb_playlist.c | 42 +++++++++++++++++++++++++++---------------
src/itdb_private.h | 3 +++
2 files changed, 30 insertions(+), 15 deletions(-)
---
diff --git a/src/itdb_playlist.c b/src/itdb_playlist.c
index 88eba70..d8dc5b9 100644
--- a/src/itdb_playlist.c
+++ b/src/itdb_playlist.c
@@ -1270,19 +1270,8 @@ void itdb_playlist_free (Itdb_Playlist *pl)
g_free (pl);
}
-/**
- * itdb_playlist_add:
- * @itdb: an #Itdb_iTunesDB
- * @pl: an #Itdb_Playlist
- * @pos: position to insert @pl at
- *
- * Adds playlist @pl to the database @itdb at position @pos (-1 for
- * "append to end"). A unique id is created if @pl->id is equal to
- * zero. After calling this function, @itdb manages the memory of @pl,
- * which means you no longer need to explicitly call
- * itdb_playlist_free()
- */
-void itdb_playlist_add (Itdb_iTunesDB *itdb, Itdb_Playlist *pl, gint32 pos)
+static void itdb_playlist_add_internal (Itdb_iTunesDB *itdb, Itdb_Playlist *pl,
+ gint32 pos, GList **playlists)
{
g_return_if_fail (itdb);
g_return_if_fail (pl);
@@ -1302,7 +1291,7 @@ void itdb_playlist_add (Itdb_iTunesDB *itdb,
Itdb_Playlist *pl, gint32 pos)
/* check if id is really unique (with 100 playlists the
* chance to create a duplicate is 1 in
* 184,467,440,737,095,516.16) */
- for (gl=itdb->playlists; id && gl; gl=gl->next)
+ for (gl=*playlists; id && gl; gl=gl->next)
{
Itdb_Playlist *g_pl = gl->data;
g_return_if_fail (g_pl);
@@ -1315,7 +1304,30 @@ void itdb_playlist_add (Itdb_iTunesDB *itdb,
Itdb_Playlist *pl, gint32 pos)
if (pl->timestamp == 0) pl->timestamp = time (NULL);
/* pos == -1 appends at the end of the list */
- itdb->playlists = g_list_insert (itdb->playlists, pl, pos);
+ *playlists = g_list_insert (*playlists, pl, pos);
+}
+
+void itdb_playlist_add_to_purchases (Itdb_iTunesDB *itdb, Itdb_Playlist *pl,
+ gint32 pos)
+{
+ itdb_playlist_add_internal (itdb, pl, pos,
&itdb->priv->purchase_playlists);
+}
+
+/**
+ * itdb_playlist_add:
+ * @itdb: an #Itdb_iTunesDB
+ * @pl: an #Itdb_Playlist
+ * @pos: position to insert @pl at
+ *
+ * Adds playlist @pl to the database @itdb at position @pos (-1 for
+ * "append to end"). A unique id is created if @pl->id is equal to
+ * zero. After calling this function, @itdb manages the memory of @pl,
+ * which means you no longer need to explicitly call
+ * itdb_playlist_free()
+ */
+void itdb_playlist_add (Itdb_iTunesDB *itdb, Itdb_Playlist *pl, gint32 pos)
+{
+ itdb_playlist_add_internal (itdb, pl, pos, &itdb->playlists);
}
/**
diff --git a/src/itdb_private.h b/src/itdb_private.h
index f347f65..59c4cb5 100644
--- a/src/itdb_private.h
+++ b/src/itdb_private.h
@@ -200,6 +200,9 @@ struct _Itdb_Playlist_Private {
Itdb_Playlist_Purchase_Type purchase_type;
};
+G_GNUC_INTERNAL void itdb_playlist_add_to_purchases (Itdb_iTunesDB *itdb,
+ Itdb_Playlist *pl,
+ gint32 pos);
G_GNUC_INTERNAL gboolean itdb_spl_action_known (ItdbSPLAction action);
G_GNUC_INTERNAL void itdb_splr_free (Itdb_SPLRule *splr);
G_GNUC_INTERNAL const gchar *itdb_photodb_get_mountpoint (Itdb_PhotoDB
*photodb);
------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2