aboutsummaryrefslogtreecommitdiffstats
path: root/src/storage/LocalStorage.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/storage/LocalStorage.hxx')
-rw-r--r--src/storage/LocalStorage.hxx47
1 files changed, 17 insertions, 30 deletions
diff --git a/src/storage/LocalStorage.hxx b/src/storage/LocalStorage.hxx
index 73c11dd80..4acea3d2a 100644
--- a/src/storage/LocalStorage.hxx
+++ b/src/storage/LocalStorage.hxx
@@ -21,14 +21,13 @@
#define MPD_STORAGE_LOCAL_HXX
#include "check.h"
+#include "StorageInterface.hxx"
#include "fs/AllocatedPath.hxx"
#include "fs/DirectoryReader.hxx"
#include <string>
-struct FileInfo;
-
-class LocalDirectoryReader {
+class LocalDirectoryReader final : public StorageDirectoryReader {
AllocatedPath base_fs;
DirectoryReader reader;
@@ -43,12 +42,13 @@ public:
return reader.HasFailed();
}
- const char *Read();
-
- bool GetInfo(bool follow, FileInfo &info, Error &error);
+ /* virtual methods from class StorageDirectoryReader */
+ virtual const char *Read() override;
+ virtual bool GetInfo(bool follow, FileInfo &info,
+ Error &error) override;
};
-class LocalStorage {
+class LocalStorage final : public Storage {
const std::string base_utf8;
const AllocatedPath base_fs;
@@ -58,29 +58,16 @@ public:
LocalStorage(const LocalStorage &) = delete;
- bool GetInfo(const char *uri_utf8, bool follow, FileInfo &info,
- Error &error);
-
- LocalDirectoryReader *OpenDirectory(const char *uri_utf8,
- Error &error);
-
- /**
- * Map the given relative URI to an absolute URI.
- */
- gcc_pure
- std::string MapUTF8(const char *uri_utf8) const;
-
- /**
- * Map the given relative URI to a local file path. Returns
- * AllocatedPath::Null() on error or if this storage does not
- * support local files.
- */
- gcc_pure
- AllocatedPath MapFS(const char *uri_utf8) const;
-
- gcc_pure
- AllocatedPath MapChildFS(const char *uri_utf8,
- const char *child_utf8) const;
+ /* virtual methods from class Storage */
+ virtual bool GetInfo(const char *uri_utf8, bool follow, FileInfo &info,
+ Error &error) override;
+
+ virtual LocalDirectoryReader *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;