aboutsummaryrefslogtreecommitdiffstats
path: root/src/database.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/database.h')
-rw-r--r--src/database.h44
1 files changed, 25 insertions, 19 deletions
diff --git a/src/database.h b/src/database.h
index f877b74d3..d8d86fa5d 100644
--- a/src/database.h
+++ b/src/database.h
@@ -35,19 +35,29 @@ struct db_visitor;
/**
* Initialize the database library.
*
- * @param path the absolute path of the database file
+ * @param param the database configuration block
*/
bool
-db_init(const struct config_param *path, GError **error_r);
+db_init(const struct config_param *param, GError **error_r);
void
db_finish(void);
/**
+ * Check whether the default #SimpleDatabasePlugin is used. This
+ * allows using db_get_root(), db_save(), db_get_mtime() and
+ * db_exists().
+ */
+bool
+db_is_simple(void);
+
+/**
* Returns the root directory object. Returns NULL if there is no
* configured music directory.
+ *
+ * May only be used if db_is_simple() returns true.
*/
-G_GNUC_PURE
+gcc_pure
struct directory *
db_get_root(void);
@@ -55,41 +65,37 @@ db_get_root(void);
* Caller must lock the #db_mutex.
*/
gcc_nonnull(1)
-G_GNUC_PURE
+gcc_pure
struct directory *
db_get_directory(const char *name);
gcc_nonnull(1)
-G_GNUC_PURE
+gcc_pure
struct song *
db_get_song(const char *file);
-gcc_nonnull(1,2)
-bool
-db_visit(const struct db_selection *selection,
- const struct db_visitor *visitor, void *ctx,
- GError **error_r);
-
-gcc_nonnull(1,2)
-bool
-db_walk(const char *uri,
- const struct db_visitor *visitor, void *ctx,
- GError **error_r);
-
+/**
+ * May only be used if db_is_simple() returns true.
+ */
bool
db_save(GError **error_r);
bool
db_load(GError **error);
-G_GNUC_PURE
+/**
+ * May only be used if db_is_simple() returns true.
+ */
+gcc_pure
time_t
db_get_mtime(void);
/**
* Returns true if there is a valid database file on the disk.
+ *
+ * May only be used if db_is_simple() returns true.
*/
-G_GNUC_PURE
+gcc_pure
static inline bool
db_exists(void)
{