Mercurial > vba-linux
view src/win32/7zip/7z/CPP/7zip/Archive/Rar/RarHandler.h @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
line wrap: on
line source
1 // Rar/Handler.h3 #ifndef __RAR_HANDLER_H4 #define __RAR_HANDLER_H6 #include "../IArchive.h"7 #include "RarIn.h"8 #include "RarVolumeInStream.h"10 #include "../../Common/CreateCoder.h"12 namespace NArchive {13 namespace NRar {15 class CHandler:16 public IInArchive,17 PUBLIC_ISetCompressCodecsInfo18 public CMyUnknownImp19 {20 public:21 MY_QUERYINTERFACE_BEGIN2(IInArchive)22 QUERY_ENTRY_ISetCompressCodecsInfo23 MY_QUERYINTERFACE_END24 MY_ADDREF_RELEASE26 INTERFACE_IInArchive(;)28 DECL_ISetCompressCodecsInfo30 private:31 CRecordVector<CRefItem> _refItems;32 CObjectVector<CItemEx> _items;33 CObjectVector<CInArchive> _archives;34 NArchive::NRar::CInArchiveInfo _archiveInfo;36 DECL_EXTERNAL_CODECS_VARS38 UInt64 GetPackSize(int refIndex) const;39 // NArchive::NRar::CInArchive _archive;41 bool IsSolid(int refIndex)42 {43 const CItemEx &item = _items[_refItems[refIndex].ItemIndex];44 if (item.UnPackVersion < 20)45 {46 if (_archiveInfo.IsSolid())47 return (refIndex > 0);48 return false;49 }50 return item.IsSolid();51 }53 HRESULT Open2(IInStream *stream,54 const UInt64 *maxCheckStartPosition,55 IArchiveOpenCallback *openArchiveCallback);56 };58 }}60 #endif