diff -r 0d1adf67ec1b -r 12f60d9a73b3 csxhelp/HelpEngine/src/CSXHXMLParseHandler.cpp --- a/csxhelp/HelpEngine/src/CSXHXMLParseHandler.cpp Thu Aug 19 09:42:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,808 +0,0 @@ -/* -* 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: CCSXHXMLParseHandler class definition -* -*/ - -#include "CSXHXMLParseHandler.h" -#include "CSXHHtmlTOC2.h" -#include "CSXHKywdTopics.h" -#include "CSXHHelpDataBase.h" -#include "CSXHHtmlTOC1.h" -#include "csxhconstants.h" -#include "CSXHHTMLContentParser.h" - -#include -#include -#include -#include - - -CCSXHXMLParseHandler::CCSXHXMLParseHandler(CCoeEnv* aCoeEnv) - { - iCoeEnv = aCoeEnv; - } - -CCSXHXMLParseHandler::~CCSXHXMLParseHandler() - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - } -TInt CCSXHXMLParseHandler::StartDocument() - { - return KErrNone; - } - -TInt CCSXHXMLParseHandler::EndDocument() - { - return KErrNone; - } - -void CCSXHXMLParseHandler::SetDataBasePtr(CCSXHHelpDataBase* aDataBase) - { - iDataBase = aDataBase; - } - -TDesC& CCSXHXMLParseHandler::GetApplicationName() - { - return iApplicationName; - } - -TPtr CCSXHXMLParseHandler::GetFeatureIds() - { - return iFeatureIds->Des(); - } - -TBool CCSXHXMLParseHandler::SetAppNameFlag(const TDesC8& alocalName,const TDesC& aAppTag) - { - //R_TYPE_APPLICATION_TAG_NAME - TBool Result = EFalse; - TBuf AppName; - CnvUtfConverter::ConvertToUnicodeFromUtf8(AppName,alocalName); - if(AppName.Compare(aAppTag) == 0) - { - iApplicationName.Copy(KEmptyString); - Result = ETrue; - } - else - { - Result = EFalse; - } - return Result; - } - -//-------------- CCSXHXMLParseHandler_Kywd ------------------- - -void CCSXHXMLParseHandler_Kywd::SetHtmlContentParserPtr(CCSXHHTMLContentParser* aParser) - { - iParser = aParser; - } - -CCSXHXMLParseHandler_Kywd* CCSXHXMLParseHandler_Kywd::NewL(CCoeEnv* aCoeEnv) - { - CCSXHXMLParseHandler_Kywd* self = new (ELeave)CCSXHXMLParseHandler_Kywd(aCoeEnv); - return self; - } - -CCSXHXMLParseHandler_Kywd::CCSXHXMLParseHandler_Kywd(CCoeEnv* aCoeEnv) -:CCSXHXMLParseHandler(aCoeEnv) - { - iCurrentHtmlToc1 = NULL; - iIsTargetName = EFalse; - } - -TInt CCSXHXMLParseHandler_Kywd::StartElement (const TDesC8& /*iURI*/ , const TDesC8& -alocalName, const TDesC8& /*iqualname*/, const RAttributeArray& aAttributes) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - - TRAP_IGNORE(iFeatureIds = HBufC::NewL(2)); - TPtr FIdValue = iFeatureIds->Des(); - FIdValue.Copy(_L("-1")); - - if(iIsTOC2View) - { - CreateTOC2ObjectsforKeywordSearch(alocalName,aAttributes); - } - else - { - iIsAppName = SetAppNameFlag(alocalName,KSearchViewTOC1Tag); - - TInt nElements = aAttributes.Count(); - TBuf TagName; - RAttribute AttributeInfo; - RTagInfo TagInformation; - CnvUtfConverter::ConvertToUnicodeFromUtf8(TagName,alocalName); - - for(TInt i=0; i LocalName; - //Read from resource file - CnvUtfConverter::ConvertToUnicodeFromUtf8(LocalName,TagInformation.LocalName().DesC()); - if(LocalName.Compare(_L("FeatureID")) == 0 && TagName.Compare(_L("text")) == 0) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - TRAP_IGNORE(iFeatureIds = HBufC::NewL(AttributeInfo.Value().DesC().Length())); - TPtr FIdValue = iFeatureIds->Des(); - CnvUtfConverter::ConvertToUnicodeFromUtf8(FIdValue,AttributeInfo.Value().DesC()); - } - } - } - return KErrNone; - } - -TInt CCSXHXMLParseHandler_Kywd::EndElement ( const TDesC8& ,const TDesC8& ,const TDesC8& ) - { - TRAP_IGNORE(CreateAndInsertKywdL());//Result can be ignored - iIsTargetName = EFalse; - iIsAppName = EFalse; - return KErrNone; - } - -TInt CCSXHXMLParseHandler_Kywd::Characters (const TDesC8& aBuff, const TInt /*aStart*/, const TInt /*aLength*/) - { - TBuf TitleName; - if(iIsAppName) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(TitleName,aBuff); - iApplicationName.Append(TitleName); - } - else if(iIsTargetName) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(TitleName,aBuff); - iKeywordSearchTOC2TitleName.Append(TitleName); - } - return KErrNone; - } - -void CCSXHXMLParseHandler_Kywd::CreateTOC2ObjectsforKeywordSearch(const TDesC8& - alocalName, const RAttributeArray& aAttributes) - { - iIsAppName = SetAppNameFlag(alocalName,KSearchViewTOC1Tag); - - TInt nElements = aAttributes.Count(); - TBufTagValue; - RAttribute AttributeInfo; - RTagInfo TagInformation; - - TBuf AppName; - CnvUtfConverter::ConvertToUnicodeFromUtf8(AppName,alocalName); - if(AppName.Compare(KSearchViewTOC2Tag) == 0) - { - iKeywordSearchTOC2TitleName.Copy(KEmptyString); - iIsTargetName = ETrue; - } - else - { - iIsTargetName = EFalse; - } - - if(!iIsTOC2View) - return; - - for(TInt i=0; i LocalName; - //Read from resource file - CnvUtfConverter::ConvertToUnicodeFromUtf8(LocalName,TagInformation.LocalName().DesC()); - if(LocalName.Compare(KHtmlPageTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(iHTMLPageName, - AttributeInfo.Value().DesC()); - } - else if(LocalName.Compare(_L("FeatureID")) == 0) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - TRAP_IGNORE(iFeatureIds = HBufC::NewL(AttributeInfo.Value().DesC().Length())); - TPtr FIdValue = iFeatureIds->Des(); - CnvUtfConverter::ConvertToUnicodeFromUtf8(FIdValue,AttributeInfo.Value().DesC()); - - } - } - - } - -void CCSXHXMLParseHandler_Kywd::CreateAndInsertKywdL() - { - if(iParser->CheckFeatureIDL(iFeatureIds->Des())) - { - if(iIsAppName && !iIsTOC2View) - { - iDataBase->InsertKeywordL(iApplicationName,iCurrentHtmlToc1); - } - else if(iIsTargetName && iApplicationName.Compare(iTOC1Name)==0) - { - CCSXHHtmlTOC2* PXHTMLObject = - CCSXHHtmlTOC2::NewL(iCurrentHtmlToc1,iKeywordSearchTOC2TitleName,iHTMLPageName,ETrue); - PXHTMLObject->SetKywdParent(STATIC_CAST(CCSXHKywdTopics*,iDataBase->GetKywdTopics()) - ->GetSelectedTopic()); - STATIC_CAST(CCSXHHtmlTOC2*,PXHTMLObject)->SetHtmlFilePath(iFilePath); - iDataBase->InsertKeywordTopicL(/*iTOC1Name,*/PXHTMLObject); - } - } - } - -void CCSXHXMLParseHandler_Kywd::SetTOC1Title(const TDesC& aName) - { - iTOC1Name = aName; - } - -void CCSXHXMLParseHandler_Kywd::SetCurrentHtmlToc1(CCSXHHtmlTOC1* aCurrentHtmlToc1) - { - iCurrentHtmlToc1 = aCurrentHtmlToc1; - } - -void CCSXHXMLParseHandler_Kywd::SetIsTOC2(TBool aFlag) - { - iIsTOC2View = aFlag; - } - -void CCSXHXMLParseHandler_Kywd::SetPath(const TDesC& aFilePath) - { - iFilePath.Copy(KEmptyString); - iFilePath.Append(aFilePath); - } - -//-------------- CCSXHXMLParseHandler_MetaFile ------------------- - -CCSXHXMLParseHandler_MetaFile* CCSXHXMLParseHandler_MetaFile::NewL(CCoeEnv* aCoeEnv) - { - CCSXHXMLParseHandler_MetaFile* self = new (ELeave)CCSXHXMLParseHandler_MetaFile(aCoeEnv); - return self; - } - -CCSXHXMLParseHandler_MetaFile::CCSXHXMLParseHandler_MetaFile(CCoeEnv* aCoeEnv) -:CCSXHXMLParseHandler(aCoeEnv) - { - - } -TInt CCSXHXMLParseHandler_MetaFile::StartElement (const TDesC8& , const TDesC8& -alocalName, const TDesC8& , const RAttributeArray& aAttributes) - { - iIsAppName = SetAppNameFlag(alocalName,KAppNameTag); - - TInt nElements = aAttributes.Count(); - TBuf LocalTagName; - RAttribute AttributeInfo; - RTagInfo TagInformation; - - CnvUtfConverter::ConvertToUnicodeFromUtf8(LocalTagName,alocalName); - for(TInt i=0; iDes(); - CnvUtfConverter::ConvertToUnicodeFromUtf8(FIdValue,AttributeInfo.Value().DesC()); - } - - if(LocalTagName.Compare(KAppNameTag) == 0 && nElements == 0) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - TRAP_IGNORE(iFeatureIds = HBufC::NewL(2)); - TPtr FIdValue = iFeatureIds->Des(); - FIdValue.Copy(_L("-1")); - } - - if ( LocalTagName.Compare(KPriorityTag) == 0 && nElements == 0 ) - { - iIsPriority = ETrue; - iPriority.Copy(KEmptyString); - } - else - { - iIsPriority = EFalse; - } - - return KErrNone; - } - -TInt CCSXHXMLParseHandler_MetaFile::EndElement ( const TDesC8& ,const TDesC8& ,const TDesC8& ) - { - iIsAppName = EFalse; - iIsPriority = EFalse; - return KErrNone; - } - -TInt CCSXHXMLParseHandler_MetaFile::Characters (const TDesC8& aBuff, const TInt /*aStart*/, const TInt /*aLength*/) - { - if (iIsAppName) - { - TBuf TitleName; - CnvUtfConverter::ConvertToUnicodeFromUtf8(TitleName,aBuff); - iApplicationName.Append(TitleName); - } - - if (iIsPriority) - { - TBuf<8> Priority; - CnvUtfConverter::ConvertToUnicodeFromUtf8(Priority,aBuff); - iPriority.Append(Priority); - } - - return KErrNone; - } - -TInt32 CCSXHXMLParseHandler_MetaFile::Priority() - { - //The default priority is set to 0 - TInt priority = 0; - - if (iPriority.Length() != 0) - { - TLex lex( iPriority ); - lex.Val( priority ); - iPriority.Copy(KEmptyString); - } - - return priority; - } - - -//-------------- CCSXHXMLParseHandler_MasterMetaFile ------------------- -CCSXHXMLParseHandler_MasterMetaFile* CCSXHXMLParseHandler_MasterMetaFile::NewL(CCoeEnv* aCoeEnv) - { - CCSXHXMLParseHandler_MasterMetaFile* self = new (ELeave)CCSXHXMLParseHandler_MasterMetaFile(aCoeEnv); - return self; - } - -CCSXHXMLParseHandler_MasterMetaFile::CCSXHXMLParseHandler_MasterMetaFile(CCoeEnv* aCoeEnv) -:CCSXHXMLParseHandler(aCoeEnv) - { - - } - -TInt CCSXHXMLParseHandler_MasterMetaFile::StartElement (const TDesC8& , const TDesC8& -, const TDesC8& , const RAttributeArray& aAttributes) - { - TRAP_IGNORE(CreateTOC1ObjectsL(aAttributes)); - return KErrNone; - } - - - -void CCSXHXMLParseHandler_MasterMetaFile::CreateTOC1ObjectsL(const - RAttributeArray& aAttributes) - { - TInt nElements = aAttributes.Count(); - TBuf appUid; - TBuf appName; - TBuf<8> priorityBuf; - TInt32 appPriority; - RAttribute AttributeInfo; - RTagInfo TagInformation; - TLinearOrder anOrder(Orderer); - - for(TInt i=0; i LocalName; - //Read from resource file - CnvUtfConverter::ConvertToUnicodeFromUtf8(LocalName,TagInformation.LocalName().DesC()); - - if ( LocalName.Compare( KDriveInfo ) == 0 ) - { - TChar driveLetter(AttributeInfo.Value().DesC()[0]); - RFs::CharToDrive( driveLetter, iDrive ); - } - - if(LocalName.Compare(KMasterCollection_idTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(appUid,AttributeInfo.Value().DesC()); - } - - if (LocalName.Compare(KPriorityTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(priorityBuf,AttributeInfo.Value().DesC()); - TLex lex( priorityBuf ); - lex.Val( appPriority ); - } - - if(LocalName.Compare(KTOC2NameTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(appName,AttributeInfo.Value().DesC()); - if(2 == nElements) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - iFeatureIds = HBufC::NewL(2); - TPtr FIdValue = iFeatureIds->Des(); - FIdValue.Copy(_L("-1")); - } - - - iParser->InsertHTMLToc1L( appUid, appName, iDrive, iDataBase, iFeatureIds->Des(), appPriority ); - } - - if(LocalName.Compare(_L("FeatureID")) == 0) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - iFeatureIds = HBufC::NewL(AttributeInfo.Value().DesC().Length()); - TPtr FIdValue = iFeatureIds->Des(); - CnvUtfConverter::ConvertToUnicodeFromUtf8(FIdValue,AttributeInfo.Value().DesC()); - } - } - } - -void CCSXHXMLParseHandler_MasterMetaFile::SetHtmlContentParserPtr(CCSXHHTMLContentParser* aParser) - { - iParser = aParser; - } - - -//-------------- CCSXHXMLParseHandler_IndexFile ------------------- - -CCSXHXMLParseHandler_IndexFile* CCSXHXMLParseHandler_IndexFile::NewL(CCoeEnv* aCoeEnv) - { - CCSXHXMLParseHandler_IndexFile* self = new (ELeave)CCSXHXMLParseHandler_IndexFile(aCoeEnv); - return self; - } - -CCSXHXMLParseHandler_IndexFile::CCSXHXMLParseHandler_IndexFile(CCoeEnv* aCoeEnv) -:CCSXHXMLParseHandler(aCoeEnv) - { - - } - -TInt CCSXHXMLParseHandler_IndexFile::StartElement (const TDesC8& , const TDesC8& -, const TDesC8& , const RAttributeArray& aAttributes) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - TRAP_IGNORE(iFeatureIds = HBufC::NewL(2)); - TPtr FIdValue = iFeatureIds->Des(); - FIdValue.Copy(_L("-1")); - - TRAP_IGNORE(CreateTOC2ObjectsL(aAttributes)); - return KErrNone; - } - -void CCSXHXMLParseHandler_IndexFile::SetArray(RPointerArray* aHTMLlist) - { - iTOC2Array = aHTMLlist; - } - -void CCSXHXMLParseHandler_IndexFile::SetGenericTOC1Object(CCSXHGenericTOC1& aParent) - { - iParent = &aParent; - } - -void CCSXHXMLParseHandler_IndexFile::SetHtmlContentParserPtr(CCSXHHTMLContentParser* aParser) - { - iParser = aParser; - } - - -void CCSXHXMLParseHandler_IndexFile::CreateTOC2ObjectsL(const - RAttributeArray& aAttributes) - { - TInt nElements = aAttributes.Count(); - TBufTagValue; - RAttribute AttributeInfo; - RTagInfo TagInformation; - TLinearOrder anOrder(Orderer); - - for(TInt i=0; i LocalName; - //Read from resource file - CnvUtfConverter::ConvertToUnicodeFromUtf8(LocalName,TagInformation.LocalName().DesC()); - - if(LocalName.Compare(KTOC2NameTag) == 0) - { - if(iParser->CheckFeatureIDL(iFeatureIds->Des()) || 2 == nElements) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(TagValue,AttributeInfo.Value().DesC()); - - CCSXHGenericTOC2* PXHTMLObject = CCSXHHtmlTOC2::NewL(iParent, - TagValue,iHTMLPageName); - - STATIC_CAST(CCSXHHtmlTOC2*,PXHTMLObject)->SetHtmlFilePath(iFilePath); - - if (KErrNone != iTOC2Array->InsertInOrder(PXHTMLObject,anOrder)) - delete PXHTMLObject; - } - } - else if(LocalName.Compare(KHtmlPageTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(iHTMLPageName, - AttributeInfo.Value().DesC()); - } - else if(LocalName.Compare(KCompressedTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(iCompressString, - AttributeInfo.Value().DesC()); - } - else if(LocalName.Compare(_L("FeatureID")) == 0) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - iFeatureIds = HBufC::NewL(AttributeInfo.Value().DesC().Length()); - TPtr FIdValue = iFeatureIds->Des(); - CnvUtfConverter::ConvertToUnicodeFromUtf8(FIdValue,AttributeInfo.Value().DesC()); - } - } - } - -void CCSXHXMLParseHandler_IndexFile::SetPath(const TDesC& aFilePath) - { - iFilePath.Copy(KEmptyString); - iFilePath.Append(aFilePath); - } - -//-------------- CCSXHXMLParseHandler_MasterKeywordFile ------------------- - -CCSXHXMLParseHandler_MasterKywd* CCSXHXMLParseHandler_MasterKywd::NewL(CCoeEnv* aCoeEnv) - { - CCSXHXMLParseHandler_MasterKywd* self = new (ELeave)CCSXHXMLParseHandler_MasterKywd(aCoeEnv); - return self; - } - -CCSXHXMLParseHandler_MasterKywd::CCSXHXMLParseHandler_MasterKywd(CCoeEnv* aCoeEnv) -:CCSXHXMLParseHandler(aCoeEnv) - { - - } - -TInt CCSXHXMLParseHandler_MasterKywd::StartElement (const TDesC8& , const TDesC8& -, const TDesC8& , const RAttributeArray& aAttributes) - { - TRAP_IGNORE(CreateTOC1ObjectsL(aAttributes)); - return KErrNone; - } - -void CCSXHXMLParseHandler_MasterKywd::SetHtmlContentParserPtr(CCSXHHTMLContentParser* aParser) - { - iParser = aParser; - } - -void CCSXHXMLParseHandler_MasterKywd::SetCurrentHtmlToc1(CCSXHHtmlTOC1* aCurrentHtmlToc1) - { - iCurrentHtmlToc1 = aCurrentHtmlToc1; - } - -void CCSXHXMLParseHandler_MasterKywd::CreateTOC1ObjectsL(const - RAttributeArray& aAttributes) - { - TInt nElements = aAttributes.Count(); - TBuf appUid; - TBuf KeywordName; - RAttribute AttributeInfo; - RTagInfo TagInformation; - - TLinearOrder anOrder(Orderer); - - for(TInt i=0; i LocalName; - //Read from resource file - CnvUtfConverter::ConvertToUnicodeFromUtf8(LocalName,TagInformation.LocalName().DesC()); - - if(LocalName.Compare(KMasterSearchTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(KeywordName,AttributeInfo.Value().DesC()); - } - - if(LocalName.Compare(KMasterCollectionTag) == 0) - { - CnvUtfConverter::ConvertToUnicodeFromUtf8(appUid,AttributeInfo.Value().DesC()); - if(2 == nElements) - { - if(iParser->GetHTMLToc1(appUid,this)) - iDataBase->InsertKeywordL(KeywordName,iCurrentHtmlToc1); - } - } - - if(LocalName.Compare(_L("FeatureID")) == 0) - { - if(iFeatureIds) - { - delete iFeatureIds; - iFeatureIds = NULL; - } - - iFeatureIds = HBufC::NewL(AttributeInfo.Value().DesC().Length()); - TPtr FIdValue = iFeatureIds->Des(); - CnvUtfConverter::ConvertToUnicodeFromUtf8(FIdValue,AttributeInfo.Value().DesC()); - - if(iParser->CheckFeatureIDL(iFeatureIds->Des())) - { - if(iParser->GetHTMLToc1(appUid,this)) - iDataBase->InsertKeywordL(KeywordName,iCurrentHtmlToc1); - } - } - } - } - -//-------------- CCSXHXMLParseHandler_RedirectFile ------------------- - -CCSXHXMLParseHandler_RedirectFile* CCSXHXMLParseHandler_RedirectFile::NewL( CCoeEnv *aCoeEnv, - const TUid &aSourceUid, const TCoeContextName &aSourceContextName ) - { - CCSXHXMLParseHandler_RedirectFile* self = - new (ELeave)CCSXHXMLParseHandler_RedirectFile( aCoeEnv, aSourceUid, aSourceContextName ); - return self; - } - -CCSXHXMLParseHandler_RedirectFile::CCSXHXMLParseHandler_RedirectFile( CCoeEnv *aCoeEnv, - const TUid &aSourceUid, const TCoeContextName &aSourceContextName ) -:CCSXHXMLParseHandler( aCoeEnv ), iSourceContextName( aSourceContextName ), iTargetUid( aSourceUid ) - { - } -TInt CCSXHXMLParseHandler_RedirectFile::StartElement (const TDesC8& , - const TDesC8 &alocalName, const TDesC8& , const RAttributeArray &aAttributes) - { - if ( !iIsTargetPathFound ) - { - TBuf LocalTagName; - - CnvUtfConverter::ConvertToUnicodeFromUtf8(LocalTagName,alocalName); - - if ( LocalTagName.Compare(KFromTag) == 0 ) - { - iIsFromTag = ETrue; - iIsToTag = EFalse; - } - else if (LocalTagName.Compare(KToTag) == 0 ) - { - iIsToTag = ETrue; - iIsFromTag = EFalse; - } - else - { - iIsFromTag = EFalse; - iIsToTag = EFalse; - } - iFromContent.Copy(KEmptyString); - } - - return KErrNone; - } - -TInt CCSXHXMLParseHandler_RedirectFile::EndElement ( const TDesC8& ,const TDesC8& ,const TDesC8& ) - { - if ( iIsFromTag && iFromContent.Compare( iSourceContextName ) == 0 ) - { - iIsSourceContextNameFound = ETrue; - } - else - { - iIsSourceContextNameFound = EFalse; - } - - iIsFromTag = EFalse; - iIsToTag = EFalse; - - return KErrNone; - } - -TInt CCSXHXMLParseHandler_RedirectFile::Characters (const TDesC8& aBuff, const TInt /*aStart*/, const TInt /*aLength*/) - { - if ( iIsFromTag ) - { - TCoeContextName file; - CnvUtfConverter::ConvertToUnicodeFromUtf8(file,aBuff); - iFromContent.Append(file); - } - - else if ( iIsSourceContextNameFound && iIsToTag ) - { - TBuf targetPath; - CnvUtfConverter::ConvertToUnicodeFromUtf8(targetPath,aBuff); - iTargetPath.Append(targetPath); - - iIsTargetPathFound = ETrue; - } - - return KErrNone; - } - -TUid CCSXHXMLParseHandler_RedirectFile::TargetUid() - { - TInt loc = iTargetPath.Find( KHexPrefix ); - if ( loc != KErrNotFound ) - { - TLex lex( iTargetPath.Mid( loc+KHexPrefixLength, KHexUidLength ) ); - TUint appId = 0; - lex.Val( appId, EHex ); - - if ( appId ) - { - iTargetUid = TUid::Uid( (TInt)appId ); - } - } - - return iTargetUid; - } - -TBuf& CCSXHXMLParseHandler_RedirectFile::TargetContextName() - { - TInt loc = iTargetPath.Find( KHexPrefix ); - if ( loc != KErrNotFound ) - { - iTargetContextName = iTargetPath.Mid( loc + KOffsetFromUidToContext ); - } - else - { - iTargetContextName = iTargetPath; - } - - return iTargetContextName; - } - -TBool CCSXHXMLParseHandler_RedirectFile::IsTargetPathFound() - { - return iIsTargetPathFound; - } -