Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2015-02-28 | fs/FileInfo: new library providing GetFileInfo() | Max Kellermann | 1 | -14/+13 | |
Replaces StatFile(), with a portable data object. | |||||
2015-02-28 | storage/FileInfo: rename to StorageFileInfo | Max Kellermann | 9 | -41/+48 | |
2015-01-21 | config/Option: convert to strictly-typed enum | Max Kellermann | 1 | -3/+3 | |
2015-01-01 | Copyright year 2015 | Max Kellermann | 18 | -18/+18 | |
2014-12-26 | db/simple: fix implicit nullptr/bool conversion | Max Kellermann | 1 | -1/+1 | |
Return false on error, not nullptr. | |||||
2014-12-15 | storage/nfs: clear last_error in SetState() | Max Kellermann | 1 | -0/+1 | |
Fixes bogus assertion failure. | |||||
2014-11-28 | Compiler.h: add macro CLANG_OR_GCC_VERSION() | Max Kellermann | 1 | -1/+1 | |
2014-10-09 | storage/nfs: use the libnfs async API | Max Kellermann | 1 | -49/+228 | |
Share the NFS connection with the NFS input plugin. | |||||
2014-10-09 | StoragePlugin: pass EventLoop to constructor | Max Kellermann | 7 | -11/+18 | |
2014-10-07 | storage/nfs: move code to class MemoryStorageDirectoryReader | Max Kellermann | 3 | -73/+150 | |
Read all directory entries into memory and close the struct nfsdir before returning the StorageDirectoryReader instance. This is what libnfs does, anyway. | |||||
2014-10-07 | storage/nfs: move code to Copy() | Max Kellermann | 1 | -18/+30 | |
2014-10-05 | lib/nfs/Base: kludge to reduce number of NFS mounts | Max Kellermann | 1 | -0/+3 | |
Creating a NfsStorage sets its own export_name as the "base". Now NfsFileReader can use this information to derive the export_name to be mounted, instead of guessing. This solves the "too many connection" problem on the NFS server while updating the database. | |||||
2014-10-02 | storage: remove redundant "virtual" keywords | Max Kellermann | 5 | -38/+34 | |
"override" implies "virtual". | |||||
2014-10-01 | storage/Interface: include cleanup | Max Kellermann | 3 | -2/+6 | |
2014-10-01 | storage/nfs: make a few attributes "const" | Max Kellermann | 1 | -3/+3 | |
2014-09-28 | storage/nfs: convert file name to UTF-8 | Max Kellermann | 1 | -8/+30 | |
Assume the configured filesystem character set is also used by the NFS server. | |||||
2014-09-28 | storage/nfs: use string::append() instead of string::insert() | Max Kellermann | 1 | -3/+2 | |
Swap the order of adding the URI and the slash, because appending is cheaper than inserting. | |||||
2014-09-28 | storage/nfs: move code to UriToNfsPath() | Max Kellermann | 1 | -6/+13 | |
2014-03-01 | storage/Configured: fix fallback music directory | Max Kellermann | 1 | -4/+1 | |
This was accidently disabled when storage plugins were introduced. | |||||
2014-02-27 | CompositeStorage: add method GetMount() | Max Kellermann | 2 | -0/+24 | |
2014-02-19 | DatabasePlugin: add FLAG_REQUIRE_STORAGE | Max Kellermann | 2 | -0/+14 | |
Ignore the storage configuration if FLAG_REQUIRE_STORAGE is not set in the DatabasePlugin. | |||||
2014-02-12 | CompositeStorage: fix tree walk in Directory::Unmount() | Max Kellermann | 1 | -1/+4 | |
2014-02-12 | StorageCommands: add command "listmounts" | Max Kellermann | 1 | -0/+32 | |
2014-02-09 | CompositeStorage: new Storage implementation | Max Kellermann | 2 | -0/+467 | |
This is the backend for the upcoming "mount" command. | |||||
2014-02-09 | Main: move code to storage/Configured.cxx | Max Kellermann | 2 | -0/+114 | |
2014-02-08 | storage/nfs: new storage plugin | Max Kellermann | 3 | -0/+271 | |
2014-02-07 | storage: add struct StoragePlugin and a plugin registry | Max Kellermann | 7 | -6/+167 | |
2014-02-07 | storage/local: remove utf8 path from constructor | Max Kellermann | 2 | -6/+9 | |
Build the UTF-8 version of the path automatically in the constructor. | |||||
2014-02-07 | StoragePlugin: add method MapToRelativeUTF8() | Max Kellermann | 3 | -0/+24 | |
Replaces map_to_relative_path() from Mapper.cxx. | |||||
2014-02-07 | storage/local: hide the class declarations | Max Kellermann | 2 | -47/+61 | |
Hide inside CreateLocalStorage(). | |||||
2014-02-06 | */smbclient: protect all libsmbclient calls with a mutex | Max Kellermann | 1 | -1/+15 | |
libsmbclient is not thread-safe nor reentrant. We must protect all function calls with a global mutex, unfortunately. | |||||
2014-02-06 | storage/smbclient: Storage implementation using libsmbclient | Max Kellermann | 2 | -0/+211 | |
2014-02-05 | storage/local: OpenDirectory() returns StorageDirectoryReader* | Max Kellermann | 2 | -3/+3 | |
2014-02-05 | storage/Interface: explicitly delete copy constructors | Max Kellermann | 2 | -2/+4 | |
2014-02-05 | storage/local: move to src/storage/plugins/ | Max Kellermann | 2 | -2/+2 | |
2014-02-05 | storage: add abstract interface | Max Kellermann | 4 | -38/+123 | |
Prepare for the plugin interface. | |||||
2014-02-05 | LocalStorage: new API abstracting filesystem walk | Max Kellermann | 3 | -0/+305 | |
Prepare to make this a new plugin API, for example to use a SMB share for the music_directory. |