diff -r 000000000000 -r ba25891c3a9e secureswitools/swianalysistoolkit/source/chainvalidityandinstallfilestatustools/dumpinstallfilestatustool/options.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/secureswitools/swianalysistoolkit/source/chainvalidityandinstallfilestatustools/dumpinstallfilestatustool/options.h Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,113 @@ +/* +* Copyright (c) 2005-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 +*/ + + +#ifndef __OPTIONS_H__ +#define __OPTIONS_H__ +#pragma warning( disable : 4786) + +#include +#include +#include +#include +#include +#include +#include + +int const KMajorVersion = 1; +int const KMinorVersion = 0; + +typedef std::vector StringVector; + +/** + * Exceptions raised while processing the command line + * @internalComponent + */ +enum Exceptions + { + EUnknownOption , + EMissingDATFile , + ESupportingExeError , + EMissingSISFile , + EUnableToOpenFile , + EErrorExecutingSupportingExeDumpsis , + EErrorExecutingSupportingExeSignsis , + EErrorExecutingSupportingDumpSwiCertstoreExe, + ECorruptCCIFile , + ENotADerBitString , + ENotADerSequence , + ENotADerInteger , + ENotADerUtf8String + }; + +/** + * Contains the command line options + * @internalComponent + */ +class Options +{ +public: + + Options(int argc, char** argv); + + ~Options(); + + static void DisplayError (const Exceptions& aErr); + + static void DisplayUsage (); + + int UserCapabilities() const { return iUserCapabilities; } + + const std::string& SISFile () const { return iSisFile ; } + + const std::string& CertstoreFile () const { return iCertstore ; } + + static const char* CommandName () { return "DumpInstallFileStatus"; } + +private: + + void DisplayVersion () const ; + + /** + Converts the user capabilities specified on the commnad line into an equivalent integer. + @param UserCapabilities User Grantable Capabilities on command line. + @return integer equivalent of the user specified capabilities. + */ + const int ConvertUserCapsToInt(StringVector& UserCapabilities); + +private: + + bool iVersion; + bool iHelpFlag; + bool iDATFileSpecified; + bool iSISFileSpecified; + bool iDirectorySpecified; + int iUserCapabilities; + std::string iDATFile; + std::string iSisFile; + std::string iCertstore; +}; + +#endif + +