Added folder hs_app_idlefw, files there have 'hs_app' prefix(content edited).
homescreen_srv compiles with these changes. Although more warnings appear.
Also I've changed uid of homescreen.exe, ailaunch.exe.
Renamed idlefw files, located in hs_app_idlefw.
/*+ −
* Copyright (c) 2005 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: Collection of string parsing methods.+ −
*+ −
*/+ −
+ −
+ −
#include "caistrparser.h"+ −
#include "aistrcnv.h"+ −
+ −
// CONSTANTS+ −
+ −
const TInt KThreeOctets = 3;+ −
const TInt KTwoOctets = 2;+ −
+ −
namespace+ −
{+ −
+ −
_LIT8( KHexPrefix8, "0x" );+ −
_LIT16( KHexPrefix16, "0x" );+ −
+ −
const TInt KMaxOneOctetValue = 0x007F;+ −
const TInt KMaxTwoOctetValue = 0x07FF;+ −
+ −
TInt Utf8OctetCount( const TDesC16& aString )+ −
{+ −
TInt numOctets(0);+ −
TInt length(aString.Length());+ −
const TUint16* stringData = aString.Ptr();+ −
+ −
for ( TInt i = 0; i < length; ++i)+ −
{+ −
if (stringData[i] > KMaxOneOctetValue)+ −
{+ −
if (stringData[i] > KMaxTwoOctetValue)+ −
{+ −
numOctets += KThreeOctets;+ −
}+ −
else+ −
{+ −
numOctets += KTwoOctets;+ −
}+ −
}+ −
else+ −
{+ −
++numOctets;+ −
}+ −
}+ −
+ −
return numOctets;+ −
}+ −
+ −
TPtr8 EnsureBufMaxLengthL(HBufC8*& aBuffer, TInt aMaxLength )+ −
{+ −
if ( !aBuffer )+ −
{+ −
aBuffer = HBufC8::NewL( aMaxLength );+ −
}+ −
else if ( aBuffer->Des().MaxLength() < aMaxLength )+ −
{+ −
aBuffer = aBuffer->ReAllocL( aMaxLength );+ −
}+ −
+ −
return aBuffer->Des();+ −
}+ −
+ −
}+ −
+ −
namespace AiUtility+ −
{+ −
+ −
template< class DescType, class LexType > inline+ −
TInt ParseIntImpl+ −
( TInt32& aValue, const DescType& aStringValue, + −
const DescType& aHexPrefix )+ −
{+ −
const TInt pos = aStringValue.FindF( aHexPrefix );+ −
if (pos != KErrNotFound)+ −
{+ −
LexType lex( aStringValue.Mid( pos + aHexPrefix.Length() ) );+ −
// Hex parsing needs unsigned int+ −
TUint32 value = 0;+ −
const TInt parseResult = lex.Val( value, EHex );+ −
if ( parseResult == KErrNone )+ −
{+ −
aValue = value;+ −
}+ −
return parseResult;+ −
}+ −
else+ −
{+ −
LexType lex( aStringValue );+ −
return lex.Val(aValue);+ −
}+ −
}+ −
+ −
EXPORT_C TInt ParseInt( TInt32& aResult, const TDesC8& aSourceString )+ −
{+ −
return ParseIntImpl< TDesC8, TLex8 >+ −
( aResult, aSourceString, KHexPrefix8 );+ −
}+ −
+ −
EXPORT_C TInt ParseInt( TInt32& aResult, const TDesC16& aSourceString )+ −
{+ −
return ParseIntImpl< TDesC16, TLex16 >+ −
( aResult, aSourceString, KHexPrefix16 );+ −
}+ −
+ −
EXPORT_C HBufC16* CopyToBufferL(HBufC16* aTargetBuffer, const TDesC16& aSourceText)+ −
{+ −
EnsureBufMaxLengthL( aTargetBuffer, aSourceText.Length() ).Copy( aSourceText );+ −
+ −
return aTargetBuffer;+ −
}+ −
+ −
EXPORT_C HBufC16* CopyToBufferL(HBufC16* aTargetBuffer, const TDesC8& aSourceText)+ −
{+ −
if (!aTargetBuffer)+ −
{+ −
return CnvUtfConverter::ConvertToUnicodeFromUtf8L( aSourceText );+ −
}+ −
+ −
TPtr16 des( EnsureBufMaxLengthL( aTargetBuffer, aSourceText.Length() ) );+ −
+ −
CnvUtfConverter::ConvertToUnicodeFromUtf8( des, aSourceText );+ −
+ −
return aTargetBuffer;+ −
}+ −
+ −
EXPORT_C HBufC8* CopyToBufferL(HBufC8* aTargetBuffer, const TDesC8& aSourceText)+ −
{+ −
::EnsureBufMaxLengthL( aTargetBuffer, aSourceText.Length() ).Copy( aSourceText );+ −
return aTargetBuffer;+ −
}+ −
+ −
EXPORT_C HBufC8* CopyToBufferL(HBufC8* aTargetBuffer, const TDesC16& aSourceText)+ −
{+ −
if ( !aTargetBuffer )+ −
{+ −
return CnvUtfConverter::ConvertFromUnicodeToUtf8L( aSourceText );+ −
}+ −
+ −
TInt length = Utf8OctetCount( aSourceText );+ −
+ −
TPtr8 des( ::EnsureBufMaxLengthL( aTargetBuffer, length ) ); + −
CnvUtfConverter::ConvertFromUnicodeToUtf8( des, aSourceText );+ −
return aTargetBuffer;+ −
}+ −
+ −
EXPORT_C TPtr16 EnsureBufMaxLengthL(HBufC16*& aTargetBuffer, TInt aMaxLength )+ −
{+ −
if ( !aTargetBuffer )+ −
{+ −
aTargetBuffer = HBufC16::NewL( aMaxLength );+ −
}+ −
else+ −
{+ −
if ( aTargetBuffer->Des().MaxLength() < aMaxLength )+ −
{+ −
aTargetBuffer = aTargetBuffer->ReAllocL( aMaxLength );+ −
}+ −
}+ −
+ −
return aTargetBuffer->Des();+ −
}+ −
+ −
}+ −
+ −
+ −
// ---------------------------------------------------------------------------+ −
// CStrParser()+ −
// ---------------------------------------------------------------------------+ −
//+ −
CStrParser::CStrParser()+ −
{+ −
}+ −
+ −
// ---------------------------------------------------------------------------+ −
// CStrParser* NewL()+ −
// ---------------------------------------------------------------------------+ −
//+ −
CStrParser* CStrParser::NewL()+ −
{ + −
CStrParser* self = new ( ELeave ) CStrParser();+ −
CleanupStack::PushL( self );+ −
self->ConstructL();+ −
CleanupStack::Pop( self );+ −
return self;+ −
}+ −
+ −
// ---------------------------------------------------------------------------+ −
// void ConstructL()+ −
// ---------------------------------------------------------------------------+ −
//+ −
void CStrParser::ConstructL()+ −
{+ −
}+ −
+ −
// ---------------------------------------------------------------------------+ −
// void Release()+ −
// ---------------------------------------------------------------------------+ −
//+ −
void CStrParser::Release()+ −
{+ −
delete this;+ −
}+ −
+ −
// ---------------------------------------------------------------------------+ −
// TInt ParseInt( TInt32& aValue, const TDesC8& aStringValue )+ −
// ---------------------------------------------------------------------------+ −
//+ −
TInt CStrParser::ParseInt( TInt32& aResult, const TDesC8& aSourceString )+ −
{+ −
return AiUtility::ParseInt( aResult, aSourceString );+ −
}+ −
+ −
// ---------------------------------------------------------------------------+ −
// HBufC16* CopyToBufferL( HBufC16* aTargetBuffer, const TDesC16& aSourceText )+ −
// ---------------------------------------------------------------------------+ −
// + −
HBufC16* CStrParser::CopyToBufferL( HBufC16* aTargetBuffer, const TDesC16& aSourceText )+ −
{+ −
return AiUtility::CopyToBufferL( aTargetBuffer, aSourceText );+ −
}+ −
+ −
// ---------------------------------------------------------------------------+ −
// HBufC16* CopyToBufferL( HBufC16* aTargetBuffer, const TDesC8& aSourceText )+ −
// ---------------------------------------------------------------------------+ −
//+ −
HBufC16* CStrParser::CopyToBufferL( HBufC16* aTargetBuffer, const TDesC8& aSourceText )+ −
{+ −
return AiUtility::CopyToBufferL( aTargetBuffer, aSourceText );+ −
}+ −
+ −
// ---------------------------------------------------------------------------+ −
// HBufC8* CopyToBufferL( HBufC8* aTargetBuffer, const TDesC8& aSourceText )+ −
// ---------------------------------------------------------------------------+ −
// + −
HBufC8* CStrParser::CopyToBufferL( HBufC8* aTargetBuffer, const TDesC8& aSourceText )+ −
{+ −
return AiUtility::CopyToBufferL( aTargetBuffer, aSourceText );+ −
}+ −
+ −
// ---------------------------------------------------------------------------+ −
// HBufC8* CopyToBufferL( HBufC8* aTargetBuffer, const TDesC16& aSourceText )+ −
// ---------------------------------------------------------------------------+ −
//+ −
HBufC8* CStrParser::CopyToBufferL( HBufC8* aTargetBuffer, const TDesC16& aSourceText )+ −
{+ −
return AiUtility::CopyToBufferL( aTargetBuffer, aSourceText );+ −
}+ −
+ −
// End of File.+ −
+ −
+ −