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