aboutsummaryrefslogtreecommitdiffstats
path: root/src/database.h
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-10-08 11:07:35 +0200
committerMax Kellermann <max@duempel.org>2008-10-08 11:07:35 +0200
commit8a50e8a2663b5afd2fb3c80ea3424f3e68e14695 (patch)
treed20a5c381a452386cee06ed5ab16d4b4124f9071 /src/database.h
parentba5c9b0375b84456553b9b57cb68cb204c1d9418 (diff)
downloadmpd-8a50e8a2663b5afd2fb3c80ea3424f3e68e14695.tar.gz
mpd-8a50e8a2663b5afd2fb3c80ea3424f3e68e14695.tar.xz
mpd-8a50e8a2663b5afd2fb3c80ea3424f3e68e14695.zip
directory: moved code to database.c
Taming the directory.c monster, part II: move the database management stuff to database. directory.c should only contain code which works on directory objects.
Diffstat (limited to 'src/database.h')
-rw-r--r--src/database.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/database.h b/src/database.h
new file mode 100644
index 000000000..e8b3be997
--- /dev/null
+++ b/src/database.h
@@ -0,0 +1,55 @@
+/* the Music Player Daemon (MPD)
+ * Copyright (C) 2003-2007 by Warren Dukes (warren.dukes@gmail.com)
+ * Copyright (C) 2008 Max Kellermann <max@duempel.org>
+ * This project's homepage is: http://www.musicpd.org
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef DATABASE_H
+#define DATABASE_H
+
+#include <sys/time.h>
+
+struct directory;
+struct client;
+
+void directory_init(void);
+
+void directory_finish(void);
+
+struct directory *
+directory_get_root(void);
+
+struct directory *
+getDirectory(const char *name);
+
+struct song *
+getSongFromDB(const char *file);
+
+int traverseAllIn(const char *name,
+ int (*forEachSong) (struct song *, void *),
+ int (*forEachDir) (struct directory *, void *), void *data);
+
+int printDirectoryInfo(struct client *client, const char *name);
+
+int checkDirectoryDB(void);
+
+int writeDirectoryDB(void);
+
+int readDirectoryDB(void);
+
+time_t getDbModTime(void);
+
+#endif