--- a/usbmgmt/usbmgrtest/t_ncm/src/commandengine.cpp Tue Aug 31 17:01:47 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* Copyright (c) 2002-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:
-*
-*/
-
-/** @file
- @internalComponent
- @test
- */
-
-#include "commandengine.h"
-#include "ncmtestconsole.h"
-
-CNcmCommandEngine* CNcmCommandEngine::NewL(CUsbNcmConsole& aTestConsole)
-/**
-Constructs a CNcmCommandEngine object.
- @param aTestConsole The main console
-*/
- {
- LOG_STATIC_FUNC_ENTRY
- CNcmCommandEngine* self = new(ELeave) CNcmCommandEngine(aTestConsole);
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
- return self;
- }
-
-CNcmCommandEngine::~CNcmCommandEngine()
- {
- Cancel();
- RemoveAllCommand();
- }
-
-CNcmCommandEngine::CNcmCommandEngine(CUsbNcmConsole& aTestConsole)
- : CActive(EPriorityStandard)
- , iTestConsole(aTestConsole)
- , iLastPage(0), iLastItem(-1), iRemainLine(COMMAND_MAX_COUNT_PER_PAGE)
- {
- CActiveScheduler::Add(this);
- }
-
-void CNcmCommandEngine::ConstructL()
- {
- //wait user select command
- iTestConsole.iConsole->Read(iStatus);
- SetActive();
- }
-
-void CNcmCommandEngine::DoCancel()
- {
- iTestConsole.iConsole->ReadCancel();
- }
-
-void CNcmCommandEngine::RunL()
- {
- LOG_FUNC
-
- User::LeaveIfError(iStatus.Int());
-
- TUint key = iTestConsole.iConsole->KeyCode();
-
- __FLOG_STATIC1(KSubSys, KLogComponent , _L8("key = %c"), key);
-
- if((key >= '0') && (key <= '9'))
- {
- iTestConsole.ScheduleDraw(key-0x30);
- }
- else
- {
- CNcmCommandBase* command = NULL;
- if(iCommandMap.Find(key))
- {
- command = *(iCommandMap.Find(key));
- if(command)
- {
- command->DoCommandL();
- }
- else
- {
- __FLOG_STATIC0(KSubSys, KLogComponent , _L8("The command in hashmap is NULL"));
- }
- }
- else
- {
- CUsbNcmConsoleEvent* event = CUsbNcmConsoleEvent::NewL();
- event->iEvent.AppendFormat(_L("G:Unknown:Key[%c]"), key);
- iTestConsole.NotifyEvent(event);
- }
-
- }
- iTestConsole.iConsole->Read(iStatus);
-
- SetActive();
- }
-
-void CNcmCommandEngine::RegisterCommand(CNcmCommandBase* aCommand)
-/**
-Add command object into command map
- @param aCommand a command which will be used by user
-*/
- {
- //Assert if aCommand is NULL
- __ASSERT_ALWAYS(aCommand, Panic(ENcmCommandIsNull));
- //Assert if the key exists in command map
- __ASSERT_ALWAYS(!iCommandMap.Find(aCommand->Key()), Panic(ENcmCommandKeyExists));
-
- //add command
- TInt err = iCommandMap.Insert(aCommand->Key(), aCommand);
- if(err != KErrNone)
- {
- User::Panic(_L("RegisterCommand"), err);
- }
-
- //make the command to be displayed in which page, which line
- TInt line = (aCommand->Description().Length() + NUM_CHARACTERS_ON_LINE + 4) / (NUM_CHARACTERS_ON_LINE);
- iRemainLine -= line;
- if(iRemainLine < 0)
- {
- iLastPage ++;
- iRemainLine = COMMAND_MAX_COUNT_PER_PAGE - line;
- iLastItem = 0;
- }
- else
- {
- iLastItem ++;
- }
- iCommandKeys[iLastPage][iLastItem] = aCommand->Key();
-
- }
-
-void CNcmCommandEngine::RemoveAllCommand()
-/**
-Destroy all commands in command map
-*/
- {
- CNcmCommandBase* currentitem;
-
- RHashMap<TUint, CNcmCommandBase*>::TIter hashMapIter(iCommandMap);
- TInt count = iCommandMap.Count();
- for(TInt i=0; i< count; i++)
- {
- currentitem = *(hashMapIter.NextValue());
- if(currentitem)
- {
- hashMapIter.RemoveCurrent();
- delete currentitem;
- }
- }
- iCommandMap.Close();
-
- }
-
-
-void CNcmCommandEngine::PrintHelp(TInt aPage)
-/**
-Get command help info (command key - command description)
-@param aPage the command help info of specified page
-*/
- {
- LOG_FUNC
-
- __ASSERT_ALWAYS(((aPage <= COMMAND_MAX_PAGE) && (aPage > 0)), Panic(ENcmArrayBound));
-
- TUint key = iCommandKeys[aPage-1][0];
- if(key == 0)
- {
- //No commands in this page
- iTestConsole.iConsole->Printf(_L("No commands\n"));
- }
- else
- {
- //Display command
- TInt i = 0;
- while((key != 0) && (i < COMMAND_MAX_COUNT_PER_PAGE))
- {
- CNcmCommandBase* command = NULL;
- command = *(iCommandMap.Find(key));
- iTestConsole.iConsole->Printf(_L("%c - %S\n"), command->Key(), &command->Description());
- i++;
- key = iCommandKeys[aPage-1][i];
- }
- }
-
- }
-
-CNcmCommandBase::CNcmCommandBase(TInt aPriority, CUsbNcmConsole& aConsole, TUint aKey)
- : CActive(aPriority), iTestConsole(aConsole), iKey(aKey)
-/**
-Constructor
-@param aPriority Active object's priority
-@param aConsole The main console
-@param aKey command key
-*/
- {
- }
-
-CNcmCommandBase::~CNcmCommandBase()
- {
- }
-
-TUint CNcmCommandBase::Key() const
- {
- return iKey;
- }
-
-void CNcmCommandBase::SetKey(TUint aKey)
- {
- iKey = aKey;
- }
-
-
-const TDesC& CNcmCommandBase::Description()
- {
- return iDescription;
- }
-
-void CNcmCommandBase::SetDescription(const TDesC& aDescription)
-/**
-Set command description
-@param aDescription the new description for the command
-*/
- {
- iDescription.SetLength(0);
- iDescription.Copy(aDescription.Left(NUM_CHARACTERS_ON_LINE));
- }
-void CNcmCommandBase::RunL()
- {
- }
-
-void CNcmCommandBase::DoCancel()
- {
- }
-TInt CNcmCommandEngine::RunError(TInt aError)
- {
- User::Panic(_L("CNcmCommandEngine"), aError);
- return aError;
- }