aboutsummaryrefslogtreecommitdiffstats
path: root/src/Mapper.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Mapper.hxx')
-rw-r--r--src/Mapper.hxx46
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
*/