diff -r 000000000000 -r 09774dfdd46b internetradio2.0/xmlparsersrc/irxmlelements.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/internetradio2.0/xmlparsersrc/irxmlelements.cpp Mon Apr 19 14:01:53 2010 +0300 @@ -0,0 +1,176 @@ +/* +* Copyright (c) 2006-2007 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: ?Description +* +*/ + + +#include + +#include "irdebug.h" +#include "irxmlelements.h" + +//Ignores PC Lint Warning 618. + +//! Literals for the StringPool + +//! Literals for List of genres,languages,countries + _STLIT8(KName,"name"); + _STLIT8(KID,"id"); + _STLIT8(KSize,"size"); + +//!Literals for the List of Channels + _STLIT8(KShortDesC,"shortDesc"); + + _STLIT8(KBitrate,"bitrate"); + _STLIT8(KValue,"value"); +//! Literals for the channel + +_STLIT8(KSdsid,"sdsid"); +_STLIT8(KLangCode,"langCode"); +_STLIT8(KLang,"lang"); +_STLIT8(KCountryCode,"countryCode"); +_STLIT8(KLastUpdated,"lastUpdated"); +_STLIT8(KDescription,"description"); +_STLIT8(KImgURL,"imgUrl"); +_STLIT8(KAdvUrl,"advertiseImgUrl"); +_STLIT8(KAdvUse,"advertiseInUse"); +_STLIT8(KGenreId,"genreid"); +_STLIT8(KURL,"url"); +_STLIT8(KMusicStoreEnabled,"musicStoreEnabled"); +//!Literals for the log Usage + +_STLIT8(KIRId,"irid"); +//! Literals for the OTA Update + +_STLIT8(KVersion,"version"); +_STLIT8(KUpdateInterval,"updateInterval"); +_STLIT8(KUpdateMethod,"updateMethod"); + + //! Literals for Advertisement +_STLIT8(KInUse,"inUse"); +_STLIT8(KUsageVisibleTimes,"usageVisibleTimes"); +_STLIT8(KVisibleTime,"visibleTime"); + +const TInt KNoOfElementInTable = 27; + + //! PoolTable + const TAny* const IRXMLPoolContent[] = + { + (const TAny*) &KGetOp, + (const TAny*) &KName, + (const TAny*) &KID, + (const TAny*) &KSize, + (const TAny*) &KShortDesC, + (const TAny*) &KValue, + (const TAny*) &KSdsid, + (const TAny*) &KLangCode, + (const TAny*) &KLang, + (const TAny*) &KCountryCode, + (const TAny*) &KCountry, + (const TAny*) &KLastUpdated, + (const TAny*) &KDescription, + (const TAny*) &KImgURL, + (const TAny*) &KAdvUrl, + (const TAny*) &KAdvUse, + (const TAny*) &KGenreId, + (const TAny*) &KURL, + (const TAny*) &KMusicStoreEnabled, + (const TAny*) &KBitrate, + (const TAny*) &KIRId, + (const TAny*) &KVersion, + (const TAny*) &KUpdateInterval, + (const TAny*) &KUpdateMethod, + (const TAny*) &KInUse, + (const TAny*) &KUsageVisibleTimes, + (const TAny*) &KVisibleTime + }; + +//! Pointer to a StringTable +const static TStringTable IRPoolTable = + { + KNoOfElementInTable, + &IRXMLPoolContent[0], + EFalse + }; + + +// --------------------------------------------------------------------------- +// Creates an initialised string pool with no pre-loaded string tables. +// --------------------------------------------------------------------------- +// +void TIRXMLElementFormat::OpenStringPoolL(RStringPool& aStringPool) + { + IRLOG_DEBUG( "CIRXMLContentHandler::OpenStringPoolL" ); + aStringPool.OpenL(IRPoolTable); + IRLOG_DEBUG( "CIRXMLContentHandler::OpenStringPoolL - Exiting." ); + } + + +// --------------------------------------------------------------------------- +// TIRXMLElementFormat :: GetElementIdL +// The ElementId of the element from the StringPool +// --------------------------------------------------------------------------- +// +TIRXMLElement TIRXMLElementFormat::GetElementIdL(const TDesC8& aElement, + const RStringPool& aStringPool) + { + IRLOG_DEBUG( "TIRXMLElementFormat::GetElementIdL" ); + TBool validElement = EFalse; + TInt tableEntries; + TInt pos(0); + tableEntries = IRPoolTable.iCount; + while(pos < tableEntries && validElement == EFalse) + { + RStringF tableEntry; + tableEntry = aStringPool.StringF(pos,IRPoolTable); + HBufC8* ElementName = HBufC8::NewLC(tableEntry.DesC().Length()); + ElementName->Des().Copy(tableEntry.DesC()); + TLex8 string(*ElementName); + TPtrC8 token = string.NextToken(); + TInt CompareResult = aElement.Compare(token); + if(CompareResult == 0) + { + validElement = ETrue; + } + if(validElement == EFalse) + { + pos++; + } + tableEntry.Close(); + CleanupStack::PopAndDestroy(ElementName); + } + if(validElement) + { + IRLOG_DEBUG( "CIRXMLContentHandler::GetElementIdL - Exiting (1)." ); + return static_cast(pos); + } + IRLOG_DEBUG( "CIRXMLContentHandler::GetElementIdL - Exiting (2)." ); + return(EElementIDUnknown); + } + +// --------------------------------------------------------------------------- +// TIRXMLElementFormat::CloseStringPoolL +// Closes the StringPool +// --------------------------------------------------------------------------- +// +void TIRXMLElementFormat::CloseStringPoolL(RStringPool& aStringPool) + { + IRLOG_DEBUG( "TIRXMLElementFormat::CloseStringPoolL" ); + aStringPool.Close(); + IRLOG_DEBUG( "TIRXMLElementFormat::CloseStringPoolL - Exiting." ); + return; + } + +