Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | command: add command "listfiles" | Max Kellermann | 2014-03-01 | 2 | -28/+44 | |
| | | | | | | | | Lists files and directories. Supports storage plugins. | |||||
* | | DatabasePrint: move code to PrintDirectoryURI() | Max Kellermann | 2014-02-28 | 1 | -2/+8 | |
| | | ||||||
* | | DatabasePrint: add API documentation | Max Kellermann | 2014-02-28 | 1 | -0/+3 | |
| | | ||||||
* | | db/simple: mount points | Max Kellermann | 2014-02-27 | 15 | -23/+548 | |
| | | | | | | | | | | | | | | | | 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::queue | Max Kellermann | 2014-02-27 | 2 | -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 reference | Max Kellermann | 2014-02-27 | 2 | -3/+3 | |
| | | ||||||
* | | db/update/Service: allocate UpdateWalk dynamically | Max Kellermann | 2014-02-27 | 5 | -19/+28 | |
| | | ||||||
* | | Playlist: use the Error library to return errors | Max Kellermann | 2014-02-27 | 1 | -9/+3 | |
| | | ||||||
* | | db/update: cancel the update on shutdown | Max Kellermann | 2014-02-27 | 5 | -1/+55 | |
| | | ||||||
* | | db/UpdateGlue: rename to Service.cxx | Max Kellermann | 2014-02-27 | 2 | -161/+140 | |
| | | ||||||
* | | db/simple/Directory: eliminate method LookupSong() | Max Kellermann | 2014-02-26 | 3 | -30/+19 | |
| | | | | | | | | Move to SimpleDatabase::GetSong() to give that method more control. | |||||
* | | db/simple/Directory: LookupDirectory() return remaining URI | Max Kellermann | 2014-02-26 | 3 | -41/+62 | |
| | | | | | | | | Code can now be reused in LookupSong(). | |||||
* | | db/simple/Directory: make variables more local | Max Kellermann | 2014-02-26 | 1 | -4/+2 | |
| | | ||||||
* | | db/Directory: add DEVICE_* documentation | Max Kellermann | 2014-02-26 | 1 | -0/+10 | |
| | | ||||||
* | | db/simple: create dedicated directory | Max Kellermann | 2014-02-26 | 22 | -28/+27 | |
| | | ||||||
* | | db/Song: update API documentation for SimpleDatabasePlugin | Max Kellermann | 2014-02-25 | 1 | -6/+5 | |
| | | ||||||
* | | db/simple: remove unused method LookupDirectory() | Max Kellermann | 2014-02-25 | 2 | -14/+0 | |
| | | ||||||
* | | db/simple: make internal methods "private" | Max Kellermann | 2014-02-25 | 1 | -1/+1 | |
| | | ||||||
* | | db/simple: add comment | Max Kellermann | 2014-02-25 | 1 | -0/+1 | |
| | | ||||||
* | | db/simple: move Create() up | Max Kellermann | 2014-02-25 | 1 | -4/+4 | |
| | | ||||||
* | | DirectorySave: save the flags "DEVICE_INARCHIVE" and "DEVICE_CONTAINER" | Max Kellermann | 2014-02-25 | 1 | -0/+37 | |
| | | | | | | | | | | Helps avoid unnecessary archive scans during database update on a fresh MPD process. | |||||
* | | DatabaseSave: increase DB_FORMAT version | Max Kellermann | 2014-02-25 | 1 | -1/+1 | |
| | | ||||||
* | | DatabaseSave: add constant OLDEST_DB_FORMAT | Max Kellermann | 2014-02-25 | 1 | -1/+6 | |
| | | ||||||
* | | DirectorySave: move code to ParseLine() | Max Kellermann | 2014-02-25 | 1 | -17/+23 | |
| | | ||||||
* | | DirectorySave: save the mtime only if it is known | Max Kellermann | 2014-02-24 | 1 | -2/+3 | |
| | | ||||||
* | | SongSort, ...: use libicu instead of GLib's g_utf8_*() | Max Kellermann | 2014-02-24 | 2 | -7/+6 | |
| | | ||||||
* | | DecoderPlugin: free the container_scan() return value with delete[] | Max Kellermann | 2014-02-24 | 1 | -3/+1 | |
| | | ||||||
* | | Directory: use PathTraitsUTF8::Build() instead of g_strconcat() | Max Kellermann | 2014-02-23 | 1 | -13/+4 | |
| | | ||||||
* | | Directory: pass std::string&& to constructor | Max Kellermann | 2014-02-23 | 2 | -4/+4 | |
| | | ||||||
* | | db/Directory: use "unsigned" for inode and device | Max Kellermann | 2014-02-21 | 1 | -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. | |||||
* | | db/upnp: move plugin source to upnp directory | Max Kellermann | 2014-02-19 | 3 | -3/+3 | |
| | | ||||||
* | | DatabasePlugin: add FLAG_REQUIRE_STORAGE | Max Kellermann | 2014-02-19 | 3 | -2/+12 | |
| | | | | | | | | | | Ignore the storage configuration if FLAG_REQUIRE_STORAGE is not set in the DatabasePlugin. | |||||
* | | DatabasePlugin: add attribute "flags" | Max Kellermann | 2014-02-19 | 4 | -0/+5 | |
| | | ||||||
* | | db/Interface: add attribute "plugin" | Max Kellermann | 2014-02-19 | 11 | -13/+32 | |
| | | | | | | | | The new method IsPlugin() replaces the "is_simple" flag. | |||||
* | | DatabasePlugin: split header | Max Kellermann | 2014-02-19 | 15 | -121/+183 | |
| | | ||||||
* | | util/StringUtil: add function Strip() | Max Kellermann | 2014-02-17 | 1 | -2/+2 | |
| | | | | | | Replaces g_strstrip(). | |||||
* | | Main: initialize Database before Storage | Max Kellermann | 2014-02-17 | 2 | -14/+2 | |
| | | ||||||
* | | db/Configured: disallow both "db_file" and "database" | Max Kellermann | 2014-02-17 | 1 | -3/+7 | |
| | | | | | | | | This is misconfiguration, and MPD should abort. | |||||
* | | Main: move code to db/Configured.cxx | Max Kellermann | 2014-02-17 | 2 | -0/+106 | |
| | | ||||||
* | | db/DatabaseSimple: remove obsolete header | Max Kellermann | 2014-02-17 | 1 | -47/+0 | |
| | | ||||||
* | | db/update/Walk: disable FindAncestorLoop() if device/inode==0 | Max Kellermann | 2014-02-09 | 1 | -0/+5 | |
| | | ||||||
* | | db/update/Walk: document FindAncestorLoop() | Max Kellermann | 2014-02-09 | 1 | -0/+6 | |
| | | ||||||
* | | db/update/Walk: rename find_inode_ancestor() to FindAncestorLoop() | Max Kellermann | 2014-02-09 | 1 | -4/+4 | |
| | | ||||||
* | | ArchivePlugin: pass Path to open() | Max Kellermann | 2014-02-08 | 1 | -1/+1 | |
| | | ||||||
* | | ArchivePlugin: rename struct archive_plugin to ArchivePlugin | Max Kellermann | 2014-02-08 | 2 | -5/+4 | |
| | | ||||||
* | | InotifyUpdate: use class Storage instead of Mapper.cxx | Max Kellermann | 2014-02-07 | 2 | -4/+7 | |
| | | ||||||
* | | InotifyUpdate: use the root name instead of mapper_get_music_directory_fs() | Max Kellermann | 2014-02-07 | 1 | -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 class | Max Kellermann | 2014-02-07 | 1 | -13/+18 | |
| | | ||||||
* | | InotifyUpdate: remove unnecessary #ifdefs | Max Kellermann | 2014-02-07 | 1 | -18/+0 | |
| | | ||||||
* | | StoragePlugin: add method MapToRelativeUTF8() | Max Kellermann | 2014-02-07 | 1 | -3/+8 | |
| | | | | | | | | Replaces map_to_relative_path() from Mapper.cxx. |