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