diff --git a/deps/ox/src/ox/fs/filestore/filestoretemplate.hpp b/deps/ox/src/ox/fs/filestore/filestoretemplate.hpp index aed0bd10..21346bf2 100644 --- a/deps/ox/src/ox/fs/filestore/filestoretemplate.hpp +++ b/deps/ox/src/ox/fs/filestore/filestoretemplate.hpp @@ -110,20 +110,20 @@ class FileStoreTemplate { FsSize_t readSize, T *data, FsSize_t *size) const; - Result stat(InodeId_t id); + Result stat(InodeId_t id) const; Error resize(); Error resize(std::size_t size, void *newBuff = nullptr); [[nodiscard]] - InodeId_t spaceNeeded(FsSize_t size); + InodeId_t spaceNeeded(FsSize_t size) const; [[nodiscard]] InodeId_t size() const; [[nodiscard]] - InodeId_t available(); + InodeId_t available() const; [[nodiscard]] char *buff(); @@ -414,7 +414,7 @@ Error FileStoreTemplate::resize(std::size_t size, void *newBuff) { } template -Result FileStoreTemplate::stat(InodeId_t id) { +Result FileStoreTemplate::stat(InodeId_t id) const { oxRequire(inode, find(id).validate()); return StatInfo { id, @@ -425,7 +425,7 @@ Result FileStoreTemplate::stat(InodeId_t id) { } template -typename FileStoreTemplate::InodeId_t FileStoreTemplate::spaceNeeded(FsSize_t size) { +typename FileStoreTemplate::InodeId_t FileStoreTemplate::spaceNeeded(FsSize_t size) const { return m_buffer->spaceNeeded(size); } @@ -435,7 +435,7 @@ typename FileStoreTemplate::InodeId_t FileStoreTemplate::size() } template -typename FileStoreTemplate::InodeId_t FileStoreTemplate::available() { +typename FileStoreTemplate::InodeId_t FileStoreTemplate::available() const { return m_buffer->available(); } diff --git a/deps/ox/src/ox/fs/filesystem/filesystem.cpp b/deps/ox/src/ox/fs/filesystem/filesystem.cpp index f6e376aa..7261a8bb 100644 --- a/deps/ox/src/ox/fs/filesystem/filesystem.cpp +++ b/deps/ox/src/ox/fs/filesystem/filesystem.cpp @@ -56,7 +56,7 @@ Error FileSystem::read(const FileAddress &addr, std::size_t readStart, std::size } } -Result> FileSystem::ls(const String &dir) noexcept { +Result> FileSystem::ls(const String &dir) const noexcept { return ls(dir.c_str()); } @@ -84,7 +84,7 @@ Error FileSystem::write(const FileAddress &addr, const void *buffer, uint64_t si } } -Result FileSystem::stat(const FileAddress &addr) noexcept { +Result FileSystem::stat(const FileAddress &addr) const noexcept { switch (addr.type()) { case FileAddressType::Inode: return stat(addr.getInode().value); diff --git a/deps/ox/src/ox/fs/filesystem/filesystem.hpp b/deps/ox/src/ox/fs/filesystem/filesystem.hpp index dee17ff2..f7b2d355 100644 --- a/deps/ox/src/ox/fs/filesystem/filesystem.hpp +++ b/deps/ox/src/ox/fs/filesystem/filesystem.hpp @@ -51,9 +51,9 @@ class FileSystem { [[maybe_unused]] Result directAccess(const FileAddress &addr) noexcept; - Result> ls(const String &dir) noexcept; + Result> ls(const String &dir) const noexcept; - virtual Result> ls(const char *dir) noexcept = 0; + virtual Result> ls(const char *dir) const noexcept = 0; virtual Error remove(const char *path, bool recursive) noexcept = 0; @@ -67,16 +67,16 @@ class FileSystem { Error write(const FileAddress &addr, const void *buffer, uint64_t size, FileType fileType = FileType::NormalFile) noexcept; - virtual Result stat(uint64_t inode) noexcept = 0; + virtual Result stat(uint64_t inode) const noexcept = 0; - virtual Result stat(const char *path) noexcept = 0; + virtual Result stat(const char *path) const noexcept = 0; - Result stat(const FileAddress &addr) noexcept; + Result stat(const FileAddress &addr) const noexcept; [[nodiscard]] - virtual uint64_t spaceNeeded(uint64_t size) noexcept = 0; + virtual uint64_t spaceNeeded(uint64_t size) const noexcept = 0; - virtual Result available() noexcept = 0; + virtual Result available() const noexcept = 0; virtual Result size() const noexcept = 0; @@ -133,10 +133,10 @@ class FileSystemTemplate: public FileSystem { Result directAccess(uint64_t) noexcept override; - Result> ls(const char *path) noexcept override; + Result> ls(const char *path) const noexcept override; template - Error ls(const char *path, F cb); + Error ls(const char *path, F cb) const; Error remove(const char *path, bool recursive) noexcept override; @@ -151,13 +151,13 @@ class FileSystemTemplate: public FileSystem { Error write(uint64_t inode, const void *buffer, uint64_t size, FileType fileType) noexcept override; - Result stat(uint64_t inode) noexcept override; + Result stat(uint64_t inode) const noexcept override; - Result stat(const char *path) noexcept override; + Result stat(const char *path) const noexcept override; - uint64_t spaceNeeded(uint64_t size) noexcept override; + uint64_t spaceNeeded(uint64_t size) const noexcept override; - Result available() noexcept override; + Result available() const noexcept override; Result size() const noexcept override; @@ -273,7 +273,7 @@ Result FileSystemTemplate::directAccess(uint6 } template -Result> FileSystemTemplate::ls(const char *path) noexcept { +Result> FileSystemTemplate::ls(const char *path) const noexcept { Vector out; oxReturnError(ls(path, [&out](const char *name, typename FileStore::InodeId_t) { out.emplace_back(name); @@ -284,7 +284,7 @@ Result> FileSystemTemplate::ls(const char * template template -Error FileSystemTemplate::ls(const char *path, F cb) { +Error FileSystemTemplate::ls(const char *path, F cb) const { oxTracef("ox::fs::FileSystemTemplate::ls", "path: {}", path); oxRequire(s, stat(path)); Directory dir(m_fs, s.inode); @@ -340,7 +340,7 @@ Error FileSystemTemplate::write(uint64_t inode, const void } template -Result FileSystemTemplate::stat(uint64_t inode) noexcept { +Result FileSystemTemplate::stat(uint64_t inode) const noexcept { oxRequire(s, m_fs.stat(inode)); FileStat out; out.inode = s.inode; @@ -351,18 +351,18 @@ Result FileSystemTemplate::stat(uint64_t inode) } template -Result FileSystemTemplate::stat(const char *path) noexcept { +Result FileSystemTemplate::stat(const char *path) const noexcept { oxRequire(inode, find(path)); return stat(inode); } template -uint64_t FileSystemTemplate::spaceNeeded(uint64_t size) noexcept { +uint64_t FileSystemTemplate::spaceNeeded(uint64_t size) const noexcept { return m_fs.spaceNeeded(size); } template -Result FileSystemTemplate::available() noexcept { +Result FileSystemTemplate::available() const noexcept { return m_fs.available(); } diff --git a/deps/ox/src/ox/fs/filesystem/passthroughfs.cpp b/deps/ox/src/ox/fs/filesystem/passthroughfs.cpp index 65fe872a..d95ea421 100644 --- a/deps/ox/src/ox/fs/filesystem/passthroughfs.cpp +++ b/deps/ox/src/ox/fs/filesystem/passthroughfs.cpp @@ -94,7 +94,7 @@ Result PassThroughFS::directAccess(uint64_t) noexcept { return OxError(1, "PassThroughFS::directAccess not supported"); } -Result> PassThroughFS::ls(const char *dir) noexcept { +Result> PassThroughFS::ls(const char *dir) const noexcept { Vector out; std::error_code ec; const auto di = std::filesystem::directory_iterator(m_path / stripSlash(dir), ec); @@ -136,12 +136,12 @@ Error PassThroughFS::write(uint64_t, const void*, uint64_t, FileType) noexcept { return OxError(1, "write(uint64_t, void*, uint64_t, uint8_t) is not supported by PassThroughFS"); } -Result PassThroughFS::stat(uint64_t) noexcept { +Result PassThroughFS::stat(uint64_t) const noexcept { // unsupported return OxError(1, "stat(uint64_t) is not supported by PassThroughFS"); } -Result PassThroughFS::stat(const char *path) noexcept { +Result PassThroughFS::stat(const char *path) const noexcept { std::error_code ec; const auto p = m_path / stripSlash(path); const FileType type = std::filesystem::is_directory(p, ec) ? @@ -154,11 +154,11 @@ Result PassThroughFS::stat(const char *path) noexcept { return FileStat{0, 0, size, type}; } -uint64_t PassThroughFS::spaceNeeded(uint64_t size) noexcept { +uint64_t PassThroughFS::spaceNeeded(uint64_t size) const noexcept { return size; } -Result PassThroughFS::available() noexcept { +Result PassThroughFS::available() const noexcept { std::error_code ec; const auto s = std::filesystem::space(m_path, ec); oxReturnError(OxError(ec.value(), "PassThroughFS: could not get FS size")); diff --git a/deps/ox/src/ox/fs/filesystem/passthroughfs.hpp b/deps/ox/src/ox/fs/filesystem/passthroughfs.hpp index 83aedc7b..55763364 100644 --- a/deps/ox/src/ox/fs/filesystem/passthroughfs.hpp +++ b/deps/ox/src/ox/fs/filesystem/passthroughfs.hpp @@ -51,10 +51,10 @@ class PassThroughFS: public FileSystem { Result directAccess(uint64_t) noexcept override; - Result> ls(const char *dir) noexcept override; + Result> ls(const char *dir) const noexcept override; template - Error ls(const char *dir, F cb) noexcept; + Error ls(const char *dir, F cb) const noexcept; Error remove(const char *path, bool recursive = false) noexcept override; @@ -64,13 +64,13 @@ class PassThroughFS: public FileSystem { Error write(uint64_t inode, const void *buffer, uint64_t size, FileType fileType = FileType::NormalFile) noexcept override; - Result stat(uint64_t inode) noexcept override; + Result stat(uint64_t inode) const noexcept override; - Result stat(const char *path) noexcept override; + Result stat(const char *path) const noexcept override; - uint64_t spaceNeeded(uint64_t size) noexcept override; + uint64_t spaceNeeded(uint64_t size) const noexcept override; - Result available() noexcept override; + Result available() const noexcept override; Result size() const noexcept override; @@ -90,7 +90,7 @@ class PassThroughFS: public FileSystem { }; template -Error PassThroughFS::ls(const char *dir, F cb) noexcept { +Error PassThroughFS::ls(const char *dir, F cb) const noexcept { std::error_code ec; const auto di = std::filesystem::directory_iterator(m_path / stripSlash(dir), ec); oxReturnError(OxError(ec.value(), "PassThroughFS: ls failed"));