aboutsummaryrefslogtreecommitdiffstats
path: root/src/db/update (follow)
Commit message (Collapse)AuthorAgeFilesLines
* *: add missing Compiler.h includesMax Kellermann2014-08-305-0/+5
| | | | Necessary for "final" on gcc 4.6.
* db/update/InotifySource: remove FifoBufferMax Kellermann2014-08-062-16/+15
| | | | | Eliminate support for partial reads. The Linux kernel will never return partial results, so this buffering was unnecessary.
* Directory: eliminate attribute "have_stat"Max Kellermann2014-06-161-2/+1
| | | | Check for 0 in "device" and "inode" instead.
* db/simple: use class boost::intrusive::listMax Kellermann2014-06-162-41/+37
| | | | Remove the C list_head library and use type-safe C++ instead.
* db/update/ExcludeList: make no-op if GLib is disabledMax Kellermann2014-03-012-0/+22
| | | | Quick hack to allow using the database without GLib (for Android).
* db/simple: mount pointsMax Kellermann2014-02-276-17/+160
| | | | | | | | A SimpleDatabase instance can now "mount" other Database instances at certain locations. This is used to use a new SimpleDatabase instance for each storage mount (issued with the "mount" protocol command). Each such instance has its own database file, stored in the directory that is specified with the "cache_directory" option.
* db/update/Queue: use std::list instead of std::queueMax Kellermann2014-02-272-5/+4
| | | | | | The problem with std::queue is that it doesn't give us enough control. The method Clear() is a kludge already, but soon, we'll need filtering.
* db/simple: GetRoot() returns referenceMax Kellermann2014-02-271-1/+1
|
* db/update/Service: allocate UpdateWalk dynamicallyMax Kellermann2014-02-275-19/+28
|
* db/update: cancel the update on shutdownMax Kellermann2014-02-275-1/+55
|
* db/UpdateGlue: rename to Service.cxxMax Kellermann2014-02-272-161/+140
|
* db/simple: create dedicated directoryMax Kellermann2014-02-268-13/+13
|
* DecoderPlugin: free the container_scan() return value with delete[]Max Kellermann2014-02-241-3/+1
|
* util/StringUtil: add function Strip()Max Kellermann2014-02-171-2/+2
| | | Replaces g_strstrip().
* db/update/Walk: disable FindAncestorLoop() if device/inode==0Max Kellermann2014-02-091-0/+5
|
* db/update/Walk: document FindAncestorLoop()Max Kellermann2014-02-091-0/+6
|
* db/update/Walk: rename find_inode_ancestor() to FindAncestorLoop()Max Kellermann2014-02-091-4/+4
|
* ArchivePlugin: pass Path to open()Max Kellermann2014-02-081-1/+1
|
* ArchivePlugin: rename struct archive_plugin to ArchivePluginMax Kellermann2014-02-082-5/+4
|
* InotifyUpdate: use class Storage instead of Mapper.cxxMax Kellermann2014-02-072-4/+7
|
* InotifyUpdate: use the root name instead of mapper_get_music_directory_fs()Max Kellermann2014-02-071-1/+1
| | | | | The root WatchDirectory instance already contains the music directory, and we don't need to fetch it again.
* InotifyUpdate: move functions into the WatchDirectory classMax Kellermann2014-02-071-13/+18
|
* InotifyUpdate: remove unnecessary #ifdefsMax Kellermann2014-02-071-18/+0
|
* StoragePlugin: add method MapToRelativeUTF8()Max Kellermann2014-02-071-3/+8
| | | | Replaces map_to_relative_path() from Mapper.cxx.
* DecoderPlugin: pass Path instance to file_decode() and scan_file()Max Kellermann2014-02-071-2/+2
|
* fixed leaked LocalDirectoryReader *const reader in UpdateWalk::UpdateDirectorygeneticdrift2014-02-061-3/+3
|
* SongUpdate: use the Storage interface, support remote filesMax Kellermann2014-02-062-3/+3
| | | | | | | This commit finally allows the database update to scan remote files, e.g. using the smbclient storage plugin. However, it is not yet possible to configure that, therefore the feature is not accessible yet.
* db/update: include StorageInterface.hxx instead of LocalStorage.hxxMax Kellermann2014-02-052-2/+2
|
* storage: add abstract interfaceMax Kellermann2014-02-056-25/+25
| | | | Prepare for the plugin interface.
* db/UpdateWalk: move LocalStorage to InstanceMax Kellermann2014-02-056-7/+13
| | | | Keep only a reference.
* db/update/Remove: initialize attribute "removed_song"Max Kellermann2014-02-051-1/+2
| | | | Fixes bogus assertion failure.
* LocalStorage: new API abstracting filesystem walkMax Kellermann2014-02-057-174/+211
| | | | | Prepare to make this a new plugin API, for example to use a SMB share for the music_directory.
* db/UpdateIO: add "pure" attributesMax Kellermann2014-02-051-0/+4
|
* db/UpdateGlue: relax assertionMax Kellermann2014-02-051-2/+2
| | | | Fixes assertion failure when update gets launched during MPD startup.
* db/DatabaseListener: add method OnDatabaseSongRemoved()Max Kellermann2014-02-046-28/+13
| | | | Decouples db/update/Remove.cpp from global variables.
* db/update/Service: use DatabaseListener instead of InstanceMax Kellermann2014-02-042-5/+11
| | | | Don't use the global variable "instance".
* db/update/Service: use EventLoop::IsInside()Max Kellermann2014-02-041-2/+6
| | | | Don't use the global variable "main_thread".
* db/update/Service: initialize "progress" and "update_task_id"Max Kellermann2014-02-041-1/+3
| | | | | Database update was randomly broken due to these uninitialized variables.
* db/update/Service: add SimpleDatabase referenceMax Kellermann2014-02-042-8/+11
| | | | Don't use the global variables from the DatabaseSimple library.
* db/update/Walk: add Directory reference parameterMax Kellermann2014-02-043-14/+14
| | | | Remove dependency on the DatabaseSimple library.
* db/update/Archive: delete archive from database on errorMax Kellermann2014-01-311-0/+2
|
* db/update/Editor: add locking method variantsMax Kellermann2014-01-315-27/+36
|
* db/update: convert runtime check to assertionMax Kellermann2014-01-311-4/+1
|
* update/Walk: declare std::string at assignmentMax Kellermann2014-01-301-4/+2
| | | | Reduce overhead.
* db/update: convert to OO APIMax Kellermann2014-01-3023-494/+468
| | | | | Move global variables into the new classes. That may allow multiple update threads for multiple databases one day.
* ExcludeList: move to db/update/Max Kellermann2014-01-302-0/+163
|
* InotifyUpdate: pass EventLoop to mpd_inotify_init()Max Kellermann2014-01-292-6/+8
|
* db/Directory: move isRootDirectory() to Uri.hxxMax Kellermann2014-01-291-0/+1
| | | | Decouple command/OtherCommands.cxx from the "simple" database plugin.
* Playlist{Info,Vector}: move to db/Max Kellermann2014-01-272-2/+2
|
* Database*: move to db/Max Kellermann2014-01-2429-0/+2660