aboutsummaryrefslogtreecommitdiff
path: root/mp/src/public/zip_utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/public/zip_utils.h')
-rw-r--r--mp/src/public/zip_utils.h25
1 files changed, 16 insertions, 9 deletions
diff --git a/mp/src/public/zip_utils.h b/mp/src/public/zip_utils.h
index be1cc8dd..2ac20052 100644
--- a/mp/src/public/zip_utils.h
+++ b/mp/src/public/zip_utils.h
@@ -1,6 +1,6 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
-// Purpose:
+// Purpose:
//
//=============================================================================//
@@ -18,15 +18,22 @@ class CUtlBuffer;
abstract_class IZip
{
public:
+ enum eCompressionType
+ {
+ // Type of compression used for this file in the zip
+ eCompressionType_Unknown = -1,
+ eCompressionType_None = 0,
+ eCompressionType_LZMA = 14
+ };
virtual void Reset() = 0;
- // Add a single file to a zip - maintains the zip's previous alignment state
- virtual void AddFileToZip ( const char *relativename, const char *fullpath ) = 0;
+ // Add a single file to a zip - maintains the zip's previous alignment state.
+ virtual void AddFileToZip ( const char *relativename, const char *fullpath, eCompressionType compressionType = eCompressionType_None ) = 0;
// Whether a file is contained in a zip - maintains alignment
virtual bool FileExistsInZip ( const char *pRelativeName ) = 0;
- // Reads a file from the zip - maintains alignement
+ // Reads a file from the zip - maintains alignement.
virtual bool ReadFileFromZip ( const char *pRelativeName, bool bTextMode, CUtlBuffer &buf ) = 0;
virtual bool ReadFileFromZip ( HANDLE hFile, const char *pRelativeName, bool bTextMode, CUtlBuffer &buf ) = 0;
@@ -43,18 +50,18 @@ public:
virtual unsigned int EstimateSize ( void ) = 0;
// Add buffer to zip as a file with given name - uses current alignment size, default 0 (no alignment)
- virtual void AddBufferToZip ( const char *relativename, void *data, int length, bool bTextMode ) = 0;
+ virtual void AddBufferToZip ( const char *relativename, void *data, int length, bool bTextMode, eCompressionType compressionType = eCompressionType_None ) = 0;
- // Writes out zip file to a buffer - uses current alignment size
+ // Writes out zip file to a buffer - uses current alignment size
// (set by file's previous alignment, or a call to ForceAlignment)
virtual void SaveToBuffer ( CUtlBuffer& outbuf ) = 0;
- // Writes out zip file to a filestream - uses current alignment size
+ // Writes out zip file to a filestream - uses current alignment size
// (set by file's previous alignment, or a call to ForceAlignment)
virtual void SaveToDisk ( FILE *fout ) = 0;
virtual void SaveToDisk ( HANDLE hFileOut ) = 0;
-
- // Reads a zip file from a buffer into memory - sets current alignment size to
+
+ // Reads a zip file from a buffer into memory - sets current alignment size to
// the file's alignment size, unless overridden by a ForceAlignment call)
virtual void ParseFromBuffer ( void *buffer, int bufferlength ) = 0;