diff -r 000000000000 -r ba25891c3a9e ncdengine/provider/protocol/src/ncdunknownparser.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ncdengine/provider/protocol/src/ncdunknownparser.cpp Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,93 @@ +/* +* Copyright (c) 2006 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: CNcdUnknownParser implementation +* +*/ + + +#include +#include "ncdunknownparser.h" +#include "catalogsdebug.h" + +CNcdUnknownParser* CNcdUnknownParser::NewL( MNcdParserObserverBundle& aObservers, + MNcdSubParserObserver& aSubParserObserver, + TInt aDepth, + const Xml::RTagInfo& aElement, + const Xml::RAttributeArray& aAttributes ) + { + DLTRACE(("depth=%d, tag=%S",aDepth,&aElement.LocalName().DesC())); + CNcdUnknownParser* self = new(ELeave) CNcdUnknownParser( aObservers, + aSubParserObserver, + aDepth ); + CleanupStack::PushL( self ); + self->ConstructL( aElement, aAttributes ); + CleanupStack::Pop( self ); + return self; + } + +CNcdUnknownParser::CNcdUnknownParser( MNcdParserObserverBundle& aObservers, + MNcdSubParserObserver& aSubParserObserver, + TInt aDepth ) + : CNcdSubParser( aObservers, aSubParserObserver, aDepth, EParserUnknown ), + iInitialDepth( aDepth ) + { + DLTRACEIN(("")); + DLINFO(("initial depth=%d",iInitialDepth)); + } + +CNcdUnknownParser::~CNcdUnknownParser() + { + DLTRACEIN(("")); + } + +void CNcdUnknownParser::ConstructL( + const Xml::RTagInfo& aElement, + const Xml::RAttributeArray& /*aAttributes*/ ) + { + CNcdSubParser::ConstructL( aElement ); + } + + +void CNcdUnknownParser::OnStartElementL( const Xml::RTagInfo& aElement, + const Xml::RAttributeArray& aAttributes, + TInt aErrorCode) + { + CNcdSubParser::OnStartElementL( aElement, aAttributes, aErrorCode ); + DLTRACEIN(("unknown start tag=%S depth=%d error=%d",&aElement.LocalName().DesC(),iDepth,aErrorCode)); + + iDepth++; + // Ignore everything + } + +void CNcdUnknownParser::OnEndElementL(const Xml::RTagInfo& aElement, TInt aErrorCode) + { + DLTRACEIN(("unknown end tag=%S depth=%d error=%d",&aElement.LocalName().DesC(),iDepth,aErrorCode)); + // Ignore everything + if( iDepth == iInitialDepth && aElement.LocalName().DesC() == Tag() ) + { + DLINFO(("unknown section ended, tag=%S",iTag)); + iSubParserObserver->SubParserFinishedL( aElement.LocalName().DesC(), aErrorCode ); + } + else + { + iDepth--; + } + } + +void CNcdUnknownParser::OnContentL(const TDesC8& /*aBytes*/, TInt /*aErrorCode*/) + { + // Ignore. + DLTRACEIN(("")); + } +