diff -r 000000000000 -r c6b0df440bee dbgsrv/coredumpserver/test/flashdump/src/main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dbgsrv/coredumpserver/test/flashdump/src/main.cpp Tue Mar 02 10:33:16 2010 +0530 @@ -0,0 +1,113 @@ +// Copyright (c) 2008-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: +// + +#include "flashdump.h" +#include "debuglogging.h" +#include +#include +#include + +_LIT(KTextConsoleTitle, "The CrashFlash Dumper"); + +LOCAL_D CConsoleBase* console; // write all messages to this + + +GLDEF_C TInt E32Main(); + +// Local Functions + +LOCAL_C HBufC* ReadCommandLineL() + { + TInt cmdSize = User::CommandLineLength(); + + if(cmdSize > 0) + { + HBufC* cmd = HBufC::NewL(cmdSize); + TPtr p(cmd->Des()); + + User::CommandLine(p); + + return cmd; + } + + console->Printf(_L("\nusage: flashdump \n")); + console->Printf(_L("\nAny key to continue\n")); + console->Getch(); + + return NULL; + } + +LOCAL_C void MainL() + { + CCrashFlashDump* dumper = CCrashFlashDump::NewL(); + CleanupStack::PushL(dumper); + + HBufC* file = ReadCommandLineL(); + if(!file) + { + User::Leave(KErrArgument); + } + + CleanupStack::PushL(file); + + LOG_MSG("Opening File"); + dumper->OpenFileL(file->Des()); + + LOG_MSG("Dumping file to flash"); + dumper->DumpFlashToFileL(); + + CleanupStack::PopAndDestroy(file); + CleanupStack::PopAndDestroy(dumper); + } + +LOCAL_C void DoStartL() + { + MainL(); + } + +// Global Functions + +GLDEF_C TInt E32Main() + { + // Create cleanup stack + __UHEAP_MARK; + CTrapCleanup* cleanup = CTrapCleanup::New(); + + // Create output console + TRAPD(createError, console = Console::NewL(KTextConsoleTitle, TSize(KConsFullScreen,KConsFullScreen))); + if (createError) + return createError; + + // Run application code inside TRAP harness, wait keypress when terminated + TRAPD(mainError, DoStartL()); + if(mainError == KErrNone) + { + LOG_MSG("Flash dump succesful!"); + } + else + { + LOG_MSG2("Flash dump failed with [%d]", mainError); + } + + delete console; + delete cleanup; + __UHEAP_MARKEND; + return mainError; + } + + +//eof + +