aboutsummaryrefslogtreecommitdiffstats
path: root/src/db (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-02-24DirectorySave: save the mtime only if it is knownMax Kellermann1-2/+3
2014-02-24SongSort, ...: use libicu instead of GLib's g_utf8_*()Max Kellermann2-7/+6
2014-02-24DecoderPlugin: free the container_scan() return value with delete[]Max Kellermann1-3/+1
2014-02-23Directory: use PathTraitsUTF8::Build() instead of g_strconcat()Max Kellermann1-13/+4
2014-02-23Directory: pass std::string&& to constructorMax Kellermann2-4/+4
2014-02-21db/Directory: use "unsigned" for inode and deviceMax Kellermann1-6/+3
This is what we get from the storage plugin via FileInfo. Fixes a compiler warning on Mac OS X where dev_t appears to be signed.
2014-02-19db/upnp: move plugin source to upnp directoryMax Kellermann3-3/+3
2014-02-19DatabasePlugin: add FLAG_REQUIRE_STORAGEMax Kellermann3-2/+12
Ignore the storage configuration if FLAG_REQUIRE_STORAGE is not set in the DatabasePlugin.
2014-02-19DatabasePlugin: add attribute "flags"Max Kellermann4-0/+5
2014-02-19db/Interface: add attribute "plugin"Max Kellermann11-13/+32
The new method IsPlugin() replaces the "is_simple" flag.
2014-02-19DatabasePlugin: split headerMax Kellermann15-121/+183
2014-02-17util/StringUtil: add function Strip()Max Kellermann1-2/+2
Replaces g_strstrip().
2014-02-17Main: initialize Database before StorageMax Kellermann2-14/+2
2014-02-17db/Configured: disallow both "db_file" and "database"Max Kellermann1-3/+7
This is misconfiguration, and MPD should abort.
2014-02-17Main: move code to db/Configured.cxxMax Kellermann2-0/+106
2014-02-17db/DatabaseSimple: remove obsolete headerMax Kellermann1-47/+0
2014-02-09db/update/Walk: disable FindAncestorLoop() if device/inode==0Max Kellermann1-0/+5
2014-02-09db/update/Walk: document FindAncestorLoop()Max Kellermann1-0/+6
2014-02-09db/update/Walk: rename find_inode_ancestor() to FindAncestorLoop()Max Kellermann1-4/+4
2014-02-08ArchivePlugin: pass Path to open()Max Kellermann1-1/+1
2014-02-08ArchivePlugin: rename struct archive_plugin to ArchivePluginMax Kellermann2-5/+4
2014-02-07InotifyUpdate: use class Storage instead of Mapper.cxxMax Kellermann2-4/+7
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-02-07InotifyUpdate: remove unnecessary #ifdefsMax Kellermann1-18/+0
2014-02-07StoragePlugin: add method MapToRelativeUTF8()Max Kellermann1-3/+8
Replaces map_to_relative_path() from Mapper.cxx.
2014-02-07DecoderPlugin: pass Path instance to file_decode() and scan_file()Max Kellermann1-2/+2
2014-02-07SongUpdate: pass Storage to UpdateFileInArchive()Max Kellermann1-1/+1
2014-02-07Mapper: move map_song_detach() to db/DatabaseSong.cxxMax Kellermann5-14/+47
Use Storage::MapUTF8() internally, don't use global variables.
2014-02-06fixed leaked LocalDirectoryReader *const reader in UpdateWalk::UpdateDirectorygeneticdrift1-3/+3
2014-02-06SongUpdate: use the Storage interface, support remote filesMax Kellermann3-5/+7
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.
2014-02-05db/update: include StorageInterface.hxx instead of LocalStorage.hxxMax Kellermann2-2/+2
2014-02-05storage: add abstract interfaceMax Kellermann6-25/+25
Prepare for the plugin interface.
2014-02-05db/UpdateWalk: move LocalStorage to InstanceMax Kellermann6-7/+13
Keep only a reference.
2014-02-05db/update/Remove: initialize attribute "removed_song"Max Kellermann1-1/+2
Fixes bogus assertion failure.
2014-02-05LocalStorage: new API abstracting filesystem walkMax Kellermann7-174/+211
Prepare to make this a new plugin API, for example to use a SMB share for the music_directory.
2014-02-05db/UpdateIO: add "pure" attributesMax Kellermann1-0/+4
2014-02-05db/UpdateGlue: relax assertionMax Kellermann1-2/+2
Fixes assertion failure when update gets launched during MPD startup.
2014-02-04db/DatabaseListener: add method OnDatabaseSongRemoved()Max Kellermann7-28/+21
Decouples db/update/Remove.cpp from global variables.
2014-02-04db/proxy: include cleanupMax Kellermann1-1/+0
2014-02-04db/update/Service: use DatabaseListener instead of InstanceMax Kellermann2-5/+11
Don't use the global variable "instance".
2014-02-04db/update/Service: use EventLoop::IsInside()Max Kellermann1-2/+6
Don't use the global variable "main_thread".
2014-02-04Instance: add Database attributeMax Kellermann6-120/+16
Move from db/DatabaseGlue.cxx, eliminating global variable.
2014-02-04db/update/Service: initialize "progress" and "update_task_id"Max Kellermann1-1/+3
Database update was randomly broken due to these uninitialized variables.
2014-02-04db/update/Service: add SimpleDatabase referenceMax Kellermann5-40/+22
Don't use the global variables from the DatabaseSimple library.
2014-02-04db/update/Walk: add Directory reference parameterMax Kellermann3-14/+14
Remove dependency on the DatabaseSimple library.
2014-02-04db/Simple: remove unused function db_get_directory()Max Kellermann2-21/+0
2014-02-04db/DatabasePlaylist: pass Database reference aroundMax Kellermann4-18/+12
Reduce global variable usage, move to frontend code.
2014-02-04db/LightSong: make "real_uri" a pointerMax Kellermann2-2/+3
Reduce overhead. LightSong can always point to the "real" allocated string.
2014-01-31db/update/Archive: delete archive from database on errorMax Kellermann1-0/+2