aboutsummaryrefslogtreecommitdiffstats
path: root/src/directory.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/directory.h')
-rw-r--r--src/directory.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/directory.h b/src/directory.h
index b6e199555..b866295ae 100644
--- a/src/directory.h
+++ b/src/directory.h
@@ -181,6 +181,28 @@ struct directory *
directory_lookup_directory(struct directory *directory, const char *uri);
/**
+ * Add a song object to this directory. Its "parent" attribute must
+ * be set already.
+ */
+void
+directory_add_song(struct directory *directory, struct song *song);
+
+/**
+ * Remove a song object from this directory (which effectively
+ * invalidates the song object, because the "parent" attribute becomes
+ * stale), but does not free it.
+ */
+void
+directory_remove_song(struct directory *directory, struct song *song);
+
+/**
+ * Look up a song in this directory by its name.
+ */
+G_GNUC_PURE
+struct song *
+directory_get_song(const struct directory *directory, const char *name_utf8);
+
+/**
* Looks up a song by its relative URI.
*
* @param directory the parent (or grandparent, ...) directory