annotate src/win32/7zip/7z/CPP/7zip/Archive/Rar/RarVolumeInStream.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 // RarVolumeInStream.h
rlm@1 2
rlm@1 3 #ifndef __RAR_VOLUME_IN_STREAM_H
rlm@1 4 #define __RAR_VOLUME_IN_STREAM_H
rlm@1 5
rlm@1 6 #include "../../IStream.h"
rlm@1 7 #include "RarIn.h"
rlm@1 8
rlm@1 9 namespace NArchive {
rlm@1 10 namespace NRar {
rlm@1 11
rlm@1 12 struct CRefItem
rlm@1 13 {
rlm@1 14 int VolumeIndex;
rlm@1 15 int ItemIndex;
rlm@1 16 int NumItems;
rlm@1 17 };
rlm@1 18
rlm@1 19 class CFolderInStream:
rlm@1 20 public ISequentialInStream,
rlm@1 21 public CMyUnknownImp
rlm@1 22 {
rlm@1 23 public:
rlm@1 24 MY_UNKNOWN_IMP
rlm@1 25
rlm@1 26 STDMETHOD(Read)(void *data, UInt32 size, UInt32 *processedSize);
rlm@1 27
rlm@1 28 private:
rlm@1 29 CObjectVector<CInArchive> *_archives;
rlm@1 30 const CObjectVector<CItemEx> *_items;
rlm@1 31 CRefItem _refItem;
rlm@1 32 int _curIndex;
rlm@1 33 UInt32 _crc;
rlm@1 34 bool _fileIsOpen;
rlm@1 35 CMyComPtr<ISequentialInStream> _stream;
rlm@1 36
rlm@1 37 HRESULT OpenStream();
rlm@1 38 HRESULT CloseStream();
rlm@1 39 public:
rlm@1 40 void Init(CObjectVector<CInArchive> *archives,
rlm@1 41 const CObjectVector<CItemEx> *items,
rlm@1 42 const CRefItem &refItem);
rlm@1 43
rlm@1 44 CRecordVector<UInt32> CRCs;
rlm@1 45 };
rlm@1 46
rlm@1 47 }}
rlm@1 48
rlm@1 49 #endif