Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | util/StringCompare: add StringIsEmpty() | Max Kellermann | 2015-11-06 | 4 | -8/+12 |
| | |||||
* | config/Global: allow calling config_get_string() with one argument | Max Kellermann | 2015-06-26 | 1 | -2/+2 |
| | | | | default_value defaults to nullptr. | ||||
* | Merge tag 'v0.19.10' | Max Kellermann | 2015-06-21 | 1 | -2/+2 |
|\ | |||||
| * | storage/nfs: fix deadlock when connecting | Thomas Guillem | 2015-05-29 | 1 | -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 typedefs | Max Kellermann | 2015-03-03 | 1 | -1/+1 |
| | | |||||
* | | fs/FileInfo: new library providing GetFileInfo() | Max Kellermann | 2015-02-28 | 1 | -14/+13 |
| | | | | | | | | Replaces StatFile(), with a portable data object. | ||||
* | | storage/FileInfo: rename to StorageFileInfo | Max Kellermann | 2015-02-28 | 9 | -41/+48 |
| | | |||||
* | | config/Option: convert to strictly-typed enum | Max Kellermann | 2015-01-21 | 1 | -3/+3 |
| | | |||||
* | | Copyright year 2015 | Max Kellermann | 2015-01-01 | 18 | -18/+18 |
| | | |||||
* | | Merge branch 'v0.19.x' | Max Kellermann | 2014-12-26 | 1 | -1/+1 |
|\| | |||||
| * | db/simple: fix implicit nullptr/bool conversion | Max Kellermann | 2014-12-26 | 1 | -1/+1 |
| | | | | | | | | | | Return false on error, not nullptr. | ||||
* | | Merge branch 'v0.19.x' | Max Kellermann | 2014-12-15 | 1 | -0/+1 |
|\| | |||||
| * | storage/nfs: clear last_error in SetState() | Max Kellermann | 2014-12-15 | 1 | -0/+1 |
| | | | | | | | | Fixes bogus assertion failure. | ||||
* | | Compiler.h: add macro CLANG_OR_GCC_VERSION() | Max Kellermann | 2014-11-28 | 1 | -1/+1 |
|/ | |||||
* | storage/nfs: use the libnfs async API | Max Kellermann | 2014-10-09 | 1 | -49/+228 |
| | | | | Share the NFS connection with the NFS input plugin. | ||||
* | StoragePlugin: pass EventLoop to constructor | Max Kellermann | 2014-10-09 | 7 | -11/+18 |
| | |||||
* | storage/nfs: move code to class MemoryStorageDirectoryReader | Max Kellermann | 2014-10-07 | 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. | ||||
* | storage/nfs: move code to Copy() | Max Kellermann | 2014-10-07 | 1 | -18/+30 |
| | |||||
* | lib/nfs/Base: kludge to reduce number of NFS mounts | Max Kellermann | 2014-10-05 | 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. | ||||
* | storage: remove redundant "virtual" keywords | Max Kellermann | 2014-10-02 | 5 | -38/+34 |
| | | | | "override" implies "virtual". | ||||
* | storage/Interface: include cleanup | Max Kellermann | 2014-10-01 | 3 | -2/+6 |
| | |||||
* | storage/nfs: make a few attributes "const" | Max Kellermann | 2014-10-01 | 1 | -3/+3 |
| | |||||
* | storage/nfs: convert file name to UTF-8 | Max Kellermann | 2014-09-28 | 1 | -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 Kellermann | 2014-09-28 | 1 | -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 Kellermann | 2014-09-28 | 1 | -6/+13 |
| | |||||
* | storage/Configured: fix fallback music directory | Max Kellermann | 2014-03-01 | 1 | -4/+1 |
| | | | | This was accidently disabled when storage plugins were introduced. | ||||
* | CompositeStorage: add method GetMount() | Max Kellermann | 2014-02-27 | 2 | -0/+24 |
| | |||||
* | DatabasePlugin: add FLAG_REQUIRE_STORAGE | Max Kellermann | 2014-02-19 | 2 | -0/+14 |
| | | | | | Ignore the storage configuration if FLAG_REQUIRE_STORAGE is not set in the DatabasePlugin. | ||||
* | CompositeStorage: fix tree walk in Directory::Unmount() | Max Kellermann | 2014-02-12 | 1 | -1/+4 |
| | |||||
* | StorageCommands: add command "listmounts" | Max Kellermann | 2014-02-12 | 1 | -0/+32 |
| | |||||
* | CompositeStorage: new Storage implementation | Max Kellermann | 2014-02-09 | 2 | -0/+467 |
| | | | | This is the backend for the upcoming "mount" command. | ||||
* | Main: move code to storage/Configured.cxx | Max Kellermann | 2014-02-09 | 2 | -0/+114 |
| | |||||
* | storage/nfs: new storage plugin | Max Kellermann | 2014-02-08 | 3 | -0/+271 |
| | |||||
* | storage: add struct StoragePlugin and a plugin registry | Max Kellermann | 2014-02-07 | 7 | -6/+167 |
| | |||||
* | storage/local: remove utf8 path from constructor | Max Kellermann | 2014-02-07 | 2 | -6/+9 |
| | | | | Build the UTF-8 version of the path automatically in the constructor. | ||||
* | StoragePlugin: add method MapToRelativeUTF8() | Max Kellermann | 2014-02-07 | 3 | -0/+24 |
| | | | | Replaces map_to_relative_path() from Mapper.cxx. | ||||
* | storage/local: hide the class declarations | Max Kellermann | 2014-02-07 | 2 | -47/+61 |
| | | | | Hide inside CreateLocalStorage(). | ||||
* | */smbclient: protect all libsmbclient calls with a mutex | Max Kellermann | 2014-02-06 | 1 | -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 libsmbclient | Max Kellermann | 2014-02-06 | 2 | -0/+211 |
| | |||||
* | storage/local: OpenDirectory() returns StorageDirectoryReader* | Max Kellermann | 2014-02-05 | 2 | -3/+3 |
| | |||||
* | storage/Interface: explicitly delete copy constructors | Max Kellermann | 2014-02-05 | 2 | -2/+4 |
| | |||||
* | storage/local: move to src/storage/plugins/ | Max Kellermann | 2014-02-05 | 2 | -2/+2 |
| | |||||
* | storage: add abstract interface | Max Kellermann | 2014-02-05 | 4 | -38/+123 |
| | | | | Prepare for the plugin interface. | ||||
* | LocalStorage: new API abstracting filesystem walk | Max Kellermann | 2014-02-05 | 3 | -0/+305 |
Prepare to make this a new plugin API, for example to use a SMB share for the music_directory. |