Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Main: initialize Database before Storage | Max Kellermann | 2014-02-17 | 3 | -19/+14 |
| | |||||
* | Main: move code to InitDatabaseAndStorage() | Max Kellermann | 2014-02-17 | 1 | -6/+12 |
| | |||||
* | 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 | 3 | -39/+117 |
| | |||||
* | Main: check if database exists before attempting to close it | Max Kellermann | 2014-02-17 | 1 | -2/+5 |
| | | | | Fixes nullptr dereference. | ||||
* | db/DatabaseSimple: remove obsolete header | Max Kellermann | 2014-02-17 | 2 | -48/+0 |
| | |||||
* | StorageCommands: add command "unmount" | Max Kellermann | 2014-02-12 | 3 | -0/+33 |
| | |||||
* | CompositeStorage: fix tree walk in Directory::Unmount() | Max Kellermann | 2014-02-12 | 1 | -1/+4 |
| | |||||
* | StorageCommands: emit IDLE_MOUNT on successful "mount" | Max Kellermann | 2014-02-12 | 3 | -0/+6 |
| | | | | Add the new idle event to Idle.hxx/Idle.cxx. | ||||
* | StorageCommands: add command "listmounts" | Max Kellermann | 2014-02-12 | 4 | -0/+86 |
| | |||||
* | util/HugeAllocator: relicense to BSD-2 | Max Kellermann | 2014-02-10 | 2 | -28/+48 |
| | |||||
* | PlaylistSong: copy the "real" URI | Max Kellermann | 2014-02-10 | 1 | -0/+3 |
| | | | | | Playback with some decoder plugins was broken because the Queue's DetachedSong instances did not have the "real" URI (the mapped path). | ||||
* | StorageCommands: expose the "mount" command | Max Kellermann | 2014-02-09 | 3 | -0/+97 |
| | |||||
* | Main: wrap the Storage instance in CompositeStorage | Max Kellermann | 2014-02-09 | 2 | -2/+15 |
| | |||||
* | CompositeStorage: new Storage implementation | Max Kellermann | 2014-02-09 | 2 | -0/+467 |
| | | | | This is the backend for the upcoming "mount" command. | ||||
* | 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 |
| | |||||
* | Main: move code to storage/Configured.cxx | Max Kellermann | 2014-02-09 | 3 | -29/+117 |
| | |||||
* | Idle: error out when unrecognized idle event was specified | Max Kellermann | 2014-02-09 | 3 | -8/+32 |
| | | | | Implements the error checks missing in commit 0bad8406 | ||||
* | OtherCommands: remove unnecessary nullptr check | Max Kellermann | 2014-02-09 | 1 | -3/+0 |
| | |||||
* | storage/nfs: new storage plugin | Max Kellermann | 2014-02-08 | 3 | -0/+271 |
| | |||||
* | input/nfs: move nfs_domain to lib/nfs/Domain.cxx | Max Kellermann | 2014-02-08 | 3 | -3/+52 |
| | |||||
* | ArchivePlugin: pass Path to open() | Max Kellermann | 2014-02-08 | 7 | -16/+24 |
| | |||||
* | ArchivePlugin: rename struct archive_plugin to ArchivePlugin | Max Kellermann | 2014-02-08 | 14 | -26/+32 |
| | |||||
* | Main: support arbitrary storage plugins | Max Kellermann | 2014-02-08 | 1 | -0/+12 |
| | |||||
* | storage: add struct StoragePlugin and a plugin registry | Max Kellermann | 2014-02-07 | 8 | -6/+175 |
| | |||||
* | storage/local: remove utf8 path from constructor | Max Kellermann | 2014-02-07 | 3 | -10/+10 |
| | | | | Build the UTF-8 version of the path automatically in the constructor. | ||||
* | Main: move storage initialization to InitStorage() | Max Kellermann | 2014-02-07 | 1 | -20/+27 |
| | |||||
* | Mapper: obtain music directory from Storage | Max Kellermann | 2014-02-07 | 3 | -31/+19 |
| | | | | Eliminate duplicate variable. | ||||
* | Main: check the music directory | Max Kellermann | 2014-02-07 | 2 | -3/+4 |
| | | | | Move call from Mapper.cxx. | ||||
* | Mapper: move check_directory() to the filesystem library | Max Kellermann | 2014-02-07 | 3 | -44/+99 |
| | |||||
* | Main: chop separators from music directory | Max Kellermann | 2014-02-07 | 2 | -1/+3 |
| | | | | Move call from Mapper.cxx. | ||||
* | Mapper: remove unused functions | Max Kellermann | 2014-02-07 | 2 | -65/+1 |
| | |||||
* | OtherCommands: use Storage::MapUTF8() instead of Mapper.cxx | Max Kellermann | 2014-02-07 | 1 | -4/+6 |
| | |||||
* | Main: create Storage instance in glue_mapper_init() | Max Kellermann | 2014-02-07 | 1 | -5/+12 |
| | | | | Don't use the obsolete Mapper library to create it. | ||||
* | Main: allow playlist directory without music directory | Max Kellermann | 2014-02-07 | 1 | -4/+1 |
| | |||||
* | InotifyUpdate: use class Storage instead of Mapper.cxx | Max Kellermann | 2014-02-07 | 3 | -5/+11 |
| | |||||
* | 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 |
| | |||||
* | PlaylistMapper: use class Storage instead of Mapper.cxx | Max Kellermann | 2014-02-07 | 7 | -12/+64 |
| | |||||
* | Playlist{Any,Registry,Mapper}: move functions to PlaylistStream.cxx | Max Kellermann | 2014-02-07 | 6 | -86/+144 |
| | |||||
* | PlaylistSong: include cleanup | Max Kellermann | 2014-02-07 | 1 | -2/+0 |
| | |||||
* | playlist/CloseSongEnumerator: new wrapper class | Max Kellermann | 2014-02-07 | 10 | -62/+109 |
| | | | | | Simplifies a lot of code, because we don't need to return both the SongEnumerator and the InputStream. | ||||
* | StoragePlugin: add method MapToRelativeUTF8() | Max Kellermann | 2014-02-07 | 8 | -39/+51 |
| | | | | Replaces map_to_relative_path() from Mapper.cxx. | ||||
* | fs/Traits: add function Relative() | Max Kellermann | 2014-02-07 | 4 | -23/+61 |
| | | | | Move code from Path::RelativeFS() and make it generic. | ||||
* | DecoderPlugin: pass Path instance to file_decode() and scan_file() | Max Kellermann | 2014-02-07 | 15 | -75/+94 |
| | |||||
* | Mapper: remove unused function map_song_fs() | Max Kellermann | 2014-02-07 | 2 | -86/+0 |
| | |||||
* | DecoderThread: use only DetachedSong::GetRealURI() | Max Kellermann | 2014-02-07 | 1 | -4/+2 |
| | | | | | Don't use the mapper - all DetachedSong instances we get have already been mapped. |