diff -r 0ba996a9b75d -r 613943a21004 bluetoothengine/btui/Ecom/inc/bluetoothuiutil.inl --- a/bluetoothengine/btui/Ecom/inc/bluetoothuiutil.inl Thu Aug 19 10:05:41 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,103 +0,0 @@ -/* -* Copyright (c) 2010 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: This provides utility for loading a BT device name without -* localised to a string to be shown in GUI. -* -*/ - -inline TInt BluetoothUiUtil::GetSubstringKeyPos( - const TDes& aDes, const TDesC& aKey, - TInt aKeyPos, TInt& aKeyLength ) - { - ASSERT( aKeyPos > KErrNotFound ); - _LIT(KPercentSymbol, "%" ); - // 32 would be to fit any key substring in practice: - TBuf<32> key; - TInt pos( KErrNotFound ); - // if the specified position is 0, check if "%" (%U or %N) exists. - if ( aKeyPos == 0 ) - { - key.Copy( KPercentSymbol ); - key.Append(aKey); - pos = aDes.Find( key ); - } - // Either the key is not found, or aKeyPos is not 0. - if ( pos == KErrNotFound ) - { - key.Copy( KPercentSymbol ); - key.AppendNum( aKeyPos ); - key.Append( aKey ); - pos = aDes.Find( key ); - } - if ( pos > KErrNotFound ) - { - aKeyLength = key.Length(); - } - return pos; - } - -inline TInt BluetoothUiUtil::GetStringSubstringKeyPos( - const TDes& aDes, TInt aKeyPos, TInt& aKeyLength ) - { - _LIT(KStringKeyword,"U"); - TPtrC ptr( KStringKeyword ); - return GetSubstringKeyPos(aDes, ptr, aKeyPos, aKeyLength ); - } - -inline void BluetoothUiUtil::AddSubstringL( - RBuf& aBuf, const TDesC& aSub, TInt aSubPos) - { - // Find the position of the specified "%U" or %[0-9]U in aBuf. - TInt keyLength; - TInt pos = GetStringSubstringKeyPos( aBuf, aSubPos, keyLength ); - if ( pos == KErrNotFound ) - { - User::Leave( pos ); - } - // Enlarge the max length of aBuf if needed: - TInt reqedLen = aBuf.Length() - keyLength + aSub.Length(); - if ( aBuf.MaxLength() < reqedLen ) - { - aBuf.ReAllocL( reqedLen ); - } - aBuf.Replace( pos, keyLength, aSub ); - } - -inline void BluetoothUiUtil::LoadResourceAndSubstringL(RBuf& aBuf, - TInt aResourceId, const TDesC& aSub, TInt aSubPos ) - { - HBufC* string = StringLoader::LoadL( aResourceId ); - aBuf.Assign( string ); - // Logical loc strings may contain redundant "[]" for some reason. - // This sub-string should be removed in our ad hoc parameter loading method. - _LIT( KLeftSquareBracket,"[" ); - _LIT( KRightSquareBracket,"]" ); - while ( 1 ) - { - TInt lpos = aBuf.Find( KLeftSquareBracket ); - TInt rpos = aBuf.Find( KRightSquareBracket ); - if ( lpos > KErrNotFound && rpos > KErrNotFound && ( rpos > lpos ) ) - { - aBuf.Delete(lpos, rpos - lpos + 1 ); - continue; - } - // No sub-strings that match "[" and ends with "]". Done - break; - } - // Add the substring to this string loaded from resource: - AddSubstringL( aBuf, aSub, aSubPos ); - } - -// End of File -