diff options
Diffstat (limited to 'src/storage/plugins/LocalStorage.hxx')
-rw-r--r-- | src/storage/plugins/LocalStorage.hxx | 53 |
1 files changed, 6 insertions, 47 deletions
diff --git a/src/storage/plugins/LocalStorage.hxx b/src/storage/plugins/LocalStorage.hxx index bcbced3eb..cad2d1e58 100644 --- a/src/storage/plugins/LocalStorage.hxx +++ b/src/storage/plugins/LocalStorage.hxx @@ -21,54 +21,13 @@ #define MPD_STORAGE_LOCAL_HXX #include "check.h" -#include "storage/StorageInterface.hxx" -#include "fs/AllocatedPath.hxx" -#include "fs/DirectoryReader.hxx" +#include "Compiler.h" -#include <string> +class Storage; +class Path; -class LocalDirectoryReader final : public StorageDirectoryReader { - AllocatedPath base_fs; - - DirectoryReader reader; - - std::string name_utf8; - -public: - LocalDirectoryReader(AllocatedPath &&_base_fs) - :base_fs(std::move(_base_fs)), reader(base_fs) {} - - bool HasFailed() { - return reader.HasFailed(); - } - - /* virtual methods from class StorageDirectoryReader */ - virtual const char *Read() override; - virtual bool GetInfo(bool follow, FileInfo &info, - Error &error) override; -}; - -class LocalStorage final : public Storage { - const std::string base_utf8; - const AllocatedPath base_fs; - -public: - LocalStorage(const char *_base_utf8, Path _base_fs) - :base_utf8(_base_utf8), base_fs(_base_fs) {} - - /* virtual methods from class Storage */ - virtual bool GetInfo(const char *uri_utf8, bool follow, FileInfo &info, - Error &error) override; - - virtual StorageDirectoryReader *OpenDirectory(const char *uri_utf8, - Error &error) override; - - virtual std::string MapUTF8(const char *uri_utf8) const override; - - virtual AllocatedPath MapFS(const char *uri_utf8) const override; - -private: - AllocatedPath MapFS(const char *uri_utf8, Error &error) const; -}; +gcc_malloc gcc_nonnull_all +Storage * +CreateLocalStorage(const char *base_utf8, Path base_fs); #endif |