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