Files
FS/include/fs/WritableFolderPack.h
T
jeanlemotan b344afa9fe First
2024-07-02 18:12:23 +02:00

33 lines
1.1 KiB
C++

#pragma once
#include "fs/IWritablePack.h"
#include "fs/FolderPack.h"
#include "fs/Error.h"
#include "fs/Mode.h"
#include "fs/Api.h"
namespace fs
{
class FS_API WritableFolderPack final : virtual public IWritablePack, public FolderPack
{
public:
explicit WritableFolderPack(AbsPath location);
WritableFolderPack(tl::lent_ref<IFilesystem> filesystem, AbsPath location);
~WritableFolderPack() override = default;
OpenSinkResult openSink(const AbsPath& i_path, Mode i_mode, SinkFlags i_flags = SinkFlags()) override;
OpenStreamSinkResult openStreamSink(const AbsPath& i_path, Mode i_mode, SinkFlags i_flags = SinkFlags()) override;
OpenMapSinkResult openMapSink(const AbsPath& i_path, Mode i_mode, size_t i_size, SinkFlags i_flags = SinkFlags()) override;
RemoveResult remove(const AbsPath& i_path) override;
RenameResult rename(const AbsPath& i_path, const AbsPath& i_newPath) override;
MakeFolderResult makeFolder(const AbsPath& i_path) override;
RemoveRecursivelyResult removeRecursively(const AbsPath& i_path) override;
SetWriteTimeResult setWriteTime(const AbsPath& i_path, time_t i_time) override;
};
}