diff options
Diffstat (limited to '')
-rw-r--r-- | src/song_sticker.c | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/src/song_sticker.c b/src/song_sticker.c deleted file mode 100644 index 78025906e..000000000 --- a/src/song_sticker.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (C) 2003-2011 The Music Player Daemon Project - * http://www.musicpd.org - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include "config.h" -#include "song_sticker.h" -#include "song.h" -#include "directory.h" -#include "sticker.h" - -#include <glib.h> - -#include <assert.h> -#include <string.h> - -char * -sticker_song_get_value(const struct song *song, const char *name) -{ - char *uri, *value; - - assert(song != NULL); - assert(song_in_database(song)); - - uri = song_get_uri(song); - value = sticker_load_value("song", uri, name); - g_free(uri); - - return value; -} - -bool -sticker_song_set_value(const struct song *song, - const char *name, const char *value) -{ - char *uri; - bool ret; - - assert(song != NULL); - assert(song_in_database(song)); - - uri = song_get_uri(song); - ret = sticker_store_value("song", uri, name, value); - g_free(uri); - - return ret; -} - -bool -sticker_song_delete(const struct song *song) -{ - char *uri; - bool ret; - - assert(song != NULL); - assert(song_in_database(song)); - - uri = song_get_uri(song); - ret = sticker_delete("song", uri); - g_free(uri); - - return ret; -} - -bool -sticker_song_delete_value(const struct song *song, const char *name) -{ - char *uri; - bool success; - - assert(song != NULL); - assert(song_in_database(song)); - - uri = song_get_uri(song); - success = sticker_delete_value("song", uri, name); - g_free(uri); - - return success; -} - -struct sticker * -sticker_song_get(const struct song *song) -{ - char *uri; - struct sticker *sticker; - - assert(song != NULL); - assert(song_in_database(song)); - - uri = song_get_uri(song); - sticker = sticker_load("song", uri); - g_free(uri); - - return sticker; -} - -struct sticker_song_find_data { - struct directory *directory; - const char *base_uri; - size_t base_uri_length; - - void (*func)(struct song *song, const char *value, - gpointer user_data); - gpointer user_data; -}; - -static void -sticker_song_find_cb(const char *uri, const char *value, gpointer user_data) -{ - struct sticker_song_find_data *data = user_data; - struct song *song; - - if (memcmp(uri, data->base_uri, data->base_uri_length) != 0) - /* should not happen, ignore silently */ - return; - - song = directory_lookup_song(data->directory, - uri + data->base_uri_length); - if (song != NULL) - data->func(song, value, data->user_data); -} - -bool -sticker_song_find(struct directory *directory, const char *name, - void (*func)(struct song *song, const char *value, - gpointer user_data), - gpointer user_data) -{ - struct sticker_song_find_data data = { - .directory = directory, - .func = func, - .user_data = user_data, - }; - char *allocated; - bool success; - - data.base_uri = directory_get_path(directory); - if (*data.base_uri != 0) - /* append slash to base_uri */ - data.base_uri = allocated = - g_strconcat(data.base_uri, "/", NULL); - else - /* searching in root directory - no trailing slash */ - allocated = NULL; - - data.base_uri_length = strlen(data.base_uri); - - success = sticker_find("song", data.base_uri, name, - sticker_song_find_cb, &data); - g_free(allocated); - - return success; -} |