20 #ifndef MPD_UPDATE_WALK_HXX 21 #define MPD_UPDATE_WALK_HXX 36 friend class UpdateArchiveVisitor;
40 static constexpr
bool DEFAULT_FOLLOW_INSIDE_SYMLINKS =
true;
41 static constexpr
bool DEFAULT_FOLLOW_OUTSIDE_SYMLINKS =
true;
43 bool follow_inside_symlinks;
44 bool follow_outside_symlinks;
80 bool SkipSymlink(
const Directory *directory,
81 const char *utf8_name)
const noexcept;
83 void RemoveExcludedFromDirectory(
Directory &directory,
86 void PurgeDeletedFromDirectory(
Directory &directory);
88 void UpdateSongFile2(
Directory &directory,
89 const char *
name,
const char *suffix,
93 const char *
name,
const char *suffix,
96 bool UpdateContainerFile(
Directory &directory,
97 const char *
name,
const char *suffix,
101 #ifdef ENABLE_ARCHIVE 105 bool UpdateArchiveFile(
Directory &directory,
106 const char *
name,
const char *suffix,
109 void UpdateArchiveFile(
Directory &directory,
const char *
name,
123 bool UpdatePlaylistFile(
Directory &directory,
124 const char *
name,
const char *suffix,
127 bool UpdateRegularFile(
Directory &directory,
130 void UpdateDirectoryChild(
Directory &directory,
135 bool UpdateDirectory(
Directory &directory,
151 const char *uri_utf8,
152 const char *name_utf8);
An event loop that polls for events on file/socket descriptors.
An object that listens to events from the Database.
void Cancel()
Cancel the current update and quit the Walk() method as soon as possible.
UpdateWalk(EventLoop &_loop, DatabaseListener &_listener, Storage &_storage)
const Storage const char * uri
bool Walk(Directory &root, const char *path, bool discard)
Returns true if the database was modified.
const Partition const char * name