This commit is contained in:
jeanlemotan
2024-07-02 18:12:23 +02:00
commit b344afa9fe
89 changed files with 10568 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
#pragma once
#include "IPack.h"
#include "Mode.h"
#include "fs/Api.h"
namespace fs
{
class FS_API IWritablePack : virtual public IPack
{
public:
using SinkFlag = IFilesystem::SinkFlag;
using SinkFlags = IFilesystem::SinkFlags;
virtual OpenSinkResult openSink(const AbsPath& i_path, Mode i_mode, SinkFlags i_flags = SinkFlags()) = 0;
virtual OpenStreamSinkResult openStreamSink(const AbsPath& i_path, Mode i_mode, SinkFlags i_flags = SinkFlags()) = 0;
virtual OpenMapSinkResult openMapSink(const AbsPath& i_path, Mode i_mode, size_t i_size, SinkFlags i_flags = SinkFlags()) = 0;
virtual RemoveResult remove(const AbsPath& i_path) = 0;
virtual RenameResult rename(const AbsPath& i_path, const AbsPath& i_newPath) = 0;
virtual MakeFolderResult makeFolder(const AbsPath& i_path) = 0;
virtual RemoveRecursivelyResult removeRecursively(const AbsPath& i_path) = 0;
virtual SetWriteTimeResult setWriteTime(const AbsPath& i_path, time_t i_time) = 0;
};
}