Source code
Revision control
Copy as Markdown
Other Tools
// ArchiveCommandLine.h↩
↩
#ifndef __ARCHIVE_COMMAND_LINE_H↩
#define __ARCHIVE_COMMAND_LINE_H↩
↩
#include "../../../Common/CommandLineParser.h"↩
#include "../../../Common/Wildcard.h"↩
↩
#include "EnumDirItems.h"↩
↩
#include "Extract.h"↩
#include "HashCalc.h"↩
#include "Update.h"↩
↩
typedef CMessagePathException CArcCmdLineException;↩
↩
namespace NCommandType { enum EEnum↩
{↩
kAdd = 0,↩
kUpdate,↩
kDelete,↩
kTest,↩
kExtract,↩
kExtractFull,↩
kList,↩
kBenchmark,↩
kInfo,↩
kHash,↩
kRename↩
};}↩
↩
struct CArcCommand↩
{↩
NCommandType::EEnum CommandType;↩
↩
bool IsFromExtractGroup() const;↩
bool IsFromUpdateGroup() const;↩
bool IsTestCommand() const { return CommandType == NCommandType::kTest; }↩
NExtract::NPathMode::EEnum GetPathMode() const;↩
};↩
↩
enum↩
{↩
k_OutStream_disabled = 0,↩
k_OutStream_stdout = 1,↩
k_OutStream_stderr = 2↩
};↩
↩
struct CArcCmdLineOptions↩
{↩
bool HelpMode;↩
↩
// bool LargePages;↩
bool CaseSensitiveChange;↩
bool CaseSensitive;↩
↩
bool IsInTerminal;↩
bool IsStdOutTerminal;↩
bool IsStdErrTerminal;↩
bool StdInMode;↩
bool StdOutMode;↩
bool EnableHeaders;↩
↩
bool YesToAll;↩
bool ShowDialog;↩
NWildcard::CCensor Censor;↩
↩
CArcCommand Command;↩
UString ArchiveName;↩
↩
#ifndef _NO_CRYPTO↩
bool PasswordEnabled;↩
UString Password;↩
#endif↩
↩
bool TechMode;↩
bool ShowTime;↩
↩
UStringVector HashMethods;↩
↩
bool AppendName;↩
// UStringVector ArchivePathsSorted;↩
// UStringVector ArchivePathsFullSorted;↩
NWildcard::CCensor arcCensor;↩
UString ArcName_for_StdInMode;↩
↩
CObjectVector<CProperty> Properties;↩
↩
CExtractOptionsBase ExtractOptions;↩
↩
CBoolPair NtSecurity;↩
CBoolPair AltStreams;↩
CBoolPair HardLinks;↩
CBoolPair SymLinks;↩
↩
CUpdateOptions UpdateOptions;↩
CHashOptions HashOptions;↩
UString ArcType;↩
UStringVector ExcludedArcTypes;↩
↩
unsigned Number_for_Out;↩
unsigned Number_for_Errors;↩
unsigned Number_for_Percents;↩
unsigned LogLevel;↩
↩
// bool IsOutAllowed() const { return Number_for_Out != k_OutStream_disabled; }↩
↩
// Benchmark↩
UInt32 NumIterations;↩
↩
CArcCmdLineOptions():↩
// LargePages(false),↩
CaseSensitiveChange(false),↩
CaseSensitive(false),↩
↩
StdInMode(false),↩
StdOutMode(false),↩
↩
Number_for_Out(k_OutStream_stdout),↩
Number_for_Errors(k_OutStream_stderr),↩
Number_for_Percents(k_OutStream_stdout),↩
↩
LogLevel(0)↩
{↩
};↩
};↩
↩
class CArcCmdLineParser↩
{↩
NCommandLineParser::CParser parser;↩
public:↩
void Parse1(const UStringVector &commandStrings, CArcCmdLineOptions &options);↩
void Parse2(CArcCmdLineOptions &options);↩
};↩
↩
#endif↩