class EE::System::Zip¶
Overview¶
Zip files package manager. More…
#include <zip.hpp> class Zip: public EE::System::Pack { public: // construction ~Zip(); // methods static Zip* New(); virtual bool create(const std::string& path); virtual bool open(const std::string& path); virtual bool close(); virtual bool addFile(const std::string& path, const std::string& inpack); virtual bool addFile(const Uint8* data, const Uint32& dataSize, const std::string& inpack); virtual bool addFiles(std::map<std::string, std::string> paths); virtual bool eraseFile(const std::string& path); virtual bool eraseFiles(const std::vector<std::string>& paths); virtual bool extractFile(const std::string& path, const std::string& dest); virtual bool extractFileToMemory(const std::string& path, std::vector<Uint8>& data); virtual bool extractFileToMemory(const std::string& path, ScopedBuffer& data); virtual Int32 exists(const std::string& path); virtual Int8 checkPack(); virtual std::vector<std::string> getFileList(); virtual bool addFile(std::vector<Uint8>& data, const std::string& inpack); virtual std::string getPackPath(); virtual IOStream* getFileStream(const std::string& path); };
Inherited Members¶
public: // methods void lock(); void unlock(); bool tryLock(); virtual bool create(const std::string& path) = 0; virtual bool open(const std::string& path) = 0; virtual bool close() = 0; virtual bool addFile(const std::string& path, const std::string& inpack) = 0; virtual bool addFile(std::vector<Uint8>& data, const std::string& inpack) = 0; virtual bool addFile(const Uint8* data, const Uint32& dataSize, const std::string& inpack) = 0; virtual bool addFiles(std::map<std::string, std::string> paths) = 0; virtual bool eraseFile(const std::string& path) = 0; virtual bool eraseFiles(const std::vector<std::string>& paths) = 0; virtual bool extractFile(const std::string& path, const std::string& dest) = 0; virtual bool extractFileToMemory(const std::string& path, std::vector<Uint8>& data) = 0; virtual bool extractFileToMemory(const std::string& path, ScopedBuffer& data) = 0; virtual Int32 exists(const std::string& path) = 0; virtual Int8 checkPack() = 0; virtual std::vector<std::string> getFileList() = 0; virtual bool isOpen() const; virtual std::string getPackPath() = 0; virtual IOStream* getFileStream(const std::string& path) = 0;
Detailed Documentation¶
Zip files package manager.
Methods¶
virtual bool create(const std::string& path)
Creates a new pack file
virtual bool open(const std::string& path)
Open a pack file
virtual bool close()
Close the pack file
virtual bool addFile(const std::string& path, const std::string& inpack)
Add a file to the pack file
Parameters:
path |
Path to the file in the disk |
inpack |
Path that will have the file inside the pak |
Returns:
True if success
virtual bool addFile(const Uint8* data, const Uint32& dataSize, const std::string& inpack)
Add a new file from memory
virtual bool addFiles(std::map<std::string, std::string> paths)
Add a map of files to the pack file ( myMap[ myFilepath ] = myInPackFilepath )
virtual bool eraseFile(const std::string& path)
Erase a file from the pack file. ( This will create a new pack file without that file, so, can be slow )
virtual bool eraseFiles(const std::vector<std::string>& paths)
Erase all passed files from the pack file. ( This will create a new pack file without that file, so, can be slow )
virtual bool extractFile(const std::string& path, const std::string& dest)
Extract a file from the pack file
virtual bool extractFileToMemory(const std::string& path, std::vector<Uint8>& data)
Extract a file to memory from the pack file
virtual bool extractFileToMemory(const std::string& path, ScopedBuffer& data)
Extract a file to memory from the pakFile
virtual Int32 exists(const std::string& path)
Check if a file exists in the pack file and return the number of the file, otherwise return -1.
virtual Int8 checkPack()
Check the integrity of the pack file.
If return 0 integrity OK. -1 wrong indentifier. -2 wrong header.
virtual std::vector<std::string> getFileList()
Returns:
a vector with all the files inside the pack file
virtual bool addFile(std::vector<Uint8>& data, const std::string& inpack)
Add a new file from memory
virtual std::string getPackPath()
Returns:
The file path of the opened package
virtual IOStream* getFileStream(const std::string& path)
Open a file stream for reading