aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | Main: check if database exists before attempting to close itMax Kellermann2014-02-171-2/+5
| | | | | | | | Fixes nullptr dereference.
* | db/DatabaseSimple: remove obsolete headerMax Kellermann2014-02-172-48/+0
| |
* | StorageCommands: add command "unmount"Max Kellermann2014-02-123-0/+33
| |
* | CompositeStorage: fix tree walk in Directory::Unmount()Max Kellermann2014-02-121-1/+4
| |
* | StorageCommands: emit IDLE_MOUNT on successful "mount"Max Kellermann2014-02-123-0/+6
| | | | | | | | Add the new idle event to Idle.hxx/Idle.cxx.
* | StorageCommands: add command "listmounts"Max Kellermann2014-02-124-0/+86
| |
* | util/HugeAllocator: relicense to BSD-2Max Kellermann2014-02-102-28/+48
| |
* | PlaylistSong: copy the "real" URIMax Kellermann2014-02-101-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" commandMax Kellermann2014-02-093-0/+97
| |
* | Main: wrap the Storage instance in CompositeStorageMax Kellermann2014-02-092-2/+15
| |
* | CompositeStorage: new Storage implementationMax Kellermann2014-02-092-0/+467
| | | | | | | | This is the backend for the upcoming "mount" command.
* | 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
| |
* | Main: move code to storage/Configured.cxxMax Kellermann2014-02-093-29/+117
| |
* | Idle: error out when unrecognized idle event was specifiedMax Kellermann2014-02-093-8/+32
| | | | | | | | Implements the error checks missing in commit 0bad8406
* | OtherCommands: remove unnecessary nullptr checkMax Kellermann2014-02-091-3/+0
| |
* | storage/nfs: new storage pluginMax Kellermann2014-02-083-0/+271
| |
* | input/nfs: move nfs_domain to lib/nfs/Domain.cxxMax Kellermann2014-02-083-3/+52
| |
* | ArchivePlugin: pass Path to open()Max Kellermann2014-02-087-16/+24
| |
* | ArchivePlugin: rename struct archive_plugin to ArchivePluginMax Kellermann2014-02-0814-26/+32
| |
* | Main: support arbitrary storage pluginsMax Kellermann2014-02-081-0/+12
| |
* | storage: add struct StoragePlugin and a plugin registryMax Kellermann2014-02-078-6/+175
| |
* | storage/local: remove utf8 path from constructorMax Kellermann2014-02-073-10/+10
| | | | | | | | Build the UTF-8 version of the path automatically in the constructor.
* | Main: move storage initialization to InitStorage()Max Kellermann2014-02-071-20/+27
| |
* | Mapper: obtain music directory from StorageMax Kellermann2014-02-073-31/+19
| | | | | | | | Eliminate duplicate variable.
* | Main: check the music directoryMax Kellermann2014-02-072-3/+4
| | | | | | | | Move call from Mapper.cxx.
* | Mapper: move check_directory() to the filesystem libraryMax Kellermann2014-02-073-44/+99
| |
* | Main: chop separators from music directoryMax Kellermann2014-02-072-1/+3
| | | | | | | | Move call from Mapper.cxx.
* | Mapper: remove unused functionsMax Kellermann2014-02-072-65/+1
| |
* | OtherCommands: use Storage::MapUTF8() instead of Mapper.cxxMax Kellermann2014-02-071-4/+6
| |
* | Main: create Storage instance in glue_mapper_init()Max Kellermann2014-02-071-5/+12
| | | | | | | | Don't use the obsolete Mapper library to create it.
* | Main: allow playlist directory without music directoryMax Kellermann2014-02-071-4/+1
| |
* | InotifyUpdate: use class Storage instead of Mapper.cxxMax Kellermann2014-02-073-5/+11
| |
* | 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
| |
* | PlaylistMapper: use class Storage instead of Mapper.cxxMax Kellermann2014-02-077-12/+64
| |
* | Playlist{Any,Registry,Mapper}: move functions to PlaylistStream.cxxMax Kellermann2014-02-076-86/+144
| |
* | PlaylistSong: include cleanupMax Kellermann2014-02-071-2/+0
| |
* | playlist/CloseSongEnumerator: new wrapper classMax Kellermann2014-02-0710-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 Kellermann2014-02-078-39/+51
| | | | | | | | Replaces map_to_relative_path() from Mapper.cxx.
* | fs/Traits: add function Relative()Max Kellermann2014-02-074-23/+61
| | | | | | | | Move code from Path::RelativeFS() and make it generic.
* | DecoderPlugin: pass Path instance to file_decode() and scan_file()Max Kellermann2014-02-0715-75/+94
| |
* | Mapper: remove unused function map_song_fs()Max Kellermann2014-02-072-86/+0
| |
* | DecoderThread: use only DetachedSong::GetRealURI()Max Kellermann2014-02-071-4/+2
| | | | | | | | | | Don't use the mapper - all DetachedSong instances we get have already been mapped.
* | DecoderThread: pass Path object around for local song filesMax Kellermann2014-02-071-21/+27
| |
* | SongUpdate: pass Storage to UpdateFileInArchive()Max Kellermann2014-02-072-5/+6
| |
* | PlaylistSave: use DetachedSong::GetRealURI() in playlist_print_song()Max Kellermann2014-02-071-12/+7
| | | | | | | | | | The DetachedSong instance already knows its own absolute path, and there is no need to ask the mapper again.
* | FileCommands: support remove database filesMax Kellermann2014-02-071-6/+13
| |