diff options
Diffstat (limited to 'src/Mapper.hxx')
-rw-r--r-- | src/Mapper.hxx | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/src/Mapper.hxx b/src/Mapper.hxx index 947fd2822..a94a4fbb5 100644 --- a/src/Mapper.hxx +++ b/src/Mapper.hxx @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2013 The Music Player Daemon Project + * Copyright (C) 2003-2014 The Music Player Daemon Project * http://www.musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -30,16 +30,19 @@ #define PLAYLIST_FILE_SUFFIX ".m3u" -class Path; class AllocatedPath; struct Directory; struct Song; +struct LightSong; +class DetachedSong; void mapper_init(AllocatedPath &&music_dir, AllocatedPath &&playlist_dir); void mapper_finish(void); +#ifdef ENABLE_DATABASE + /** * Return the absolute path of the music directory encoded in UTF-8 or * nullptr if no music directory was configured. @@ -66,6 +69,8 @@ mapper_has_music_directory(void) return mapper_get_music_directory_utf8() != nullptr; } +#endif + /** * If the specified absolute path points inside the music directory, * this function converts it to a relative path. If not, it returns @@ -75,6 +80,8 @@ gcc_pure const char * map_to_relative_path(const char *path_utf8); +#ifdef ENABLE_DATABASE + /** * Determines the absolute file system path of a relative URI. This * is basically done by converting the URI to the file system charset @@ -85,26 +92,12 @@ AllocatedPath map_uri_fs(const char *uri); /** - * Determines the file system path of a directory object. - * - * @param directory the directory object - * @return the path in file system encoding, or nullptr if mapping failed - */ -gcc_pure -AllocatedPath -map_directory_fs(const Directory &directory); - -/** - * Determines the file system path of a directory's child (may be a - * sub directory or a song). - * - * @param directory the parent directory object - * @param name the child's name in UTF-8 - * @return the path in file system encoding, or nullptr if mapping failed + * "Detach" the #Song object, i.e. convert it to a #DetachedSong + * instance. */ gcc_pure -AllocatedPath -map_directory_child_fs(const Directory &directory, const char *name); +DetachedSong +map_song_detach(const LightSong &song); /** * Determines the file system path of a song. This must not be a @@ -117,6 +110,14 @@ gcc_pure AllocatedPath map_song_fs(const Song &song); +#endif + +gcc_pure +AllocatedPath +map_song_fs(const DetachedSong &song); + +#ifdef ENABLE_DATABASE + /** * Maps a file system path (relative to the music directory or * absolute) to a relative path in UTF-8 encoding. @@ -129,6 +130,8 @@ gcc_pure std::string map_fs_to_utf8(const char *path_fs); +#endif + /** * Returns the playlist directory. */ @@ -138,8 +141,7 @@ map_spl_path(void); /** * Maps a playlist name (without the ".m3u" suffix) to a file system - * path. The return value is allocated on the heap and must be freed - * with g_free(). + * path. * * @return the path in file system encoding, or nullptr if mapping failed */ |