// Archive/TarOut.h #ifndef ZIP7_INC_ARCHIVE_TAR_OUT_H #define ZIP7_INC_ARCHIVE_TAR_OUT_H #include "../../../Common/MyCom.h" #include "../../IStream.h" #include "TarItem.h" namespace NArchive { namespace NTar { class COutArchive { CMyComPtr Stream; AString Glob_Name; AString Prefix; HRESULT WriteHeaderReal(const CItem &item, bool isPax = false // , bool zero_PackSize = false // , bool zero_MTime = false ); HRESULT Write_Data(const void *data, unsigned size); HRESULT Write_Data_And_Residual(const void *data, unsigned size); public: UInt64 Pos; bool IsPosixMode; // bool IsPrefixAllowed; // it's used only if (IsPosixMode == true) CTimeOptions TimeOptions; void Create(ISequentialOutStream *outStream) { Stream = outStream; } HRESULT WriteHeader(const CItem &item); HRESULT Write_AfterDataResidual(UInt64 dataSize); HRESULT WriteFinishHeader(); COutArchive(): Pos(0), IsPosixMode(false) // , IsPrefixAllowed(true) {} }; }} #endif