class EE::System::Pack¶
Overview¶
Base class for all packing classes. More…
#include <pack.hpp> class Pack: protected EE::System::Mutex { public: // construction virtual ~Pack(); // methods 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; };
Inherited Members¶
public: // methods void lock(); void unlock(); bool tryLock();
Detailed Documentation¶
Base class for all packing classes.
Methods¶
virtual bool create(const std::string& path) = 0
Creates a new pack file
virtual bool open(const std::string& path) = 0
Open a pack file
virtual bool close() = 0
Close the pack file
virtual bool addFile(const std::string& path, const std::string& inpack) = 0
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(std::vector<Uint8>& data, const std::string& inpack) = 0
Add a new file from memory
virtual bool addFile(const Uint8* data, const Uint32& dataSize, const std::string& inpack) = 0
Add a new file from memory
virtual bool addFiles(std::map<std::string, std::string> paths) = 0
Add a map of files to the pack file ( myMap[ myFilepath ] = myInPackFilepath )
virtual bool eraseFile(const std::string& path) = 0
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) = 0
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) = 0
Extract a file from the pack file
virtual bool extractFileToMemory(const std::string& path, std::vector<Uint8>& data) = 0
Extract a file to memory from the pack file
virtual bool extractFileToMemory(const std::string& path, ScopedBuffer& data) = 0
Extract a file to memory from the pack file
virtual Int32 exists(const std::string& path) = 0
Check if a file exists in the pack file and return the number of the file, otherwise return -1.
virtual Int8 checkPack() = 0
Check the integrity of the pack file.
If return 0 integrity OK. -1 wrong indentifier. -2 wrong header.
virtual std::vector<std::string> getFileList() = 0
Returns:
a vector with all the files inside the pack file
virtual bool isOpen() const
Returns:
If the pack file is open
virtual std::string getPackPath() = 0
Returns:
The file path of the opened package
virtual IOStream* getFileStream(const std::string& path) = 0
Open a file stream for reading