mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-06 09:14:58 -06:00
54 lines
1.0 KiB
C++
Executable File
54 lines
1.0 KiB
C++
Executable File
// 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<ISequentialOutStream> 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
|