1*f6dc9357SAndroid Build Coastguard Worker // TarHandler.h 2*f6dc9357SAndroid Build Coastguard Worker 3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_TAR_HANDLER_H 4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_TAR_HANDLER_H 5*f6dc9357SAndroid Build Coastguard Worker 6*f6dc9357SAndroid Build Coastguard Worker #include "../../../Common/MyCom.h" 7*f6dc9357SAndroid Build Coastguard Worker 8*f6dc9357SAndroid Build Coastguard Worker #include "../../Compress/CopyCoder.h" 9*f6dc9357SAndroid Build Coastguard Worker 10*f6dc9357SAndroid Build Coastguard Worker #include "../Common/HandlerOut.h" 11*f6dc9357SAndroid Build Coastguard Worker 12*f6dc9357SAndroid Build Coastguard Worker #include "TarIn.h" 13*f6dc9357SAndroid Build Coastguard Worker 14*f6dc9357SAndroid Build Coastguard Worker namespace NArchive { 15*f6dc9357SAndroid Build Coastguard Worker namespace NTar { 16*f6dc9357SAndroid Build Coastguard Worker 17*f6dc9357SAndroid Build Coastguard Worker Z7_CLASS_IMP_CHandler_IInArchive_4( 18*f6dc9357SAndroid Build Coastguard Worker IArchiveOpenSeq 19*f6dc9357SAndroid Build Coastguard Worker , IInArchiveGetStream 20*f6dc9357SAndroid Build Coastguard Worker , ISetProperties 21*f6dc9357SAndroid Build Coastguard Worker , IOutArchive 22*f6dc9357SAndroid Build Coastguard Worker ) 23*f6dc9357SAndroid Build Coastguard Worker public: 24*f6dc9357SAndroid Build Coastguard Worker CObjectVector<CItemEx> _items; 25*f6dc9357SAndroid Build Coastguard Worker CMyComPtr<IInStream> _stream; 26*f6dc9357SAndroid Build Coastguard Worker CMyComPtr<ISequentialInStream> _seqStream; 27*f6dc9357SAndroid Build Coastguard Worker private: 28*f6dc9357SAndroid Build Coastguard Worker bool _isArc; 29*f6dc9357SAndroid Build Coastguard Worker bool _posixMode_WasForced; 30*f6dc9357SAndroid Build Coastguard Worker bool _posixMode; 31*f6dc9357SAndroid Build Coastguard Worker bool _forceCodePage; 32*f6dc9357SAndroid Build Coastguard Worker UInt32 _specifiedCodePage; 33*f6dc9357SAndroid Build Coastguard Worker UInt32 _curCodePage; 34*f6dc9357SAndroid Build Coastguard Worker UInt32 _openCodePage; 35*f6dc9357SAndroid Build Coastguard Worker // CTimeOptions TimeOptions; 36*f6dc9357SAndroid Build Coastguard Worker CHandlerTimeOptions _handlerTimeOptions; 37*f6dc9357SAndroid Build Coastguard Worker CEncodingCharacts _encodingCharacts; 38*f6dc9357SAndroid Build Coastguard Worker 39*f6dc9357SAndroid Build Coastguard Worker UInt32 _curIndex; 40*f6dc9357SAndroid Build Coastguard Worker bool _latestIsRead; 41*f6dc9357SAndroid Build Coastguard Worker CItemEx _latestItem; 42*f6dc9357SAndroid Build Coastguard Worker 43*f6dc9357SAndroid Build Coastguard Worker CArchive _arc; 44*f6dc9357SAndroid Build Coastguard Worker 45*f6dc9357SAndroid Build Coastguard Worker CMyComPtr2_Create<ICompressCoder, NCompress::CCopyCoder> copyCoder; 46*f6dc9357SAndroid Build Coastguard Worker 47*f6dc9357SAndroid Build Coastguard Worker HRESULT Open2(IInStream *stream, IArchiveOpenCallback *callback); 48*f6dc9357SAndroid Build Coastguard Worker HRESULT SkipTo(UInt32 index); 49*f6dc9357SAndroid Build Coastguard Worker void TarStringToUnicode(const AString &s, NWindows::NCOM::CPropVariant &prop, bool toOs = false) const; 50*f6dc9357SAndroid Build Coastguard Worker public: 51*f6dc9357SAndroid Build Coastguard Worker void Init(); 52*f6dc9357SAndroid Build Coastguard Worker CHandler(); 53*f6dc9357SAndroid Build Coastguard Worker }; 54*f6dc9357SAndroid Build Coastguard Worker 55*f6dc9357SAndroid Build Coastguard Worker }} 56*f6dc9357SAndroid Build Coastguard Worker 57*f6dc9357SAndroid Build Coastguard Worker #endif 58