diff -r 6205fd287e8a -r 1abc632eb502 menufw/hierarchynavigator/hnmetadatamodel/src/hnmdservicecommand.cpp --- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdservicecommand.cpp Thu Mar 18 14:45:17 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,207 +0,0 @@ -/* -* Copyright (c) 2007-2008 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 - -#include "hnmdkeyfactory.h" -#include "hnmdbasekey.h" -#include "hnmdservicecommand.h" - - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -CHnMdServiceCommand* CHnMdServiceCommand::NewL( - TXmlEngElement aElement ) - { - CHnMdServiceCommand* self = CHnMdServiceCommand::NewLC(aElement); - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -CHnMdServiceCommand* CHnMdServiceCommand::NewLC( - TXmlEngElement aElement ) - { - CHnMdServiceCommand* self = new( ELeave ) CHnMdServiceCommand; - CleanupStack::PushL( self ); - self->ConstructL( aElement ); - return self; - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -TXmlEngElement CHnMdServiceCommand::RemoveRedundantKeyL( TXmlEngElement aElement ) - { - TXmlEngElement ret = aElement; - - RXmlEngNodeList< TXmlEngElement > elements; - CleanupClosePushL( elements ); - aElement.GetChildElements( elements ); - - TInt elementsCount = elements.Count(); - if (elementsCount == 1) - { - TXmlEngElement dataElement = elements.Next(); - RXmlEngNodeList< TXmlEngAttr > nodeList; - CleanupClosePushL( nodeList ); - dataElement.GetAttributes(nodeList); - if (! dataElement.Name().Compare( KKeyElementItem8 ) && nodeList.Count() == 0) - { - ret = dataElement; - } - CleanupStack::PopAndDestroy( &nodeList ); - } - - CleanupStack::PopAndDestroy( &elements ); - return ret; - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -void CHnMdServiceCommand::ConstructL( TXmlEngElement aElement ) - { - iData = HnMdKeyFactory::CreateL( KCommandElementItem8(), KKeyTypeList(), - KNullDesC8() ); - - RXmlEngNodeList< TXmlEngElement > elements; - CleanupClosePushL( elements ); - aElement.GetChildElements( elements ); - - TInt elementsCount = elements.Count(); - - for (TInt i =0; i < elementsCount; i++ ) - { - TXmlEngElement dataElement = elements.Next(); - - if ( !dataElement.Name().Compare( KCommandElementItem8 ) ) - { - SetCommandNameL( dataElement.AttributeNodeL( KCommandNameAttr8 ) ); - SetCommandModeL( dataElement.AttributeNodeL( KCommandModeAttr8 ) ); - - SetCommandDataL( RemoveRedundantKeyL( dataElement ) ); - break; - } - } - CleanupStack::PopAndDestroy( &elements ); - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -CHnMdServiceCommand::CHnMdServiceCommand() - { - - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -CHnMdServiceCommand::~CHnMdServiceCommand() - { - delete iData; - iName.Close(); - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -const TDesC8& CHnMdServiceCommand::GetCommandName() const - { - return iName; - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -void CHnMdServiceCommand::SetCommandNameL( TXmlEngAttr aAttr ) - { - iName.Close(); - iName.CreateL( aAttr.Value() ); - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -CHnMdBaseKey* CHnMdServiceCommand::GetCommandData() const - { - return iData; - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -void CHnMdServiceCommand::SetCommandDataL( TXmlEngElement aElement ) - { - - RXmlEngNodeList< TXmlEngElement > keys; - CleanupClosePushL( keys ); - aElement.GetChildElements( keys ); - - TInt count = keys.Count(); - for (TInt j = 0; j < count; j++ ) - { - TXmlEngElement keyElement = keys.Next(); - if ( !keyElement.Name().Compare( KKeyElementItem8 ) ) - { - CHnMdBaseKey *key = HnMdKeyFactory::CreateL( keyElement ); - CleanupStack::PushL( key ); - iData->AddSubKeyL(key); - CleanupStack::Pop( key ); - } - } - CleanupStack::PopAndDestroy( &keys ); - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -TServiceMode CHnMdServiceCommand::GetCommandMode() const - { - return iMode; - } - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -void CHnMdServiceCommand::SetCommandModeL( TXmlEngAttr aAttr ) - { - iMode = EServiceModeSynchronous; - - if ( !aAttr.Value().Compare( KCommandModeAsync8 ) ) - { - iMode = EServiceModeAsynchronous; - } - } -