1 // UdfHandler.h 2 3 #ifndef __UDF_HANDLER_H 4 #define __UDF_HANDLER_H 5 6 #include "../../../Common/MyCom.h" 7 8 #include "../IArchive.h" 9 10 #include "UdfIn.h" 11 12 namespace NArchive { 13 namespace NUdf { 14 15 struct CRef2 16 { 17 unsigned Vol; 18 unsigned Fs; 19 unsigned Ref; 20 }; 21 22 class CHandler: 23 public IInArchive, 24 public IInArchiveGetStream, 25 public CMyUnknownImp 26 { 27 CMyComPtr<IInStream> _inStream; 28 CInArchive _archive; 29 CRecordVector<CRef2> _refs2; 30 public: 31 MY_UNKNOWN_IMP2(IInArchive, IInArchiveGetStream) 32 INTERFACE_IInArchive(;) 33 STDMETHOD(GetStream)(UInt32 index, ISequentialInStream **stream); 34 }; 35 36 }} 37 38 #endif 39