mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-10 20:07:05 -06:00
4.44 beta
This commit is contained in:
committed by
Kornel Lesiński
parent
804edc5756
commit
d9666cf046
95
CPP/7zip/UI/Common/ArchiveCommandLine.h
Executable file
95
CPP/7zip/UI/Common/ArchiveCommandLine.h
Executable file
@@ -0,0 +1,95 @@
|
||||
// ArchiveCommandLine.h
|
||||
|
||||
#ifndef __ARCHIVECOMMANDLINE_H
|
||||
#define __ARCHIVECOMMANDLINE_H
|
||||
|
||||
#include "Common/Wildcard.h"
|
||||
#include "Common/CommandLineParser.h"
|
||||
|
||||
#include "Extract.h"
|
||||
#include "Update.h"
|
||||
|
||||
struct CArchiveCommandLineException: public AString
|
||||
{
|
||||
CArchiveCommandLineException(const char *errorMessage): AString(errorMessage) {}
|
||||
};
|
||||
|
||||
namespace NCommandType { enum EEnum
|
||||
{
|
||||
kAdd = 0,
|
||||
kUpdate,
|
||||
kDelete,
|
||||
kTest,
|
||||
kExtract,
|
||||
kFullExtract,
|
||||
kList
|
||||
};}
|
||||
|
||||
namespace NRecursedType { enum EEnum
|
||||
{
|
||||
kRecursed,
|
||||
kWildCardOnlyRecursed,
|
||||
kNonRecursed,
|
||||
};}
|
||||
|
||||
struct CArchiveCommand
|
||||
{
|
||||
NCommandType::EEnum CommandType;
|
||||
bool IsFromExtractGroup() const;
|
||||
bool IsFromUpdateGroup() const;
|
||||
bool IsTestMode() const { return CommandType == NCommandType::kTest; }
|
||||
NExtract::NPathMode::EEnum GetPathMode() const;
|
||||
};
|
||||
|
||||
struct CArchiveCommandLineOptions
|
||||
{
|
||||
bool HelpMode;
|
||||
|
||||
#ifdef _WIN32
|
||||
bool LargePages;
|
||||
#endif
|
||||
|
||||
bool IsInTerminal;
|
||||
bool IsStdOutTerminal;
|
||||
bool IsStdErrTerminal;
|
||||
bool StdInMode;
|
||||
bool StdOutMode;
|
||||
bool EnableHeaders;
|
||||
|
||||
bool YesToAll;
|
||||
bool ShowDialog;
|
||||
// NWildcard::CCensor ArchiveWildcardCensor;
|
||||
NWildcard::CCensor WildcardCensor;
|
||||
|
||||
CArchiveCommand Command;
|
||||
UString ArchiveName;
|
||||
|
||||
bool PasswordEnabled;
|
||||
UString Password;
|
||||
|
||||
bool TechMode;
|
||||
// Extract
|
||||
bool AppendName;
|
||||
UString OutputDir;
|
||||
NExtract::NOverwriteMode::EEnum OverwriteMode;
|
||||
UStringVector ArchivePathsSorted;
|
||||
UStringVector ArchivePathsFullSorted;
|
||||
CObjectVector<CProperty> ExtractProperties;
|
||||
|
||||
CUpdateOptions UpdateOptions;
|
||||
bool EnablePercents;
|
||||
|
||||
CArchiveCommandLineOptions(): StdInMode(false), StdOutMode(false) {};
|
||||
|
||||
};
|
||||
|
||||
class CArchiveCommandLineParser
|
||||
{
|
||||
NCommandLineParser::CParser parser;
|
||||
public:
|
||||
CArchiveCommandLineParser();
|
||||
void Parse1(const UStringVector &commandStrings, CArchiveCommandLineOptions &options);
|
||||
void Parse2(CArchiveCommandLineOptions &options);
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user