|
MPD
0.17~git
|
#include "check.h"#include "util/list.h"#include "playlist_vector.h"#include <glib.h>#include <stdbool.h>#include <sys/types.h>Go to the source code of this file.
Data Structures | |
| struct | directory |
Defines | |
| #define | DIRECTORY_DIR "directory: " |
| #define | DEVICE_INARCHIVE (dev_t)(-1) |
| #define | DEVICE_CONTAINER (dev_t)(-2) |
| #define | directory_for_each_child(pos, directory) list_for_each_entry(pos, &directory->children, siblings) |
| #define | directory_for_each_child_safe(pos, n, directory) list_for_each_entry_safe(pos, n, &directory->children, siblings) |
| #define | directory_for_each_song(pos, directory) list_for_each_entry(pos, &directory->songs, siblings) |
| #define | directory_for_each_song_safe(pos, n, directory) list_for_each_entry_safe(pos, n, &directory->songs, siblings) |
Functions | |
| static bool | isRootDirectory (const char *name) |
| G_GNUC_MALLOC struct directory * | directory_new (const char *dirname, struct directory *parent) |
| Generic constructor for directory object. | |
| static G_GNUC_MALLOC struct directory * | directory_new_root (void) |
| Create a new root directory object. | |
| void | directory_free (struct directory *directory) |
| Free this directory object (and the whole object tree within it), assuming it was already removed from the parent. | |
| void | directory_delete (struct directory *directory) |
| Remove this directory object from its parent and free it. | |
| static bool | directory_is_empty (const struct directory *directory) |
| static const char * | directory_get_path (const struct directory *directory) |
| static bool | directory_is_root (const struct directory *directory) |
| Is this the root directory of the music database? | |
| G_GNUC_PURE const char * | directory_get_name (const struct directory *directory) |
| Returns the base name of the directory. | |
| G_GNUC_PURE struct directory * | directory_get_child (const struct directory *directory, const char *name) |
| Caller must lock the db_mutex. | |
| G_GNUC_MALLOC struct directory * | directory_new_child (struct directory *parent, const char *name_utf8) |
| Create a new directory object as a child of the given one. | |
| static struct directory * | directory_make_child (struct directory *directory, const char *name_utf8) |
| Look up a sub directory, and create the object if it does not exist. | |
| void | directory_prune_empty (struct directory *directory) |
| Caller must lock the db_mutex. | |
| struct directory * | directory_lookup_directory (struct directory *directory, const char *uri) |
| Looks up a directory by its relative URI. | |
| void | directory_add_song (struct directory *directory, struct song *song) |
| Add a song object to this directory. | |
| void | directory_remove_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. | |
| G_GNUC_PURE struct song * | directory_get_song (const struct directory *directory, const char *name_utf8) |
| Look up a song in this directory by its name. | |
| struct song * | directory_lookup_song (struct directory *directory, const char *uri) |
| Looks up a song by its relative URI. | |
| void | directory_sort (struct directory *directory) |
| Sort all directory entries recursively. | |
| bool | directory_walk (const struct directory *directory, bool recursive, const struct db_visitor *visitor, void *ctx, GError **error_r) |
| Caller must lock db_mutex. | |
| #define DEVICE_CONTAINER (dev_t)(-2) |
Definition at line 34 of file directory.h.
| #define DEVICE_INARCHIVE (dev_t)(-1) |
Definition at line 33 of file directory.h.
| #define DIRECTORY_DIR "directory: " |
Definition at line 31 of file directory.h.
| #define directory_for_each_child | ( | pos, | |
| directory | |||
| ) | list_for_each_entry(pos, &directory->children, siblings) |
Definition at line 36 of file directory.h.
| #define directory_for_each_child_safe | ( | pos, | |
| n, | |||
| directory | |||
| ) | list_for_each_entry_safe(pos, n, &directory->children, siblings) |
Definition at line 39 of file directory.h.
| #define directory_for_each_song | ( | pos, | |
| directory | |||
| ) | list_for_each_entry(pos, &directory->songs, siblings) |
Definition at line 42 of file directory.h.
| #define directory_for_each_song_safe | ( | pos, | |
| n, | |||
| directory | |||
| ) | list_for_each_entry_safe(pos, n, &directory->songs, siblings) |
Definition at line 45 of file directory.h.
Add a song object to this directory.
Its "parent" attribute must be set already.
| void directory_delete | ( | struct directory * | directory | ) |
| void directory_free | ( | struct directory * | directory | ) |
Free this directory object (and the whole object tree within it), assuming it was already removed from the parent.
| G_GNUC_PURE struct directory* directory_get_child | ( | const struct directory * | directory, |
| const char * | name | ||
| ) | [read] |
Caller must lock the db_mutex.
| G_GNUC_PURE const char* directory_get_name | ( | const struct directory * | directory | ) |
Returns the base name of the directory.
| static const char* directory_get_path | ( | const struct directory * | directory | ) | [inline, static] |
Definition at line 136 of file directory.h.
| G_GNUC_PURE struct song* directory_get_song | ( | const struct directory * | directory, |
| const char * | name_utf8 | ||
| ) | [read] |
Look up a song in this directory by its name.
Caller must lock the db_mutex.
| static bool directory_is_empty | ( | const struct directory * | directory | ) | [inline, static] |
Definition at line 128 of file directory.h.
| static bool directory_is_root | ( | const struct directory * | directory | ) | [inline, static] |
Is this the root directory of the music database?
Definition at line 145 of file directory.h.
| struct directory* directory_lookup_directory | ( | struct directory * | directory, |
| const char * | uri | ||
| ) | [read] |
Looks up a directory by its relative URI.
| directory | the parent (or grandparent, ...) directory |
| uri | the relative URI |
Looks up a song by its relative URI.
Caller must lock the db_mutex.
| directory | the parent (or grandparent, ...) directory |
| uri | the relative URI |
| static struct directory* directory_make_child | ( | struct directory * | directory, |
| const char * | name_utf8 | ||
| ) | [static, read] |
Look up a sub directory, and create the object if it does not exist.
Caller must lock the db_mutex.
Definition at line 183 of file directory.h.
| G_GNUC_MALLOC struct directory* directory_new | ( | const char * | dirname, |
| struct directory * | parent | ||
| ) | [read] |
Generic constructor for directory object.
| static G_GNUC_MALLOC struct directory* directory_new_root | ( | void | ) | [static, read] |
Create a new root directory object.
Definition at line 106 of file directory.h.
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_sort | ( | struct directory * | directory | ) |
Sort all directory entries recursively.
Caller must lock the db_mutex.
| bool directory_walk | ( | const struct directory * | directory, |
| bool | recursive, | ||
| const struct db_visitor * | visitor, | ||
| void * | ctx, | ||
| GError ** | error_r | ||
| ) |
Caller must lock db_mutex.
| static bool isRootDirectory | ( | const char * | name | ) | [inline, static] |
Definition at line 89 of file directory.h.
1.7.5.1