| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- // 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,
- kBenchmark,
- kInfo
- };}
- 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;
- UString ArcType;
- bool EnablePercents;
- // Benchmark
- UInt32 NumIterations;
- UInt32 NumThreads;
- UInt32 DictionarySize;
- UString Method;
- CArchiveCommandLineOptions(): StdInMode(false), StdOutMode(false) {};
- };
- class CArchiveCommandLineParser
- {
- NCommandLineParser::CParser parser;
- public:
- CArchiveCommandLineParser();
- void Parse1(const UStringVector &commandStrings, CArchiveCommandLineOptions &options);
- void Parse2(CArchiveCommandLineOptions &options);
- };
- #endif
|