aboutsummaryrefslogtreecommitdiffstats
path: root/src/storage (follow)
Commit message (Collapse)AuthorAgeFilesLines
* util/StringCompare: add StringIsEmpty()Max Kellermann2015-11-064-8/+12
|
* config/Global: allow calling config_get_string() with one argumentMax Kellermann2015-06-261-2/+2
| | | | default_value defaults to nullptr.
* Merge tag 'v0.19.10'Max Kellermann2015-06-211-2/+2
|\
| * storage/nfs: fix deadlock when connectingThomas Guillem2015-05-291-2/+2
| | | | | | | | | | | | The Connect method can be called between Schedule and lock. In that case, when locked, the state is already set to CONNECTING of READY and the condition won't be signaled anymore.
* | storage/local: use PathTraitsFS typedefsMax Kellermann2015-03-031-1/+1
| |
* | fs/FileInfo: new library providing GetFileInfo()Max Kellermann2015-02-281-14/+13
| | | | | | | | Replaces StatFile(), with a portable data object.
* | storage/FileInfo: rename to StorageFileInfoMax Kellermann2015-02-289-41/+48
| |
* | config/Option: convert to strictly-typed enumMax Kellermann2015-01-211-3/+3
| |
* | Copyright year 2015Max Kellermann2015-01-0118-18/+18
| |
* | Merge branch 'v0.19.x'Max Kellermann2014-12-261-1/+1
|\|
| * db/simple: fix implicit nullptr/bool conversionMax Kellermann2014-12-261-1/+1
| | | | | | | | | | Return false on error, not nullptr.
* | Merge branch 'v0.19.x'Max Kellermann2014-12-151-0/+1
|\|
| * storage/nfs: clear last_error in SetState()Max Kellermann2014-12-151-0/+1
| | | | | | | | Fixes bogus assertion failure.
* | Compiler.h: add macro CLANG_OR_GCC_VERSION()Max Kellermann2014-11-281-1/+1
|/
* storage/nfs: use the libnfs async APIMax Kellermann2014-10-091-49/+228
| | | | Share the NFS connection with the NFS input plugin.
* StoragePlugin: pass EventLoop to constructorMax Kellermann2014-10-097-11/+18
|
* storage/nfs: move code to class MemoryStorageDirectoryReaderMax Kellermann2014-10-073-73/+150
| | | | | | Read all directory entries into memory and close the struct nfsdir before returning the StorageDirectoryReader instance. This is what libnfs does, anyway.
* storage/nfs: move code to Copy()Max Kellermann2014-10-071-18/+30
|
* lib/nfs/Base: kludge to reduce number of NFS mountsMax Kellermann2014-10-051-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.
* storage: remove redundant "virtual" keywordsMax Kellermann2014-10-025-38/+34
| | | | "override" implies "virtual".
* storage/Interface: include cleanupMax Kellermann2014-10-013-2/+6
|
* storage/nfs: make a few attributes "const"Max Kellermann2014-10-011-3/+3
|
* storage/nfs: convert file name to UTF-8Max Kellermann2014-09-281-8/+30
| | | | | Assume the configured filesystem character set is also used by the NFS server.
* storage/nfs: use string::append() instead of string::insert()Max Kellermann2014-09-281-3/+2
| | | | | Swap the order of adding the URI and the slash, because appending is cheaper than inserting.
* storage/nfs: move code to UriToNfsPath()Max Kellermann2014-09-281-6/+13
|
* storage/Configured: fix fallback music directoryMax Kellermann2014-03-011-4/+1
| | | | This was accidently disabled when storage plugins were introduced.
* CompositeStorage: add method GetMount()Max Kellermann2014-02-272-0/+24
|
* DatabasePlugin: add FLAG_REQUIRE_STORAGEMax Kellermann2014-02-192-0/+14
| | | | | Ignore the storage configuration if FLAG_REQUIRE_STORAGE is not set in the DatabasePlugin.
* CompositeStorage: fix tree walk in Directory::Unmount()Max Kellermann2014-02-121-1/+4
|
* StorageCommands: add command "listmounts"Max Kellermann2014-02-121-0/+32
|
* CompositeStorage: new Storage implementationMax Kellermann2014-02-092-0/+467
| | | | This is the backend for the upcoming "mount" command.
* Main: move code to storage/Configured.cxxMax Kellermann2014-02-092-0/+114
|
* storage/nfs: new storage pluginMax Kellermann2014-02-083-0/+271
|
* storage: add struct StoragePlugin and a plugin registryMax Kellermann2014-02-077-6/+167
|
* storage/local: remove utf8 path from constructorMax Kellermann2014-02-072-6/+9
| | | | Build the UTF-8 version of the path automatically in the constructor.
* StoragePlugin: add method MapToRelativeUTF8()Max Kellermann2014-02-073-0/+24
| | | | Replaces map_to_relative_path() from Mapper.cxx.
* storage/local: hide the class declarationsMax Kellermann2014-02-072-47/+61
| | | | Hide inside CreateLocalStorage().
* */smbclient: protect all libsmbclient calls with a mutexMax Kellermann2014-02-061-1/+15
| | | | | libsmbclient is not thread-safe nor reentrant. We must protect all function calls with a global mutex, unfortunately.
* storage/smbclient: Storage implementation using libsmbclientMax Kellermann2014-02-062-0/+211
|
* storage/local: OpenDirectory() returns StorageDirectoryReader*Max Kellermann2014-02-052-3/+3
|
* storage/Interface: explicitly delete copy constructorsMax Kellermann2014-02-052-2/+4
|
* storage/local: move to src/storage/plugins/Max Kellermann2014-02-052-2/+2
|
* storage: add abstract interfaceMax Kellermann2014-02-054-38/+123
| | | | Prepare for the plugin interface.
* LocalStorage: new API abstracting filesystem walkMax Kellermann2014-02-053-0/+305
Prepare to make this a new plugin API, for example to use a SMB share for the music_directory.