aboutsummaryrefslogtreecommitdiffstats
path: root/src/storage (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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.