void CNSmlDmDevDetailAdapter::ChildURIListL( const TDesC8& aURI, const TDesC8& /*aLUID*/, const CArrayFix<TSmlDmMappingInfo>& /*aPreviousURISegmentList*/, const TInt aResultsRef, const TInt aStatusRef ) { _DBG_FILE("CNSmlDmDevDetailAdapter::ChildURIListL(): begin"); CSmlDmAdapter::TError retValue = CSmlDmAdapter::EOk; CBufBase *currentURISegmentList = CBufFlat::NewL(64); CleanupStack::PushL(currentURISegmentList); TInt ret = aURI.LocateReverse(KNSmlDMDevDetailSeparator()[0]); if ( ret == KErrNotFound ) { ret = -1; } TInt len = aURI.Length() - ( ret + 1 ); TPtrC8 segment = aURI.Right( len ); if ( segment == KNSmlDMDevDetailNodeName ) { currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailDevTypNodeName() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailSeparator() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailOEMNodeName() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailSeparator() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailFwVNodeName() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailSeparator() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailSwVNodeName() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailSeparator() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailHwVNodeName() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailSeparator() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailLrgObjNodeName() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailSeparator() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailURINodeName() ); } else if ( segment == KNSmlDMDevDetailURINodeName ) { currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailMaxDepthNodeName() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailSeparator() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailMaxTotLenNodeName() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailSeparator() ); currentURISegmentList->InsertL( currentURISegmentList->Size(), KNSmlDMDevDetailMaxSegLenNodeName() ); } else { retValue = CSmlDmAdapter::EError; } iDmCallback->SetStatusL(aStatusRef,retValue); iDmCallback->SetResultsL(aResultsRef,*currentURISegmentList,KNullDesC8); CleanupStack::PopAndDestroy(); //currentURISegmentList; _DBG_FILE("CNSmlDmDevDetailAdapter::ChildURIListL(): end"); }
void CDebugLogPrint::WriteToLog8L(const TDesC8 &aDes, const TDesC8 &aDes2) { TBuf16<256> buf; TInt pos=aDes.LocateReverse(' '); if (pos<0) pos=0; buf.Copy(aDes.Mid(pos)); buf.Append(' '); TInt bufLen=buf.Length(); TPtr16 ptr(&buf[bufLen],buf.MaxLength()-bufLen); ptr.Copy(aDes2); buf.SetLength(bufLen+aDes2.Length()); _LIT(KDebugFormatString, "%S"); RDebug::Print(KDebugFormatString, &buf); }
// ----------------------------------------------------------------------------- // CNSmlDmDevDetailAdapter::FetchLeafObjectL() // ----------------------------------------------------------------------------- CSmlDmAdapter::TError CNSmlDmDevDetailAdapter::FetchLeafObjectL( const TDesC8& aURI, CBufBase& aObject ) { _DBG_FILE("CNSmlDmDevDetailAdapter::FetchLeafObjectL(): begin"); CSmlDmAdapter::TError retValue = CSmlDmAdapter::EOk; TInt ret = aURI.LocateReverse(KNSmlDMDevDetailSeparator()[0]); if ( ret == KErrNotFound ) { ret = -1; } TInt len = aURI.Length() - ( ret + 1 ); TPtrC8 segment = aURI.Right( len ); if ( segment == KNSmlDMDevDetailDevTypNodeName ) { aObject.InsertL( 0, KNSmlDMDevDetailDevTypValue ); } else if ( segment == KNSmlDMDevDetailOEMNodeName ) { CNSmlPhoneInfo* phoneInfo = CNSmlPhoneInfo::NewLC(); HBufC* manufacturer = HBufC::NewLC( 50 ); TPtr manufacturerPtr = manufacturer->Des(); phoneInfo->PhoneDataL( CNSmlPhoneInfo::EPhoneManufacturer, manufacturerPtr ); HBufC8* manufacturerInUTF8 = NULL; NSmlUnicodeConverter::HBufC8InUTF8LC( *manufacturer, manufacturerInUTF8 ); aObject.InsertL( 0, *manufacturerInUTF8 ); CleanupStack::PopAndDestroy( 3 ); //manufacturerInUTF8, manufacturer, phoneInfo } else if ( segment == KNSmlDMDevDetailSwVNodeName ) { // fetch software version GetDevDetailDataL( aObject, ESwVersion ); } else if ( segment == KNSmlDMDevDetailHwVNodeName ) { // fetch hardware version GetDevDetailDataL( aObject, EHwVersion ); } else if ( segment == KNSmlDMDevDetailLrgObjNodeName ) { aObject.InsertL( 0, KNSmlDMDevDetailLrgObjValue ); } else if ( segment == KNSmlDMDevDetailMaxDepthNodeName ) { aObject.InsertL( 0, KNSmlDMDevDetailMaxDepthValue ); } else if ( segment == KNSmlDMDevDetailMaxTotLenNodeName ) { aObject.InsertL( 0, KNSmlDMDevDetailMaxTotLenValue ); } else if ( segment == KNSmlDMDevDetailMaxSegLenNodeName ) { aObject.InsertL( 0, KNSmlDMDevDetailMaxSegLenValue ); } else if ( segment != KNSmlDMDevDetailFwVNodeName ) { retValue = CSmlDmAdapter::EError; } _DBG_FILE("CNSmlDmDevDetailAdapter::FetchLeafObjectL(): end"); return retValue; }