--- a/internetradio2.0/xmlparsersrc/irxmlcontenthandler.cpp Tue Jul 06 14:07:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1025 +0,0 @@
-/*
-* 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 <f32file.h>
-#include <parser.h>
-#include <utf.h>
-
-#include "iradvertisement.h"
-#include "irbrowsecatagoryitems.h"
-#include "irbrowsechannelitems.h"
-#include "ircachemgmt.h"
-#include "irdebug.h"
-#include "irisdspreset.h"
-#include "irparserobserver.h"
-#include "irotaupdate.h"
-#include "irxmlcontenthandler.h"
-#include "irxmlelements.h"
-
-const TInt KLargeArraySize = 256;
-const TUint8 KAttributeBufferSize = 100;
-const TUint8 KBitRateCounterValue0 = 0;
-const TUint8 KBitRateCounterValue1 = 1;
-const TUint8 KBitRateCounterValue2 = 2;
-const TUint8 KCategoriesItemSelect = 0;
-const TUint8 KChannelItemSelect = 1;
-const TUint8 KPresetItemSelect = 2;
-const TUint8 KOTAUpdateItemSelect = 3;
-const TUint8 KIRIDSelect = 4;
-const TUint8 KTen = 10;
-
-// ---------------------------------------------------------------------------
-// Gets the Filepath of the XML file
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CIRXMLContentHandler::ParseXmlL(const TDesC& aFilePath,
- const TDesC& aCachePath,
- const CIRHttpResponseData& aResponseHeaders)
- {
- IRLOG_DEBUG( "CIRXMLContentHandler::ParseXmlL" );
- iFileToCache.Zero();
- iFileToCache.Copy(aCachePath);
-
- RFs fs;
- CleanupClosePushL(fs);
- User::LeaveIfError(fs.Connect());
- Xml::ParseL(*iParser,fs,aFilePath);
- CleanupStack::PopAndDestroy(&fs);
-
-
- //! Error in the Document
- if(iEOD != KErrNone )
- {
- ResetValues();
- iParseObserver.ParseError( iEOD );
- }
- else
- {
- if(iCategories)
- {
- TRAP_IGNORE(iCache->CacheCategoryItemsL(*iPtrCategory,
- iFileToCache ,aResponseHeaders))
- ResetValues();
- iParseObserver.ParsedStructureL(KCategoriesItemSelect);
- }
-
- if(iChan)
- {
- if(iFileToCache.Length()!=0)
- {
- TRAP_IGNORE(iCache->CacheChannelItemsL(*iPtrChannel,
- iFileToCache ,aResponseHeaders))
- }
- ResetValues();
- iParseObserver.ParsedStructureL(KChannelItemSelect);
- }
-
- if(iPresets)
- {
- if( 0 < iPtrPreset->Count() )
- {
- TRAP_IGNORE(iCache->CachePresetItemL(*iPtrPreset,
- iFileToCache,aResponseHeaders))
- ResetValues();
- iParseObserver.ParsedStructureL(KPresetItemSelect);
- }
- }
- if(iOTAUpdate)
- {
- TRAP_IGNORE(iCache->CacheOtaInfoL(*iOTA,
- iFileToCache,aResponseHeaders))
- ResetValues();
- iParseObserver.ParsedStructureL(KOTAUpdateItemSelect);
- }
- if(iIRID)
- {
- ResetValues();
- iParseObserver.ParsedStructureL(KIRIDSelect);
- }
- if( iTimeStamp )
- {
- //session log response is obtained
- ResetValues();
- iParseObserver.ParsedStructureL(KSessionLogResponse);
- }
- }
- IRLOG_DEBUG( "CIRXMLContentHandler::ParseXmlL - Exiting." );
- }
-
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler ::NewL
-// Constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CIRXMLContentHandler* CIRXMLContentHandler ::NewL(MIRParserObserver
- &aObserver,MIRCacheObserver &aCacheObserver)
- {
- IRLOG_DEBUG( "CIRXMLContentHandler::NewL" );
- CIRXMLContentHandler* self = new (ELeave) CIRXMLContentHandler(aObserver,
- aCacheObserver);
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
- IRLOG_DEBUG( "CIRXMLContentHandler::NewL - Exiting." );
- return(self);
- }
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler ::CIRXMLContentHandler
-// Default Constructor
-// ---------------------------------------------------------------------------
-//
-CIRXMLContentHandler ::CIRXMLContentHandler(MIRParserObserver &aObserver,
- MIRCacheObserver &aCacheObserver):iParseObserver(aObserver),
- iCacheObserver(aCacheObserver)
- {
- IRLOG_DEBUG( "CIRXMLContentHandler::CIRXMLContentHandler" );
- }
-
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler ::ConstructL
-// Two-Phase Constructor
-// ---------------------------------------------------------------------------
-//
-void CIRXMLContentHandler ::ConstructL()
- {
- IRLOG_DEBUG( "CIRXMLContentHandler::ConstructL" );
- ResetValues();
- TIRXMLElementFormat::OpenStringPoolL(iStringPool);
-
- iPtrCategory = new (ELeave) CArrayPtrFlat<CIRBrowseCatagoryItems>(
- KLargeArraySize);
- iPtrChannel = new (ELeave) CArrayPtrFlat<CIRBrowseChannelItems>(
- KLargeArraySize);
- iPtrPreset = new (ELeave) CArrayPtrFlat<CIRIsdsPreset>(KLargeArraySize);
-
- iParser = CParser::NewL(KFile,*this);
- iCache = CIRCacheMgmt::OpenL(iCacheObserver);
-
- iBufGetOperation = HBufC::NewL(0);
- iSize = HBufC::NewL(0);
- IRLOG_DEBUG( "CIRXMLContentHandler::ConstructL - Exiting." );
- }
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler::~CIRXMLContentHandler()
-// Destructing the object
-// ---------------------------------------------------------------------------
-//
-CIRXMLContentHandler::~CIRXMLContentHandler()
- {
- IRLOG_DEBUG( "CIRXMLContentHandler::~CIRXMLContentHandler." );
- TRAP_IGNORE(TIRXMLElementFormat::CloseStringPoolL(iStringPool))
- delete iParser;
- if(iUrlContentForAds)
- {
- delete iUrlContentForAds;
- iUrlContentForAds = NULL;
- }
- if(iPtrPreset)
- {
- iPtrPreset->ResetAndDestroy();
- }
- delete iPtrPreset;
- if(iPtrCategory)
- {
- iPtrCategory->ResetAndDestroy();
- }
- delete iPtrCategory;
- if(iPtrChannel)
- {
- iPtrChannel->ResetAndDestroy();
- }
- delete iPtrChannel;
-
- delete iOTA;
- delete iAdv;
-
- if (iCache)
- {
- iCache->Close();
- }
-
- delete iPreset;
- delete iCategory;
- delete iChannel;
- delete iBufGetOperation;
- delete iSize;
-
- IRLOG_DEBUG( "CIRXMLContentHandler::~CIRXMLContentHandler - Exiting." );
- }
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler::ResetValues
-// Reseting the Values
-// ---------------------------------------------------------------------------
-//
-
-void CIRXMLContentHandler::ResetValues()
- {
- IRLOG_DEBUG( "CIRXMLContentHandler::ResetValues" );
- iFlag = 1;
- iPresets = EFalse;
- iCategories=EFalse;
- iCat=EFalse;
- iChannels=EFalse;
- iChan=EFalse;
- iAdvertisement=EFalse;
- iOTAUpdate=EFalse;
- iIRID = EFalse;
- iTimeStamp = EFalse;
- iChannel = NULL;
- iCategory = NULL;
- iAdvts = EFalse;
- iAdvertisementTagFlag = EFalse;
- IRLOG_DEBUG( "CIRXMLContentHandler::ResetValues - Exiting." );
- }
-
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler:: OnStartDocumentL
-// This method is a callback to indicate the start of the document
-// ---------------------------------------------------------------------------
-//
-void CIRXMLContentHandler:: OnStartDocumentL(const Xml::RDocumentParameters&
- /*aDocParam*/ , TInt /*aErrorCode*/ )
- {
- IRLOG_DEBUG( "CIRXMLContentHandler::OnStartDocumentL" );
- iEOD = KErrNone;
- }
-
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler::OnEndDocumentL
-// This method is a callback to indicate the end of the document
-// ---------------------------------------------------------------------------
-//
-void CIRXMLContentHandler::OnEndDocumentL(TInt /*aErrorCode*/)
- {
- //No Implementation
- IRLOG_DEBUG( "CIRXMLContentHandler::OnEndDocumentL" );
- return;
- }
-
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler::OnStartElementL
-// This method is a callback to indicate an element has been parsed.
-// ---------------------------------------------------------------------------
-//
-void CIRXMLContentHandler::OnStartElementL(const Xml::RTagInfo &aElement,
- const Xml::RAttributeArray &aAttributes, TInt /*aErrorCode*/)
- {
- IRLOG_DEBUG( "CIRXMLContentHandler::OnStartElementL" );
- //Compare the element name to identify the type - //TO DO String Pool
- TInt genre = (aElement.LocalName().DesC()).Compare(KGenre);
- TInt lang = (aElement.LocalName().DesC()).Compare(KLanguage);
- TInt country = (aElement.LocalName().DesC()).Compare(KCountry);
- TInt channel = (aElement.LocalName().DesC()).Compare(KChannel);
- TInt preset = (aElement.LocalName().DesC()).Compare(KPreset);
- TInt advertisements = (aElement.LocalName().DesC()).Compare(KAdvertisements);
- TInt ad = (aElement.LocalName().DesC()).Compare(KAd);
-
- TInt genres = (aElement.LocalName().DesC()).Compare(KCatGenre);
- TInt countries = (aElement.LocalName().DesC()).Compare(KCatCountry);
- TInt languages = (aElement.LocalName().DesC()).Compare(KCatLang);
- TInt channels = (aElement.LocalName().DesC()).Compare(KChannels);
- TInt presets = (aElement.LocalName().DesC()).Compare(KPresets);
-
- TInt IRID = (aElement.LocalName().DesC()).Compare(KIRID);
- TInt timestamp = (aElement.LocalName().DesC()).Compare(KTimeStamp);
- TInt irappversion = (aElement.LocalName().DesC()).Compare(KIRVersion);
- TInt adv = (aElement.LocalName().DesC()).Compare(KAdv);
- TInt banner = (aElement.LocalName().DesC()).Compare(KBanner);
-
-
- if(iUrlContentForAds)
- {
- delete(iUrlContentForAds);
- iUrlContentForAds = NULL;
- }
-
- TInt bufSize(KTen);
- iUrlContentForAds = HBufC::NewL( bufSize );//this is because, the OnContentL method gives chunck by chunck
-
- if(ad == 0)
- {
- //We want to take the first Ad only so if an Ad has already been created
- //iChannel and iCategory will not be NULL hence the new Ad should not be added
- if( !iChannel && !iCategory )
- {
- iChannel = CIRBrowseChannelItems::NewL();
- iCategory = CIRBrowseCatagoryItems::NewL();
-
- }
- }
- if(advertisements == 0 )
- {
- iAdvertisementTagFlag = ETrue;
- }
- if(iAdvertisementTagFlag && banner == 0)
- {
- iAdvts = ETrue;
- }
- // Creates the instance of the class Browse by Genre/Language/Country
- if(iFlag)
- {
- if(genre == 0 || lang == 0 || country == 0)
- {
- //If there are ads then destroy the list and put the ads
- //as ads will the first in the xml
- if((iAdvts) && (iCategory))
- {
- iPtrCategory->ResetAndDestroy();
- iPtrCategory->AppendL(iCategory);
- iCategory = NULL;
- delete iChannel;
- iChannel = NULL;
- iAdvts = EFalse;
- }
- iCategory = CIRBrowseCatagoryItems::NewL();
- iCat = ETrue;
- }
- }
- if(iFlag)
- {
- // In case of browse by genres, country and lanaguages
- if(genres == 0 || countries == 0 || languages == 0)
- {
- if(iAdvts == EFalse)
- {
- iPtrCategory->ResetAndDestroy();
- }
- if(genres == 0)
- {
- iFileToCache.Zero();
- iFileToCache.Copy(KCatGenre);
- }
- if(countries == 0)
- {
- iFileToCache.Zero();
- iFileToCache.Copy(KCatCountry);
- }
- if(languages == 0)
- {
- iFileToCache.Zero();
- iFileToCache.Copy(KCatLang);
- }
-
- iCategories = ETrue;
- }
- }
- // Creates the instance of the class Channel
- if(channel == 0)
- {
- //If there are ads then destroy the list and put the ads
- //as ads will the first in the xml
- if((iAdvts) && (iChannel))
- { iPtrChannel->AppendL(iChannel);
- iChannel = NULL;
- delete iCategory;
- iCategory = NULL;
- iAdvts = EFalse;
- }
- iChannel = CIRBrowseChannelItems::NewL();
- iChannels = ETrue;
- iBitrateCounter = 0;
- }
- if(channels == 0 )
- {
- iPtrChannel->ResetAndDestroy();
- iChan = ETrue;
- iChannelFlag = 0;
- }
- // Creates the instance of the class for Preset Data
- if(preset == 0)
- {
- iPreset = CIRIsdsPreset::NewL();
- iPresets = ETrue;
- }
- if(presets == 0)
- {
- iPtrPreset->ResetAndDestroy();
- iFlag = 0;
- }
- if(IRID == 0)
- {
- iIRID = ETrue;
- }
- if(timestamp == 0)
- {
- //time stamp is obtained when session log is obtained in isds
- iTimeStamp = ETrue;
- }
- if(irappversion == 0)
- {
- iOTA = CIROTAUpdate::NewL();
- iOTAUpdate = ETrue;
- }
- if(adv == 0)
- {
- iAdv = CIRAdvertisement::NewL();
- iAdvertisement = ETrue;
- }
- TBuf<KAttributeBufferSize> BufParam1;
- TBuf<KAttributeBufferSize> BufParam2;
-
- // Parses the attributes and the value of the element
- TInt nAttributes = aAttributes.Count();
- for (TInt indexofattribute = 0; indexofattribute < nAttributes;
- ++indexofattribute )
- {
- const RAttribute& attribute = aAttributes[indexofattribute];
- const RTagInfo& nameInfo = attribute.Attribute();
-
- //!Gets the elementId from the Pool for the specified attributename
- TIRXMLElement ATTelementId = TIRXMLElementFormat::GetElementIdL(
- (nameInfo.LocalName().DesC()),iStringPool);
-
- HBufC* converted = CnvUtfConverter::ConvertToUnicodeFromUtf8L( attribute.Value().DesC() );
- CleanupStack::PushL(converted);
-
- switch(ATTelementId)
- {
- case EGetOperation:
- {
- delete iBufGetOperation;
- iBufGetOperation = NULL;
- iBufGetOperation = converted->Des().AllocL();
- }
- break;
-
- case EName:
- {
- //if name is parsed
- if(iCat)
- {
- //if category
- iCategory->SetGetOperation(*iBufGetOperation);
- BufParam1.Copy(*converted);
- }
- if(iChannels)
- {
- //if channel
- iChannel->SetGetOperationL(*iBufGetOperation);
- iChannel->SetSize(*iSize);
- BufParam1.Copy(*converted);
- }
- if(iPresets)
- {
- if((aElement.LocalName().DesC()) == KPreset)
- {
- //for preset
- iPreset->SetName(*converted);
- }
- BufParam1.Copy(*converted);
- }
- }
- break;
-
- case EID:
- {
- //getting id
- if(iCat)
- {
- //for category
- iCategory->SetTextL(BufParam1,*converted);
- }
-
- if(iChannels)
- {
- //for channel
- BufParam2.Copy(*converted);
- }
- if(iPresets)
- {
- //for preset
- iPreset->SetGenreInfo(*converted,BufParam1);
- }
- if(iIRID)
- {
- //ir id
- iRID.Copy(*converted);
- }
- }
- break;
-
- case ESize:
- {
- delete iSize;
- iSize = NULL;
- iSize = converted->Des().AllocL();
- if(iCat)
- {
- iCategory->SetSize(*iSize);
- }
- }
- break;
-
- case EShortDesC:
- {
- //getting short description
- if(iChannels)
- {
- iChannel->SetTextL(BufParam1,BufParam2,*converted);
- }
- if(iPresets)
- {
- iPreset->SetShortDesc(*converted);
- }
- }
- break;
-
- case EBitrateValue:
- {
- //parsing bit rate
- if(iChannels)
- {
- if(iBitrateCounter == KBitRateCounterValue0)
- {
- iChannel->SetBitrate(*converted);
- BufParam1.Copy(*converted);
- }
-
- if(iBitrateCounter == KBitRateCounterValue1)
- {
- iChannel->SetBitrate(BufParam1,*converted);
- BufParam2.Copy(*converted);
- }
-
- if(iBitrateCounter == KBitRateCounterValue2)
- {
- iChannel->SetBitrate(BufParam1,BufParam2,*converted);
- }
-
- iBitrateCounter++;
- }
- }
- break;
-
- case ESdsID:
- {
- if(iPresets)
- {
- iPreset->SetId(*converted);
- }
- }
- break;
-
- case ELangCode:
- {
- //language code
- if(iPresets)
- {
- iPreset->SetLangCode(*converted);
- }
- }
- break;
-
- case ELang:
- {
- //language
- if(iPresets)
- {
- iPreset->SetLang(*converted);
- }
- }
- break;
-
- case ECountryCode:
- {
- //country code
- if(iPresets)
- {
- iPreset->SetCountryCode(*converted);
- }
- }
- break;
-
- case ECountry:
- {
- //country
- if(iPresets)
- {
- iPreset->SetCountryName(*converted);
- }
- }
- break;
-
- case ELastUpdated:
- {
- //last modified time
- if(iPresets)
- {
- iPreset->SetLastModifiedTime(*converted);
- }
- }
- break;
-
- case EDesc:
- {
- //description
- if(iPresets)
- {
- iPreset->SetDescription(*converted);
- }
- }
- break;
-
- case EImgURL:
- {
- //image url
- if(iChannels)
- {
- iChannel->SetImageUrl(*converted);
- }
- if(iPresets)
- {
- iPreset->SetImgUrl(*converted);
- }
- }
- break;
-
- case EAdvImgURL:
- {
- //advertisement url
- if(iPresets)
- {
- iPreset->SetAdvertisementUrl(*converted);
- }
- }
- break;
-
- case EAdvInUse:
- {
- //advertisement in use
- if(iPresets)
- {
- iPreset->SetAdvertisementInUse(*converted);
- }
- }
- break;
-
- case EGenreID:
- {
- //genre id
- if(iPresets)
- {
- iPreset->SetGenreInfo(BufParam1,*converted);
- }
- }
- break;
-
- case EURL:
- {
- //url
- if(iPresets)
- {
- BufParam2.Copy(*converted);
- }
- if(iAdvertisement)
- {
- iAdv->SetURL(*converted);
- }
- }
- break;
-
- case EMusicStoreEnabled:
- {
- if(iPresets)
- {
- iPreset->SetMusicStoreStatus(*converted);
- }
- }
- break;
-
- case EBitrate:
- {
- //set url
- if(iPresets)
- {
- iPreset->SetUrlL(BufParam1,BufParam2,*converted);
- }
- }
- break;
-
- case EIRID:
- {
- //irid
- }
- break;
-
- case EVersion:
- {
- //for ota update
- if(iOTAUpdate)
- {
- iOTA->SetVersion(*converted);
- }
- }
- break;
-
- case EUpdateInterval:
- {
- //update interval
- if(iOTAUpdate)
- {
- iOTA->SetUpdateInterval(*converted);
- }
- }
- break;
-
- case EUpdateMethod:
- {
- //update method
- if(iOTAUpdate)
- {
- iOTA->SetUpdateMethod(*converted);
- }
- }
- break;
-
- case EInUse:
- {
- //advertisement in use
- if(iAdvertisement)
- {
- iAdv->SetAdvInUse(*converted);
- }
- }
- break;
-
- case EUsageVisibleTimes:
- {
- if(iAdvertisement)
- {
- iAdv->SetUsage(*converted);
- }
- }
- break;
-
- case EVisibleTime:
- {
- //advertisement visible time
- if(iAdvertisement)
- {
- iAdv->SetVisibleTime(*converted);
- }
- }
- break;
-
- case EElementIDUnknown:
- {
- //unknown
- }
- break;
-
- default:
- {
- break;
- }
- }//End of Switch
- CleanupStack::PopAndDestroy(converted);
- } //End of for
- IRLOG_DEBUG( "CIRXMLContentHandler::OnStartElementL - Exiting." );
- }
-
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler::OnEndElementL
-// This method is a callback to indicate the end of the element has been reached.
-// ---------------------------------------------------------------------------
-//
-void CIRXMLContentHandler::OnEndElementL(const RTagInfo &aElement, TInt /*aErrorCode*/)
- {
- IRLOG_DEBUG( "CIRXMLContentHandler::OnEndElementL" );
- if((aElement.LocalName().DesC()) == KPreset)
- {
- if ( iPreset->GetUrlCount() > 0 )
- {
- // The ownership is transferred to the array.
- iPtrPreset->AppendL(iPreset);
- }
- else
- {
- // If there is not a single URL, we don't let it in.
- iEOD = KErrCorrupt;
- delete iPreset;
- }
- // Ownership transferred. Remove the pointer.
- iPreset = NULL;
- }
- if((aElement.LocalName().DesC()) == KBanner)
- {
- //get the content for the tag "banner"
- //assign it to "iBanner" of CIRBrowseChannelItems
- if(iUrlContentForAds)
- {
- iChannel->SetBannerUrl(*iUrlContentForAds);
- iCategory->SetBannerUrl(*iUrlContentForAds);
- }
- }
- if((aElement.LocalName().DesC()) == KClickthroughUrl)
- {
- //get the content for the tag "clickthrough-url"
- //assign it to "iClickThroughUrl" of CIRBrowseChannelItems
- if(iUrlContentForAds)
- {
- iChannel->SetClickThroughUrl(*iUrlContentForAds);
- iCategory->SetClickThroughUrl(*iUrlContentForAds);
- }
- }
-
- if(iUrlContentForAds)
- {
- delete iUrlContentForAds;
- iUrlContentForAds = NULL;
-
- }
- if(iFlag)
- {
- if((aElement.LocalName().DesC()) == KGenre ||
- (aElement.LocalName().DesC()) == KLanguage ||
- (aElement.LocalName().DesC()) == KCountry)
- {
- iPtrCategory->AppendL(iCategory);
- iCategory = NULL;
- iCat = EFalse;
- }
- }
-
- if((aElement.LocalName().DesC()) == KChannel)
- {
- iPtrChannel->AppendL(iChannel);
- iChannel = NULL;
- iChannels = EFalse;
- }
- //appends the created channel(ad) to the array
- /*
- if((aElement.LocalName().DesC()) == KAd)
- {
- iPtrChannel->AppendL(iChannel);
- iChannel = NULL;
-
- } */
-
- if((aElement.LocalName().DesC()) == KServers)
- {
- if (iPreset)
- {
- iPreset->SetUrlCount();
- }
- }
- IRLOG_DEBUG( "CIRXMLContentHandler::OnEndElementL - Exiting." );
- }
-
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler ::OnContentL
-// This method is a callback that sends the content of the element.The data
-// may be sent in chunks
-// ---------------------------------------------------------------------------
-//
-void CIRXMLContentHandler ::OnContentL(const TDesC8 &aBytes, TInt
- aErrorCode)
- {
- IRLOG_DEBUG( "CIRXMLContentHandler::OnContentL" );
-
- if ( KErrNone == aErrorCode )
- {
-
-
- HBufC* buffertmp = HBufC::NewLC( aBytes.Length() + 1 );
- TPtr buffertmpPtr( buffertmp->Des() );
- buffertmpPtr.Copy( aBytes );
-
-
- TInt tempSize;
- if(iUrlContentForAds)
- {
- tempSize = iUrlContentForAds->Length() + aBytes.Length();
- iUrlContentForAds = iUrlContentForAds->ReAllocL( tempSize );
- TPtr bufferPtr( iUrlContentForAds->Des() );
- bufferPtr.Append(buffertmpPtr);
- }
-
- CleanupStack::PopAndDestroy(buffertmp); // buffertmp
- }
-
- if ( iOTAUpdate )
- {
- HBufC* converted = CnvUtfConverter::ConvertToUnicodeFromUtf8L( aBytes );
- CleanupStack::PushL( converted );
- converted->Des().TrimAll();
- if ( converted->Des().Length() )
- {
- iOTA->SetOTAUrl( *converted );
- }
- CleanupStack::PopAndDestroy( converted );
- }
-
- IRLOG_DEBUG( "CIRXMLContentHandler::OnContentL - Exiting." );
- }
-
-
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler::OnStartPrefixMappingL
-// This method is a notification of the beginning of the scope of a
-// prefix-URI Namespace mapping.
-// ---------------------------------------------------------------------------
-//
-void CIRXMLContentHandler::OnStartPrefixMappingL(const RString& /*aPrefix*/,
- const RString& /*aUri*/, TInt /*aErrorCode*/)
- {
- //No Implementaion
- IRLOG_DEBUG( "CIRXMLContentHandler::OnStartPrefixMappingL" );
- }
-
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler :: OnEndPrefixMappingL
-// This method is a notification of the end of the scope of a prefix-URI mapping
-// ---------------------------------------------------------------------------
-//
-void CIRXMLContentHandler :: OnEndPrefixMappingL(const RString& /*aPrefix*/,
- TInt /*aErrorCode*/)
- {
- //No Implementaion
- IRLOG_DEBUG( "CIRXMLContentHandler::OnEndPrefixMappingL" );
- }
-
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler :: OnIgnorableWhiteSpaceL
-// This method is a notification of ignorable whitespace in element content.
-// ---------------------------------------------------------------------------
-//
-void CIRXMLContentHandler :: OnIgnorableWhiteSpaceL(const TDesC8& /*aBytes*/,
- TInt /*aErrorCode*/)
- {
- //No Implementaion
- IRLOG_DEBUG( "CIRXMLContentHandler::OnIgnorableWhiteSpaceL" );
- }
-
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler :: OnSkippedEntityL
-// This method is a notification of a skipped entity
-// ---------------------------------------------------------------------------
-//
-void CIRXMLContentHandler :: OnSkippedEntityL(const RString& /*aName*/,
- TInt /*aErrorCode*/)
- {
- //No Implementaion
- IRLOG_DEBUG( "CIRXMLContentHandler::OnSkippedEntityL" );
- }
-
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler :: OnProcessingInstructionL
-// This method is a receive notification of a processing instruction.
-// ---------------------------------------------------------------------------
-//
-void CIRXMLContentHandler :: OnProcessingInstructionL(const TDesC8&
- /*aTarget*/, const TDesC8& /*aData*/, TInt /*aErrorCode*/)
- {
- //No Implementaion
- IRLOG_DEBUG( "CIRXMLContentHandler::OnProcessingInstructionL" );
- }
-
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler :: OnError
-// This method indicates an error has occurred.
-// ---------------------------------------------------------------------------
-//
-void CIRXMLContentHandler :: OnError(TInt aErrorCode )
- {
- iEOD = aErrorCode;
- IRLOG_ERROR2( "CIRXMLContentHandler::OnError (%d)", aErrorCode );
- }
-
-
-// ---------------------------------------------------------------------------
-// CIRXMLContentHandler :: GetExtendedInterface
-// This method obtains the interface matching the specified uid.
-// ---------------------------------------------------------------------------
-//
-TAny* CIRXMLContentHandler :: GetExtendedInterface(const TInt32 /*aUid*/)
- {
- //No Implementation
- IRLOG_DEBUG( "CIRXMLContentHandler::GetExtendedInterface" );
- return NULL;
- }
-
-
-
-GLDEF_C TInt E32Dll()
-// DLL entry point
- {
- return(KErrNone);
- }
-
-