62 void checkZzipError(
int zzipError,
const String& operation)
const;
87 void remove(
const String& filename)
const;
101 bool dirs =
false)
const;
104 bool exists(
const String& filename);
107 time_t getModifiedTime(
const String& filename);
116 const String& getType(
void)
const;
136 const String& getType(
void)
const;
141 return resZipArchive;
150 typedef bool (*DecryptEmbeddedZipFileFunc)(
size_t pos,
void* buf,
size_t len);
153 static void addEmbbeddedFile(
const String& name,
const uint8 * fileData,
154 size_t fileSize, DecryptEmbeddedZipFileFunc decryptFunc);
157 static void removeEmbbeddedFile(
const String& name);
175 size_t read(
void* buf,
size_t count);
177 size_t write(
void* buf,
size_t count);
179 void skip(
long count);
181 void seek(
size_t pos );
183 size_t tell(
void)
const;
185 bool eof(
void)
const;
ZZIP_DIR * mZzipDir
Handle to root zip file.
Archive * createInstance(const String &name)
Creates a new object.
zzip_plugin_io_handlers * mPluginIo
A pointer to file io alternative implementation.
Specialisation of the Archive class to allow reading of files from a zip format source archive...
Specialisation of ZipArchiveFactory for embedded Zip files.
Specialisation of ArchiveFactory for Zip files.
union _zzip_plugin_io zzip_plugin_io_handlers
Abstract factory class, archive codec plugins can register concrete subclasses of this...
FileInfoList mFileList
File list (since zziplib seems to only allow scanning of dir tree once)
struct zzip_file ZZIP_FILE
vector< FileInfo >::type FileInfoList
static zzip_plugin_io_handlers * mPluginIo
A static pointer to file io alternative implementation for the embedded files.
Archive * createInstance(const String &name)
Creates a new object.
General purpose class used for encapsulating the reading and writing of data.
Specialisation of DataStream to handle streaming data from zip archives.
void destroyInstance(Archive *arch)
Destroys an object which was created by this factory.
StaticCache< 2 *OGRE_STREAM_TEMP_SIZE > mCache
We need caching because sometimes serializers step back in data stream and zziplib behaves slow...
virtual ~ZipArchiveFactory()
bool isCaseSensitive(void) const
Returns whether this archive is case sensitive in the way it matches files.