MPD

- Main Page
- Data Structures
- Files

- File List
- Globals

# src/database.h

Go to the documentation of this file.

    00001 /*
    00002  * Copyright (C) 2003-2010 The Music Player Daemon Project
    00003  * http://www.musicpd.org
    00004  *
    00005  * This program is free software; you can redistribute it and/or modify
    00006  * it under the terms of the GNU General Public License as published by
    00007  * the Free Software Foundation; either version 2 of the License, or
    00008  * (at your option) any later version.
    00009  *
    00010  * This program is distributed in the hope that it will be useful,
    00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    00013  * GNU General Public License for more details.
    00014  *
    00015  * You should have received a copy of the GNU General Public License along
    00016  * with this program; if not, write to the Free Software Foundation, Inc.,
    00017  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
    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         /* mtime is set only if the database file was loaded or saved
    00083            successfully */
    00084         return db_get_mtime() > 0;
    00085 }
    00086
    00087 #endif