aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/SongUpdate.cxx2
-rw-r--r--src/command/StorageCommands.cxx8
-rw-r--r--src/db/update/Archive.cxx4
-rw-r--r--src/db/update/Container.cxx4
-rw-r--r--src/db/update/UpdateIO.cxx10
-rw-r--r--src/db/update/UpdateIO.hxx6
-rw-r--r--src/db/update/UpdateSong.cxx4
-rw-r--r--src/db/update/Walk.cxx20
-rw-r--r--src/db/update/Walk.hxx26
-rw-r--r--src/storage/CompositeStorage.cxx10
-rw-r--r--src/storage/CompositeStorage.hxx2
-rw-r--r--src/storage/FileInfo.hxx2
-rw-r--r--src/storage/MemoryDirectoryReader.cxx3
-rw-r--r--src/storage/MemoryDirectoryReader.hxx5
-rw-r--r--src/storage/StorageInterface.hxx8
-rw-r--r--src/storage/plugins/LocalStorage.cxx17
-rw-r--r--src/storage/plugins/NfsStorage.cxx24
-rw-r--r--src/storage/plugins/SmbclientStorage.cxx18
-rw-r--r--test/run_storage.cxx8
19 files changed, 95 insertions, 86 deletions
diff --git a/src/SongUpdate.cxx b/src/SongUpdate.cxx
index f3ef5f8e8..931f43e1f 100644
--- a/src/SongUpdate.cxx
+++ b/src/SongUpdate.cxx
@@ -83,7 +83,7 @@ Song::UpdateFile(Storage &storage)
{
const auto &relative_uri = GetURI();
- FileInfo info;
+ StorageFileInfo info;
if (!storage.GetInfo(relative_uri.c_str(), true, info, IgnoreError()))
return false;
diff --git a/src/command/StorageCommands.cxx b/src/command/StorageCommands.cxx
index a138ee2fe..624ff92c6 100644
--- a/src/command/StorageCommands.cxx
+++ b/src/command/StorageCommands.cxx
@@ -64,23 +64,23 @@ handle_listfiles_storage(Client &client, StorageDirectoryReader &reader,
if (skip_path(name_utf8))
continue;
- FileInfo info;
+ StorageFileInfo info;
if (!reader.GetInfo(false, info, error))
continue;
switch (info.type) {
- case FileInfo::Type::OTHER:
+ case StorageFileInfo::Type::OTHER:
/* ignore */
continue;
- case FileInfo::Type::REGULAR:
+ case StorageFileInfo::Type::REGULAR:
client_printf(client, "file: %s\n"
"size: %" PRIu64 "\n",
name_utf8,
info.size);
break;
- case FileInfo::Type::DIRECTORY:
+ case StorageFileInfo::Type::DIRECTORY:
client_printf(client, "directory: %s\n", name_utf8);
break;
}
diff --git a/src/db/update/Archive.cxx b/src/db/update/Archive.cxx
index 6119f3233..e818ab279 100644
--- a/src/db/update/Archive.cxx
+++ b/src/db/update/Archive.cxx
@@ -104,7 +104,7 @@ class UpdateArchiveVisitor final : public ArchiveVisitor {
*/
void
UpdateWalk::UpdateArchiveFile(Directory &parent, const char *name,
- const FileInfo &info,
+ const StorageFileInfo &info,
const ArchivePlugin &plugin)
{
db_lock();
@@ -156,7 +156,7 @@ UpdateWalk::UpdateArchiveFile(Directory &parent, const char *name,
bool
UpdateWalk::UpdateArchiveFile(Directory &directory,
const char *name, const char *suffix,
- const FileInfo &info)
+ const StorageFileInfo &info)
{
const ArchivePlugin *plugin = archive_plugin_from_suffix(suffix);
if (plugin == nullptr)
diff --git a/src/db/update/Container.cxx b/src/db/update/Container.cxx
index b51a80431..e2f814eee 100644
--- a/src/db/update/Container.cxx
+++ b/src/db/update/Container.cxx
@@ -36,7 +36,7 @@
Directory *
UpdateWalk::MakeDirectoryIfModified(Directory &parent, const char *name,
- const FileInfo &info)
+ const StorageFileInfo &info)
{
Directory *directory = parent.FindChild(name);
@@ -69,7 +69,7 @@ SupportsContainerSuffix(const DecoderPlugin &plugin, const char *suffix)
bool
UpdateWalk::UpdateContainerFile(Directory &directory,
const char *name, const char *suffix,
- const FileInfo &info)
+ const StorageFileInfo &info)
{
const DecoderPlugin *_plugin = decoder_plugins_find([suffix](const DecoderPlugin &plugin){
return SupportsContainerSuffix(plugin, suffix);
diff --git a/src/db/update/UpdateIO.cxx b/src/db/update/UpdateIO.cxx
index 0fd46f1db..1a0f318c3 100644
--- a/src/db/update/UpdateIO.cxx
+++ b/src/db/update/UpdateIO.cxx
@@ -33,7 +33,7 @@
#include <unistd.h>
bool
-GetInfo(Storage &storage, const char *uri_utf8, FileInfo &info)
+GetInfo(Storage &storage, const char *uri_utf8, StorageFileInfo &info)
{
Error error;
bool success = storage.GetInfo(uri_utf8, true, info, error);
@@ -43,7 +43,7 @@ GetInfo(Storage &storage, const char *uri_utf8, FileInfo &info)
}
bool
-GetInfo(StorageDirectoryReader &reader, FileInfo &info)
+GetInfo(StorageDirectoryReader &reader, StorageFileInfo &info)
{
Error error;
bool success = reader.GetInfo(true, info, error);
@@ -55,7 +55,7 @@ GetInfo(StorageDirectoryReader &reader, FileInfo &info)
bool
DirectoryExists(Storage &storage, const Directory &directory)
{
- FileInfo info;
+ StorageFileInfo info;
if (!storage.GetInfo(directory.GetPath(), true, info, IgnoreError()))
return false;
@@ -67,7 +67,7 @@ DirectoryExists(Storage &storage, const Directory &directory)
static bool
GetDirectoryChildInfo(Storage &storage, const Directory &directory,
- const char *name_utf8, FileInfo &info, Error &error)
+ const char *name_utf8, StorageFileInfo &info, Error &error)
{
const auto uri_utf8 = PathTraitsUTF8::Build(directory.GetPath(),
name_utf8);
@@ -78,7 +78,7 @@ bool
directory_child_is_regular(Storage &storage, const Directory &directory,
const char *name_utf8)
{
- FileInfo info;
+ StorageFileInfo info;
return GetDirectoryChildInfo(storage, directory, name_utf8, info,
IgnoreError()) &&
info.IsRegular();
diff --git a/src/db/update/UpdateIO.hxx b/src/db/update/UpdateIO.hxx
index cf6cdd37d..0223cb62c 100644
--- a/src/db/update/UpdateIO.hxx
+++ b/src/db/update/UpdateIO.hxx
@@ -24,7 +24,7 @@
#include "Compiler.h"
struct Directory;
-struct FileInfo;
+struct StorageFileInfo;
class Storage;
class StorageDirectoryReader;
@@ -33,14 +33,14 @@ class StorageDirectoryReader;
* returning them.
*/
bool
-GetInfo(Storage &storage, const char *uri_utf8, FileInfo &info);
+GetInfo(Storage &storage, const char *uri_utf8, StorageFileInfo &info);
/**
* Wrapper for LocalDirectoryReader::GetInfo() that logs errors
* instead of returning them.
*/
bool
-GetInfo(StorageDirectoryReader &reader, FileInfo &info);
+GetInfo(StorageDirectoryReader &reader, StorageFileInfo &info);
gcc_pure
bool
diff --git a/src/db/update/UpdateSong.cxx b/src/db/update/UpdateSong.cxx
index 61c4db0d1..e6ed5643a 100644
--- a/src/db/update/UpdateSong.cxx
+++ b/src/db/update/UpdateSong.cxx
@@ -33,7 +33,7 @@
inline void
UpdateWalk::UpdateSongFile2(Directory &directory,
const char *name, const char *suffix,
- const FileInfo &info)
+ const StorageFileInfo &info)
{
db_lock();
Song *song = directory.FindSong(name);
@@ -93,7 +93,7 @@ UpdateWalk::UpdateSongFile2(Directory &directory,
bool
UpdateWalk::UpdateSongFile(Directory &directory,
const char *name, const char *suffix,
- const FileInfo &info)
+ const StorageFileInfo &info)
{
if (!decoder_plugins_supports_suffix(suffix))
return false;
diff --git a/src/db/update/Walk.cxx b/src/db/update/Walk.cxx
index 152971677..af039ee48 100644
--- a/src/db/update/Walk.cxx
+++ b/src/db/update/Walk.cxx
@@ -67,7 +67,7 @@ UpdateWalk::UpdateWalk(EventLoop &_loop, DatabaseListener &_listener,
}
static void
-directory_set_stat(Directory &dir, const FileInfo &info)
+directory_set_stat(Directory &dir, const StorageFileInfo &info)
{
dir.inode = info.inode;
dir.device = info.device;
@@ -140,7 +140,7 @@ UpdateWalk::PurgeDeletedFromDirectory(Directory &directory)
static bool
update_directory_stat(Storage &storage, Directory &directory)
{
- FileInfo info;
+ StorageFileInfo info;
if (!GetInfo(storage, directory.GetPath(), info))
return false;
@@ -190,7 +190,7 @@ FindAncestorLoop(Storage &storage, Directory *parent,
inline bool
UpdateWalk::UpdatePlaylistFile(Directory &directory,
const char *name, const char *suffix,
- const FileInfo &info)
+ const StorageFileInfo &info)
{
if (!playlist_suffix_supported(suffix))
return false;
@@ -206,7 +206,7 @@ UpdateWalk::UpdatePlaylistFile(Directory &directory,
inline bool
UpdateWalk::UpdateRegularFile(Directory &directory,
- const char *name, const FileInfo &info)
+ const char *name, const StorageFileInfo &info)
{
const char *suffix = uri_get_suffix(name);
if (suffix == nullptr)
@@ -219,7 +219,7 @@ UpdateWalk::UpdateRegularFile(Directory &directory,
void
UpdateWalk::UpdateDirectoryChild(Directory &directory,
- const char *name, const FileInfo &info)
+ const char *name, const StorageFileInfo &info)
{
assert(strchr(name, '/') == nullptr);
@@ -327,7 +327,7 @@ UpdateWalk::SkipSymlink(const Directory *directory,
}
bool
-UpdateWalk::UpdateDirectory(Directory &directory, const FileInfo &info)
+UpdateWalk::UpdateDirectory(Directory &directory, const StorageFileInfo &info)
{
assert(info.IsDirectory());
@@ -370,7 +370,7 @@ UpdateWalk::UpdateDirectory(Directory &directory, const FileInfo &info)
continue;
}
- FileInfo info2;
+ StorageFileInfo info2;
if (!GetInfo(*reader, info2)) {
modified |= editor.DeleteNameIn(directory, name_utf8);
continue;
@@ -400,7 +400,7 @@ UpdateWalk::DirectoryMakeChildChecked(Directory &parent,
return directory;
}
- FileInfo info;
+ StorageFileInfo info;
if (!GetInfo(storage, uri_utf8, info) ||
FindAncestorLoop(storage, &parent, info.inode, info.device))
return nullptr;
@@ -462,7 +462,7 @@ UpdateWalk::UpdateUri(Directory &root, const char *uri)
return;
}
- FileInfo info;
+ StorageFileInfo info;
if (!GetInfo(storage, uri, info)) {
modified |= editor.DeleteNameIn(*parent, name);
return;
@@ -480,7 +480,7 @@ UpdateWalk::Walk(Directory &root, const char *path, bool discard)
if (path != nullptr && !isRootDirectory(path)) {
UpdateUri(root, path);
} else {
- FileInfo info;
+ StorageFileInfo info;
if (!GetInfo(storage, "", info))
return false;
diff --git a/src/db/update/Walk.hxx b/src/db/update/Walk.hxx
index 94db4dbee..d9fe7c84c 100644
--- a/src/db/update/Walk.hxx
+++ b/src/db/update/Walk.hxx
@@ -27,7 +27,7 @@
#include <sys/stat.h>
struct stat;
-struct FileInfo;
+struct StorageFileInfo;
struct Directory;
struct ArchivePlugin;
class Storage;
@@ -89,15 +89,15 @@ private:
void UpdateSongFile2(Directory &directory,
const char *name, const char *suffix,
- const FileInfo &info);
+ const StorageFileInfo &info);
bool UpdateSongFile(Directory &directory,
const char *name, const char *suffix,
- const FileInfo &info);
+ const StorageFileInfo &info);
bool UpdateContainerFile(Directory &directory,
const char *name, const char *suffix,
- const FileInfo &info);
+ const StorageFileInfo &info);
#ifdef ENABLE_ARCHIVE
@@ -105,10 +105,10 @@ private:
bool UpdateArchiveFile(Directory &directory,
const char *name, const char *suffix,
- const FileInfo &info);
+ const StorageFileInfo &info);
void UpdateArchiveFile(Directory &directory, const char *name,
- const FileInfo &info,
+ const StorageFileInfo &info,
const ArchivePlugin &plugin);
@@ -116,22 +116,24 @@ private:
bool UpdateArchiveFile(gcc_unused Directory &directory,
gcc_unused const char *name,
gcc_unused const char *suffix,
- gcc_unused const FileInfo &info) {
+ gcc_unused const StorageFileInfo &info) {
return false;
}
#endif
bool UpdatePlaylistFile(Directory &directory,
const char *name, const char *suffix,
- const FileInfo &info);
+ const StorageFileInfo &info);
bool UpdateRegularFile(Directory &directory,
- const char *name, const FileInfo &info);
+ const char *name, const StorageFileInfo &info);
void UpdateDirectoryChild(Directory &directory,
- const char *name, const FileInfo &info);
+ const char *name,
+ const StorageFileInfo &info);
- bool UpdateDirectory(Directory &directory, const FileInfo &info);
+ bool UpdateDirectory(Directory &directory,
+ const StorageFileInfo &info);
/**
* Create the specified directory object if it does not exist
@@ -142,7 +144,7 @@ private:
* The caller must lock the database.
*/
Directory *MakeDirectoryIfModified(Directory &parent, const char *name,
- const FileInfo &info);
+ const StorageFileInfo &info);
Directory *DirectoryMakeChildChecked(Directory &parent,
const char *uri_utf8,
diff --git a/src/storage/CompositeStorage.cxx b/src/storage/CompositeStorage.cxx
index 94bbb6901..10a478c0d 100644
--- a/src/storage/CompositeStorage.cxx
+++ b/src/storage/CompositeStorage.cxx
@@ -56,7 +56,7 @@ public:
/* virtual methods from class StorageDirectoryReader */
const char *Read() override;
- bool GetInfo(bool follow, FileInfo &info, Error &error) override;
+ bool GetInfo(bool follow, StorageFileInfo &info, Error &error) override;
};
const char *
@@ -81,7 +81,7 @@ CompositeDirectoryReader::Read()
}
bool
-CompositeDirectoryReader::GetInfo(bool follow, FileInfo &info,
+CompositeDirectoryReader::GetInfo(bool follow, StorageFileInfo &info,
Error &error)
{
if (other != nullptr)
@@ -89,7 +89,7 @@ CompositeDirectoryReader::GetInfo(bool follow, FileInfo &info,
assert(current != names.end());
- info.type = FileInfo::Type::DIRECTORY;
+ info.type = StorageFileInfo::Type::DIRECTORY;
info.mtime = 0;
info.device = 0;
info.inode = 0;
@@ -275,7 +275,7 @@ CompositeStorage::FindStorage(const char *uri, Error &error) const
}
bool
-CompositeStorage::GetInfo(const char *uri, bool follow, FileInfo &info,
+CompositeStorage::GetInfo(const char *uri, bool follow, StorageFileInfo &info,
Error &error)
{
const ScopeLock protect(mutex);
@@ -288,7 +288,7 @@ CompositeStorage::GetInfo(const char *uri, bool follow, FileInfo &info,
const Directory *directory = f.directory->Find(f.uri);
if (directory != nullptr) {
error.Clear();
- info.type = FileInfo::Type::DIRECTORY;
+ info.type = StorageFileInfo::Type::DIRECTORY;
info.mtime = 0;
info.device = 0;
info.inode = 0;
diff --git a/src/storage/CompositeStorage.hxx b/src/storage/CompositeStorage.hxx
index cf27a292c..08717edef 100644
--- a/src/storage/CompositeStorage.hxx
+++ b/src/storage/CompositeStorage.hxx
@@ -122,7 +122,7 @@ public:
bool Unmount(const char *uri);
/* virtual methods from class Storage */
- bool GetInfo(const char *uri, bool follow, FileInfo &info,
+ bool GetInfo(const char *uri, bool follow, StorageFileInfo &info,
Error &error) override;
StorageDirectoryReader *OpenDirectory(const char *uri,
diff --git a/src/storage/FileInfo.hxx b/src/storage/FileInfo.hxx
index d194bd9f5..4ba842811 100644
--- a/src/storage/FileInfo.hxx
+++ b/src/storage/FileInfo.hxx
@@ -25,7 +25,7 @@
#include <time.h>
#include <stdint.h>
-struct FileInfo {
+struct StorageFileInfo {
enum class Type : uint8_t {
OTHER,
REGULAR,
diff --git a/src/storage/MemoryDirectoryReader.cxx b/src/storage/MemoryDirectoryReader.cxx
index c9563ea84..e6875435c 100644
--- a/src/storage/MemoryDirectoryReader.cxx
+++ b/src/storage/MemoryDirectoryReader.cxx
@@ -37,7 +37,8 @@ MemoryStorageDirectoryReader::Read()
}
bool
-MemoryStorageDirectoryReader::GetInfo(gcc_unused bool follow, FileInfo &info,
+MemoryStorageDirectoryReader::GetInfo(gcc_unused bool follow,
+ StorageFileInfo &info,
gcc_unused Error &error)
{
assert(!first);
diff --git a/src/storage/MemoryDirectoryReader.hxx b/src/storage/MemoryDirectoryReader.hxx
index a4d2c1f92..69299d1d4 100644
--- a/src/storage/MemoryDirectoryReader.hxx
+++ b/src/storage/MemoryDirectoryReader.hxx
@@ -36,7 +36,7 @@ public:
struct Entry {
std::string name;
- FileInfo info;
+ StorageFileInfo info;
template<typename N>
explicit Entry(N &&_name):name(std::forward<N>(_name)) {}
@@ -61,7 +61,8 @@ public:
/* virtual methods from class StorageDirectoryReader */
const char *Read() override;
- bool GetInfo(bool follow, FileInfo &info, Error &error) override;
+ bool GetInfo(bool follow, StorageFileInfo &info,
+ Error &error) override;
};
#endif
diff --git a/src/storage/StorageInterface.hxx b/src/storage/StorageInterface.hxx
index 7e73dd34b..4435bbf91 100644
--- a/src/storage/StorageInterface.hxx
+++ b/src/storage/StorageInterface.hxx
@@ -25,7 +25,7 @@
#include <string>
-struct FileInfo;
+struct StorageFileInfo;
class AllocatedPath;
class Error;
@@ -36,7 +36,8 @@ public:
virtual ~StorageDirectoryReader() {}
virtual const char *Read() = 0;
- virtual bool GetInfo(bool follow, FileInfo &info, Error &error) = 0;
+ virtual bool GetInfo(bool follow, StorageFileInfo &info,
+ Error &error) = 0;
};
class Storage {
@@ -45,7 +46,8 @@ public:
Storage(const Storage &) = delete;
virtual ~Storage() {}
- virtual bool GetInfo(const char *uri_utf8, bool follow, FileInfo &info,
+ virtual bool GetInfo(const char *uri_utf8, bool follow,
+ StorageFileInfo &info,
Error &error) = 0;
virtual StorageDirectoryReader *OpenDirectory(const char *uri_utf8,
diff --git a/src/storage/plugins/LocalStorage.cxx b/src/storage/plugins/LocalStorage.cxx
index a8e33c788..484c9c6db 100644
--- a/src/storage/plugins/LocalStorage.cxx
+++ b/src/storage/plugins/LocalStorage.cxx
@@ -46,7 +46,8 @@ public:
/* virtual methods from class StorageDirectoryReader */
const char *Read() override;
- bool GetInfo(bool follow, FileInfo &info, Error &error) override;
+ bool GetInfo(bool follow, StorageFileInfo &info,
+ Error &error) override;
};
class LocalStorage final : public Storage {
@@ -61,7 +62,7 @@ public:
}
/* virtual methods from class Storage */
- bool GetInfo(const char *uri_utf8, bool follow, FileInfo &info,
+ bool GetInfo(const char *uri_utf8, bool follow, StorageFileInfo &info,
Error &error) override;
StorageDirectoryReader *OpenDirectory(const char *uri_utf8,
@@ -78,7 +79,7 @@ private:
};
static bool
-Stat(Path path, bool follow, FileInfo &info, Error &error)
+Stat(Path path, bool follow, StorageFileInfo &info, Error &error)
{
struct stat st;
if (!StatFile(path, st, follow)) {
@@ -90,11 +91,11 @@ Stat(Path path, bool follow, FileInfo &info, Error &error)
}
if (S_ISREG(st.st_mode))
- info.type = FileInfo::Type::REGULAR;
+ info.type = StorageFileInfo::Type::REGULAR;
else if (S_ISDIR(st.st_mode))
- info.type = FileInfo::Type::DIRECTORY;
+ info.type = StorageFileInfo::Type::DIRECTORY;
else
- info.type = FileInfo::Type::OTHER;
+ info.type = StorageFileInfo::Type::OTHER;
info.size = st.st_size;
info.mtime = st.st_mtime;
@@ -142,7 +143,7 @@ LocalStorage::MapToRelativeUTF8(const char *uri_utf8) const
}
bool
-LocalStorage::GetInfo(const char *uri_utf8, bool follow, FileInfo &info,
+LocalStorage::GetInfo(const char *uri_utf8, bool follow, StorageFileInfo &info,
Error &error)
{
AllocatedPath path_fs = MapFS(uri_utf8, error);
@@ -198,7 +199,7 @@ LocalDirectoryReader::Read()
}
bool
-LocalDirectoryReader::GetInfo(bool follow, FileInfo &info, Error &error)
+LocalDirectoryReader::GetInfo(bool follow, StorageFileInfo &info, Error &error)
{
const AllocatedPath path_fs =
AllocatedPath::Build(base_fs, reader.GetEntry());
diff --git a/src/storage/plugins/NfsStorage.cxx b/src/storage/plugins/NfsStorage.cxx
index dc9826214..6a3eeedaf 100644
--- a/src/storage/plugins/NfsStorage.cxx
+++ b/src/storage/plugins/NfsStorage.cxx
@@ -84,7 +84,7 @@ public:
}
/* virtual methods from class Storage */
- bool GetInfo(const char *uri_utf8, bool follow, FileInfo &info,
+ bool GetInfo(const char *uri_utf8, bool follow, StorageFileInfo &info,
Error &error) override;
StorageDirectoryReader *OpenDirectory(const char *uri_utf8,
@@ -245,14 +245,14 @@ NfsStorage::MapToRelativeUTF8(const char *uri_utf8) const
}
static void
-Copy(FileInfo &info, const struct stat &st)
+Copy(StorageFileInfo &info, const struct stat &st)
{
if (S_ISREG(st.st_mode))
- info.type = FileInfo::Type::REGULAR;
+ info.type = StorageFileInfo::Type::REGULAR;
else if (S_ISDIR(st.st_mode))
- info.type = FileInfo::Type::DIRECTORY;
+ info.type = StorageFileInfo::Type::DIRECTORY;
else
- info.type = FileInfo::Type::OTHER;
+ info.type = StorageFileInfo::Type::OTHER;
info.size = st.st_size;
info.mtime = st.st_mtime;
@@ -262,11 +262,11 @@ Copy(FileInfo &info, const struct stat &st)
class NfsGetInfoOperation final : public BlockingNfsOperation {
const char *const path;
- FileInfo &info;
+ StorageFileInfo &info;
public:
NfsGetInfoOperation(NfsConnection &_connection, const char *_path,
- FileInfo &_info)
+ StorageFileInfo &_info)
:BlockingNfsOperation(_connection), path(_path), info(_info) {}
protected:
@@ -281,7 +281,7 @@ protected:
bool
NfsStorage::GetInfo(const char *uri_utf8, gcc_unused bool follow,
- FileInfo &info, Error &error)
+ StorageFileInfo &info, Error &error)
{
const std::string path = UriToNfsPath(uri_utf8, error);
if (path.empty())
@@ -304,19 +304,19 @@ SkipNameFS(const char *name)
}
static void
-Copy(FileInfo &info, const struct nfsdirent &ent)
+Copy(StorageFileInfo &info, const struct nfsdirent &ent)
{
switch (ent.type) {
case NF3REG:
- info.type = FileInfo::Type::REGULAR;
+ info.type = StorageFileInfo::Type::REGULAR;
break;
case NF3DIR:
- info.type = FileInfo::Type::DIRECTORY;
+ info.type = StorageFileInfo::Type::DIRECTORY;
break;
default:
- info.type = FileInfo::Type::OTHER;
+ info.type = StorageFileInfo::Type::OTHER;
break;
}
diff --git a/src/storage/plugins/SmbclientStorage.cxx b/src/storage/plugins/SmbclientStorage.cxx
index 49c9952f2..84b212cd1 100644
--- a/src/storage/plugins/SmbclientStorage.cxx
+++ b/src/storage/plugins/SmbclientStorage.cxx
@@ -44,7 +44,8 @@ public:
/* virtual methods from class StorageDirectoryReader */
const char *Read() override;
- bool GetInfo(bool follow, FileInfo &info, Error &error) override;
+ bool GetInfo(bool follow, StorageFileInfo &info,
+ Error &error) override;
};
class SmbclientStorage final : public Storage {
@@ -63,7 +64,7 @@ public:
}
/* virtual methods from class Storage */
- bool GetInfo(const char *uri_utf8, bool follow, FileInfo &info,
+ bool GetInfo(const char *uri_utf8, bool follow, StorageFileInfo &info,
Error &error) override;
StorageDirectoryReader *OpenDirectory(const char *uri_utf8,
@@ -92,7 +93,7 @@ SmbclientStorage::MapToRelativeUTF8(const char *uri_utf8) const
}
static bool
-GetInfo(const char *path, FileInfo &info, Error &error)
+GetInfo(const char *path, StorageFileInfo &info, Error &error)
{
struct stat st;
smbclient_mutex.lock();
@@ -104,11 +105,11 @@ GetInfo(const char *path, FileInfo &info, Error &error)
}
if (S_ISREG(st.st_mode))
- info.type = FileInfo::Type::REGULAR;
+ info.type = StorageFileInfo::Type::REGULAR;
else if (S_ISDIR(st.st_mode))
- info.type = FileInfo::Type::DIRECTORY;
+ info.type = StorageFileInfo::Type::DIRECTORY;
else
- info.type = FileInfo::Type::OTHER;
+ info.type = StorageFileInfo::Type::OTHER;
info.size = st.st_size;
info.mtime = st.st_mtime;
@@ -119,7 +120,7 @@ GetInfo(const char *path, FileInfo &info, Error &error)
bool
SmbclientStorage::GetInfo(const char *uri_utf8, gcc_unused bool follow,
- FileInfo &info, Error &error)
+ StorageFileInfo &info, Error &error)
{
const std::string mapped = MapUTF8(uri_utf8);
return ::GetInfo(mapped.c_str(), info, error);
@@ -172,7 +173,8 @@ SmbclientDirectoryReader::Read()
}
bool
-SmbclientDirectoryReader::GetInfo(gcc_unused bool follow, FileInfo &info,
+SmbclientDirectoryReader::GetInfo(gcc_unused bool follow,
+ StorageFileInfo &info,
Error &error)
{
const std::string path = PathTraitsUTF8::Build(base.c_str(), name);
diff --git a/test/run_storage.cxx b/test/run_storage.cxx
index 302dd566b..0d99676d5 100644
--- a/test/run_storage.cxx
+++ b/test/run_storage.cxx
@@ -56,7 +56,7 @@ Ls(Storage &storage, const char *path)
const char *name;
while ((name = dir->Read()) != nullptr) {
- FileInfo info;
+ StorageFileInfo info;
if (!dir->GetInfo(false, info, error)) {
printf("Error on %s: %s\n", name, error.GetMessage());
error.Clear();
@@ -65,15 +65,15 @@ Ls(Storage &storage, const char *path)
const char *type = "unk";
switch (info.type) {
- case FileInfo::Type::OTHER:
+ case StorageFileInfo::Type::OTHER:
type = "oth";
break;
- case FileInfo::Type::REGULAR:
+ case StorageFileInfo::Type::REGULAR:
type = "reg";
break;
- case FileInfo::Type::DIRECTORY:
+ case StorageFileInfo::Type::DIRECTORY:
type = "dir";
break;
}