🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ExtractorImplTar.hpp
浏览该文件的文档.
1
21
22#pragma once
23
24#include "AstUtil/ExtractorInterface.hpp"
25#include "AstUtil/StringView.hpp"
26#include "AstUtil/ArchiverUtils.hpp"
27
28#include <string>
29
30AST_NAMESPACE_BEGIN
31
35class AST_UTIL_API ExtractorImplTar : public ExtractorInterface
36{
37public:
38 static ExtractorImplTar& Instance();
39
40 ExtractorImplTar() = default;
41 virtual ~ExtractorImplTar() = default;
42
43 virtual errc_t extract(StringView source, StringView target) const override;
44 virtual bool canExtract(StringView source) const override;
45
46private:
48 static errc_t createDirectory(const std::string& entryName, const std::string& targetDir);
49
51 static errc_t createFile(FILE* src, size_t fileSize, const std::string& entryName, const std::string& targetDir);
52};
53
54AST_NAMESPACE_END
定义 ExtractorImplTar.hpp:36
解压接口
定义 ExtractorInterface.hpp:36
virtual bool canExtract(StringView source) const
检查该解压实现是否能处理指定文件
定义 ExtractorInterface.cpp:5
virtual errc_t extract(StringView source, StringView target) const =0
解压压缩文件或目录