Mercurial > vba-clojure
annotate src/win32/7zip/7zip.h @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
rev | line source |
---|---|
rlm@1 | 1 #ifndef _7ZIP_DEC_HEADER |
rlm@1 | 2 #define _7ZIP_DEC_HEADER |
rlm@1 | 3 |
rlm@1 | 4 // 7zip file extraction |
rlm@1 | 5 // NOTE: if you want to add support for opening files within archives to something, |
rlm@1 | 6 // consider using the higher-level interface provided by OpenArchive.h instead |
rlm@1 | 7 |
rlm@1 | 8 void InitDecoder(); |
rlm@1 | 9 void CleanupDecoder(); |
rlm@1 | 10 const char* GetSupportedFormatsFilter(); |
rlm@1 | 11 |
rlm@1 | 12 // simplest way of extracting a file after calling InitDecoder(): |
rlm@1 | 13 // int size = ArchiveFile(filename).ExtractItem(0, buf, sizeof(buf)); |
rlm@1 | 14 |
rlm@1 | 15 struct ArchiveFile |
rlm@1 | 16 { |
rlm@1 | 17 ArchiveFile(const char* filename, const char* displayFilename=0); |
rlm@1 | 18 virtual ~ArchiveFile(); |
rlm@1 | 19 |
rlm@1 | 20 int GetNumItems(); |
rlm@1 | 21 int GetItemSize(int item); |
rlm@1 | 22 const char* GetItemName(int item); |
rlm@1 | 23 int ExtractItem(int item, unsigned char* outBuffer, int bufSize) const; // returns size, or 0 if failed |
rlm@1 | 24 int ExtractItem(int item, const char* outFilename) const; |
rlm@1 | 25 |
rlm@1 | 26 bool IsCompressed(); |
rlm@1 | 27 const char* GetArchiveTypeName(); |
rlm@1 | 28 const char* GetArchiveFileName() { return m_displayFilename ? m_displayFilename : m_filename; } |
rlm@1 | 29 |
rlm@1 | 30 bool m_userMadeSelection; |
rlm@1 | 31 |
rlm@1 | 32 protected: |
rlm@1 | 33 struct ArchiveItem |
rlm@1 | 34 { |
rlm@1 | 35 int size; |
rlm@1 | 36 char* name; |
rlm@1 | 37 }; |
rlm@1 | 38 ArchiveItem* m_items; |
rlm@1 | 39 int m_numItems; |
rlm@1 | 40 int m_typeIndex; |
rlm@1 | 41 char* m_filename; |
rlm@1 | 42 char* m_displayFilename; |
rlm@1 | 43 }; |
rlm@1 | 44 |
rlm@1 | 45 #endif |