aboutsummaryrefslogtreecommitdiffstats
path: root/src/db/update/InotifyUpdate.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-02-28fs/FileInfo: new library providing GetFileInfo()Max Kellermann1-8/+7
Replaces StatFile(), with a portable data object.
2015-01-01Copyright year 2015Max Kellermann1-1/+1
2014-02-07InotifyUpdate: use class Storage instead of Mapper.cxxMax Kellermann1-3/+4
2014-02-07InotifyUpdate: use the root name instead of mapper_get_music_directory_fs()Max Kellermann1-1/+1
The root WatchDirectory instance already contains the music directory, and we don't need to fetch it again.
2014-02-07InotifyUpdate: move functions into the WatchDirectory classMax Kellermann1-13/+18
2014-01-30db/update: convert to OO APIMax Kellermann1-2/+2
Move global variables into the new classes. That may allow multiple update threads for multiple databases one day.
2014-01-29InotifyUpdate: pass EventLoop to mpd_inotify_init()Max Kellermann1-4/+3
2014-01-24Database*: move to db/Max Kellermann1-0/+0
2014-01-24Update*: move to update/Max Kellermann1-0/+0
2014-01-13copyright year 2014Max Kellermann1-1/+1
2013-10-20Inotify: convert anonymous enum to constexprMax Kellermann1-5/+4
2013-10-19*: use nullptr instead of NULLMax Kellermann1-12/+12
2013-10-17fs/Path: rename to AllocatedPathMax Kellermann1-13/+14
The new class Path only holds a string pointer without being responsible for allocation/deallocation. The FileSystem.hxx library accepts Path arguments instead of AllocatedPath, to avoid forcing callers to allocate another string object.
2013-10-17InotifyUpdate: use class PathMax Kellermann1-58/+37
2013-10-02Log: new logging library APIMax Kellermann1-18/+18
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-09-04util/Error: new error passing libraryMax Kellermann1-13/+10
Replaces GLib's GError.
2013-08-04*: use gcc.h macros instead of GLibMax Kellermann1-2/+2
2013-01-30InotifyUpdate: use std::list instead of GListMax Kellermann1-25/+25
Let STL manage the WatchDirectory allocations.
2013-01-30InotifyUpdate: move code to destructorMax Kellermann1-5/+5
2013-01-30InotifyUpdate: allocate the root dynamicallyMax Kellermann1-10/+8
2013-01-30InotifyUpdate: use new/delete instead of GLib slicesMax Kellermann1-9/+11
2013-01-30InotifyUpdate: rename struct watch_directoryMax Kellermann1-18/+18
2013-01-30InotifyUpdate: use std::map instead of GTreeMax Kellermann1-38/+25
2013-01-28Path: convert fs_charset_to_utf8() to static method Path::ToUTF8()Denis Krjuchkov1-6/+6
2013-01-26Mapper: improve usage of Path classDenis Krjuchkov1-6/+7
2013-01-22Path: move to fs subdirectoryDenis Krjuchkov1-1/+1
2013-01-17path: convert to C++Max Kellermann1-4/+1
2013-01-15InotifySource: use the SocketMonitor classMax Kellermann1-1/+2
2013-01-14event/TimeoutMonitor: wrapper for g_timeout_source_new()Max Kellermann1-1/+2
2013-01-14InotifyQueue: convert to a classMax Kellermann1-3/+4
2013-01-14InotifySource: convert to a classMax Kellermann1-10/+8
2013-01-03InotifyQueue: use std::deque instead of GSListMax Kellermann1-3/+3
2013-01-03database.h: eliminate db_*_song()Max Kellermann1-1/+1
Use the C++ API.
2013-01-02mapper: convert to C++Max Kellermann1-1/+1
2013-01-02don't include stdbool.h in C++ sourcesMax Kellermann1-1/+0
The "bool" type is built-in.
2013-01-02update: convert to C++Max Kellermann1-7/+11
2012-08-14mapper: fix non-UTF8 music directory nameMax Kellermann1-2/+2
Duplicate the music_dir variable: one encoded in UTF-8, and another one using the configured filesystem character set. This fixes an ancient MPD bug.
2012-02-13mapper: add mapper_get_music_directory()Max Kellermann1-21/+12
Shortcut for map_directory_fs(db_get_root()).
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-05-30inotify_update: follow symlinksMax Kellermann1-2/+1
This is probably unsafe, and doesn't protect against symlink loops, but we will eventually add this when we bring update*.c and inotify*.c closer together.
2010-05-30inotify_update: fix assertion failure when music dir is deletedMax Kellermann1-1/+7
This shouldn't really happen, but insane users might delete/rename the music directory while MPD runs. What was even more insane was that MPD crashed due to this. This is a workaround - there is currently nothing useful we can do in this case; except maybe poll for the music directory to reappear, but that's too much trouble for a user error.
2010-04-13inotify_update: start update when directory is createdMax Kellermann1-2/+6
This is useful at the maximum depth level, to update newly created directories. It is however questionable if the hard-coded 5 seconds delay is enough to create new directory trees with all of their files, but we might make that delay configurable in the future.
2010-04-13inotify: added setting "auto_update_depth"Max Kellermann1-5/+28
Limits the depth of the watched directories. This is useful to keep resource usage down and speed up MPD startup.
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-14fixed several gcc warnings on unused debug variablesMax Kellermann1-0/+1
2009-11-11added missing config.h includes for extended LFS supportMax Kellermann1-0/+1
All sources which might work with large files must include config.h, to get Large File Support on 32 bit platforms.
2009-09-25automatically update the database with Linux inotifyMax Kellermann1-0/+349
This patch implements a light-weight inotify library, and watches all directories below the music directory. It updates all directories where files changed after a delay of 5 seconds.