diff -r 000000000000 -r ba25891c3a9e secureswitools/swisistools/source/dumpsis/options.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/secureswitools/swisistools/source/dumpsis/options.h Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,108 @@ +/* +* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +/** + @file + @internalComponent + @released +*/ + +#ifndef __OPTIONS_H__ +#define __OPTIONS_H__ + +#include + +using std::ostream; + +int const MajorVersion=1; +int const MinorVersion=2; +int const BuildVersion=0; +/** +Exceptions raised while processing the command line +@internalComponent +*/ +enum CmdLineException + { + ECmdLineUnknownOption, + ECmdLineMissingSIS, + ECmdLineMultipleSIS, + ECmdLineNoDirArgument, + ECmdLineDirIsFile, + ECmdLineNoPermission, + ECmdLineInvalidDir, + ECmdLineOtherDirFailure, + ECmdLineMissingParamFile, + ECmdLineInvalidSystemDrive, + ECmdLineNoSisArgument, + ECmdLineMissingParams + }; + +/** +Contains the command line options +@internalComponent +*/ +class Options + { +public: + Options(int argc, wchar_t** argv); + + static void DisplayError (CmdLineException err); + static void DisplayUsage (); + static void DisplayVersion (); + + bool Verbose () const { return iVerboseFlag; } + bool Version () const { return iVersion; } + bool ExtractFiles () const { return iExtractFilesFlag; } + bool PauseOnExit () const { return iPauseOnExit; } + + /** + Return the iList exe flag to which is set to true when -l is specified + as command line option + @return Flag status of list option + */ + bool Listexe() const { return iList; } + + /** + Return the iCreateECI flag to which is set to true when -l -y is specified + as command line option + @return Flag status of createECI + */ + bool CreateECI() const { return iCreateECI; } + + + static const char* CommandName () { return "DumpSIS"; } + + const std::wstring& SISFileName () const { return iSISFileName; } + const std::wstring& ExtractDirectory() { return iExtractDirectory; } + +private: + void GetExtractDir(); + +private: + bool iVerboseFlag; + bool iVersion; + bool iHelpFlag; + bool iExtractFilesFlag; + bool iPauseOnExit; + bool iList; + bool iCreateECI; + std::wstring iSISFileName; + std::wstring iExtractDirectory; + }; + +#endif /* __OPTIONS_H__ */