PEBL 2.2
Psychology Experiment Building Language - Cross-platform psychological experiment development system
ZipExtractor.h
Go to the documentation of this file.
1#ifndef ZIP_EXTRACTOR_H
2#define ZIP_EXTRACTOR_H
3
4#include <string>
5#include <vector>
6
14public:
15 // Result structure for operations
16 struct Result {
17 bool success;
18 std::string error;
19
20 Result(bool s = true, const std::string& e = "")
21 : success(s), error(e) {}
22 };
23
32 static Result ExtractAll(const std::string& zipPath,
33 const std::string& destPath);
34
43 static Result ExtractFile(const std::string& zipPath,
44 const std::string& fileInZip,
45 const std::string& destPath);
46
56 static Result ReadFile(const std::string& zipPath,
57 const std::string& fileInZip,
58 std::string& outContents);
59
67 static Result ListContents(const std::string& zipPath,
68 std::vector<std::string>& outFiles);
69
77 static bool ContainsFile(const std::string& zipPath,
78 const std::string& fileInZip);
79
87 static Result Validate(const std::string& zipPath);
88
96 static Result ValidateSnapshot(const std::string& zipPath);
97
98private:
106 static bool CreateDirectories(const std::string& path);
107};
108
109#endif // ZIP_EXTRACTOR_H
static bool ContainsFile(const std::string &zipPath, const std::string &fileInZip)
static Result ExtractAll(const std::string &zipPath, const std::string &destPath)
static Result ListContents(const std::string &zipPath, std::vector< std::string > &outFiles)
static Result ExtractFile(const std::string &zipPath, const std::string &fileInZip, const std::string &destPath)
static Result Validate(const std::string &zipPath)
static Result ValidateSnapshot(const std::string &zipPath)
static Result ReadFile(const std::string &zipPath, const std::string &fileInZip, std::string &outContents)
Result(bool s=true, const std::string &e="")