00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef MPD_DATABASE_H
00021 #define MPD_DATABASE_H
00022
00023 #include <glib.h>
00024
00025 #include <sys/time.h>
00026 #include <stdbool.h>
00027
00028 struct directory;
00029
00035 void
00036 db_init(const char *path);
00037
00038 void
00039 db_finish(void);
00040
00044 void
00045 db_clear(void);
00046
00051 struct directory *
00052 db_get_root(void);
00053
00054 struct directory *
00055 db_get_directory(const char *name);
00056
00057 struct song *
00058 db_get_song(const char *file);
00059
00060 int db_walk(const char *name,
00061 int (*forEachSong)(struct song *, void *),
00062 int (*forEachDir)(struct directory *, void *), void *data);
00063
00064 bool
00065 db_check(void);
00066
00067 bool
00068 db_save(void);
00069
00070 bool
00071 db_load(GError **error);
00072
00073 time_t
00074 db_get_mtime(void);
00075
00079 static inline bool
00080 db_exists(void)
00081 {
00082
00083
00084 return db_get_mtime() > 0;
00085 }
00086
00087 #endif