--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/internetradio2.0/irxmlparser/src/irxmlelements.cpp Wed Aug 18 09:40:26 2010 +0300
@@ -0,0 +1,176 @@
+/*
+* Copyright (c) 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: The implementation for presentation elements.
+*
+*/
+
+
+#include <stringpool.h>
+
+#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<TIRXMLElement>( 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;
+ }
+
+