diff -r 000000000000 -r f453ebb75370 gfxconversion/mifconv/inc/mifconv_argument.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfxconversion/mifconv/inc/mifconv_argument.h Tue Feb 02 01:11:11 2010 +0200 @@ -0,0 +1,239 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "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: Mifconv tool argument definitions. +* +*/ + + +#ifndef __MIFCONVARGUMENT_H__ +#define __MIFCONVARGUMENT_H__ + +#include "mifconv.h" +#include "mifconv_sourcefile.h" +#include + +// Argument constants +static const MifConvString MifConvUseExtensionArg("e"); +static const MifConvString MifConvHeaderArg("h"); +static const MifConvString MifConvHelpHArg("h"); // Duplicate name +static const MifConvString MifConvHelpQArg("?"); +static const MifConvString MifConvHelpHelpArg("-help"); +static const MifConvString MifConvPaletteFileArg("p"); +static const MifConvString MifConvTempPathArg("t"); +static const MifConvString MifConvBmconvPathArg("b"); +static const MifConvString MifConvSvgencodePathArg("s"); +static const MifConvString MifConvSvgtVersionArg("v"); +static const MifConvString MifConvParameterFileArg("f"); +static const MifConvString MifConvAnimatedIconArg("a"); // This is part of source file argument +static const MifConvString MifConvDisableSvgCompression("x"); +static const MifConvString MifConvIconSourceDirectory("i"); +static const MifConvString MifConvDepth_1("1"); +static const MifConvString MifConvDepth_2("2"); +static const MifConvString MifConvDepth_4("4"); +static const MifConvString MifConvDepth_8("8"); +static const MifConvString MifConvDepth_c4("c4"); +static const MifConvString MifConvDepth_c8("c8"); +static const MifConvString MifConvDepth_c12("c12"); +static const MifConvString MifConvDepth_c16("c16"); +static const MifConvString MifConvDepth_c24("c24"); +static const MifConvString MifConvDepth_c32("c32"); +static const MifConvString MifConvMaskDepth_1("1"); +static const MifConvString MifConvMaskDepth_8("8"); + +// Array of help arguments: +const MifConvString MifConvHelpArguments[] = { + MifConvHelpHArg, + MifConvHelpQArg, + MifConvHelpHelpArg + }; + +// Array of boolean arguments: +const MifConvString MifConvBooleanArguments[] = { + MifConvUseExtensionArg, + MifConvDisableSvgCompression + }; + +// Array of string arguments: +const MifConvString MifConvStringArguments[] = { + MifConvHeaderArg, + MifConvPaletteFileArg, + MifConvTempPathArg, + MifConvBmconvPathArg, + MifConvSvgencodePathArg, + MifConvSvgtVersionArg, + MifConvParameterFileArg +}; + +// Array of string list arguments: +const MifConvString MifConvStringListArguments[] = { + MifConvIconSourceDirectory +}; + +// Array of depth values: +const MifConvString MifConvDepthArguments[] = { + MifConvDepth_1, + MifConvDepth_2, + MifConvDepth_4, + MifConvDepth_8, + MifConvDepth_c4, + MifConvDepth_c8, + MifConvDepth_c12, + MifConvDepth_c16, + MifConvDepth_c24, + MifConvDepth_c32 +}; + +// Argument class template +template +class MifConvArgument +{ +public: + /** + * Constructor + * @param argName Argument name + * @param argVal Argument value + */ + MifConvArgument( const MifConvString& argName, const T& argVal ); + + /** + * Copy constructor + * @param arg Argument object to be copied + */ + MifConvArgument( const MifConvArgument& arg ); + + /** + * Destructor + */ + virtual ~MifConvArgument(); + + /** + * Returns the argument name + * @return Argument name + */ + const MifConvString& Name() const; + + /** + * Returns the argument value + * @return Argument value + */ + const T& Value() const; + + /** + * Sets the argument name + * @param argName Argument name + */ + void SetName( const MifConvString& argName ); + + /** + * Sets the argument value + * @param argVal Argument value + */ + void SetValue( const T& argVal ); + + /** + * Comparison argument for sorting + */ + bool operator< (const MifConvArgument& arg ); + +protected: + MifConvString iName; + T iValue; +}; + +/** + * + */ +template +MifConvArgument::MifConvArgument(const MifConvString& argName, const T& argVal ) +: +iName( argName ), +iValue( argVal ) +{ +} + +/** + * + */ +template +MifConvArgument::MifConvArgument(const MifConvArgument& arg ) +: +iName(arg.iName), +iValue(arg.iValue) +{} + +/** + * + */ +template +MifConvArgument::~MifConvArgument() +{} + +/** + * + */ +template +const MifConvString& MifConvArgument::Name() const +{ + return iName; +} + +/** + * + */ +template +const T& MifConvArgument::Value() const +{ + return iValue; +} + +/** + * + */ +template +void MifConvArgument::SetName( const MifConvString& argName ) +{ + iName = argName; +} + +/** + * + */ +template +void MifConvArgument::SetValue( const T& argVal ) +{ + iValue = argVal; +} + +/** + * + */ +template +bool MifConvArgument::operator< ( const MifConvArgument& arg ) +{ + return iName < arg.iName; +} + +/** + * Type definitions + */ +typedef MifConvArgument MifConvBooleanArgument; +typedef MifConvArgument MifConvStringArgument; +typedef MifConvArgument MifConvStringListArgument; +typedef MifConvArgument MifConvSourceFileArgument; + +typedef std::vector MifConvBooleanArgumentList; +typedef std::vector MifConvStringArgumentList; +typedef std::vector MifConvSourceFileArgumentList; + +#endif