diff -r 000000000000 -r 044383f39525 imgtools/imgcheck/src/main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imgtools/imgcheck/src/main.cpp Tue Oct 27 16:36:35 2009 +0000 @@ -0,0 +1,108 @@ +/* +* Copyright (c) 2007-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: +* Begining of imgcheck tool. +* +*/ + + +/** + @file + @internalComponent + @released +*/ + +#include "imgcheckmanager.h" +#include "exceptionreporter.h" + +/** +Global pointers declaration. + +@internalComponent +@released +*/ +CmdLineHandler* cmdInput = KNull; +ImgCheckManager* imgCheckerPtr = KNull; + +/** +Function to delete the created instances + +@internalComponent +@released +*/ + +void DeleteInstances() +{ + DELETE(imgCheckerPtr); + DELETE(cmdInput); +} + +/** +Main function for imgcheck Tool, invokes ImgCheckManager public functions +to carry out the validation and to generate report. + +@internalComponent +@released + +@param argc - commandline argument count +@param argv - argument variables + +@return - returns Exit status success or failure +*/ +int main(int argc,char* argv[]) +{ + try + { + cmdInput = new CmdLineHandler(); + if(cmdInput == KNull) + { + throw ExceptionReporter(NOMEMORY, __FILE__, __LINE__); + } + ReturnType val = cmdInput->ProcessCommandLine(argc,argv); + + int ret = 0; + switch(val) + { + case EQuit: + ret = EXIT_SUCCESS; + break; + + case ESuccess: + imgCheckerPtr = new ImgCheckManager(cmdInput); + if(imgCheckerPtr == KNull) + { + throw ExceptionReporter(NOMEMORY, __FILE__, __LINE__); + } + imgCheckerPtr->CreateObjects(); + imgCheckerPtr->Execute(); + imgCheckerPtr->FillReporterData(); + imgCheckerPtr->GenerateReport(); + break; + + case EFail: + ret = EXIT_FAILURE; + break; + } + DeleteInstances(); + ExceptionImplementation::DeleteInstance(); + return ret; + } + catch(ExceptionReporter& aExceptionReport) + { + aExceptionReport.Report(); + ExceptionImplementation::DeleteInstance(); + DeleteInstances(); + return EXIT_FAILURE; + } +}