diff -r 6ceef9a83b1a -r 6defe5d1bd39 fep/aknfep/peninputplugins/peninputimepluginitut/src/pluginfepmanagerbase.cpp --- a/fep/aknfep/peninputplugins/peninputimepluginitut/src/pluginfepmanagerbase.cpp Mon Mar 15 12:42:02 2010 +0200 +++ b/fep/aknfep/peninputplugins/peninputimepluginitut/src/pluginfepmanagerbase.cpp Wed Mar 31 22:08:20 2010 +0300 @@ -290,6 +290,50 @@ CleanupStack::PopAndDestroy(buf); } break; + case ECmdPeninputSpellICFDisplayContent: + { + TFepSpellICFDisplayContent* pContent = + reinterpret_cast( aParam ); + + TInt dataSize = sizeof( TFepSpellICFDisplayContent ); + TInt icfTextSize = pContent->iICFText.Size(); + TInt promptTextSize = pContent->iPromptText.Size(); + + HBufC8* buf = HBufC8::NewLC( dataSize + + icfTextSize + promptTextSize + 3 * sizeof(TInt)); + TPtr8 bufPtr = buf->Des(); + + RDesWriteStream writeStream; + writeStream.Open( bufPtr ); + CleanupClosePushL(writeStream); + + writeStream.WriteInt32L(dataSize); + writeStream.WriteInt32L(icfTextSize); + writeStream.WriteInt32L(promptTextSize); + + const TUint8* pData = reinterpret_cast( pContent ); + writeStream.WriteL( pData, dataSize ); + + if ( icfTextSize != 0 ) + { + const TUint16* pIcfText = pContent->iICFText.Ptr(); + writeStream.WriteL( pIcfText, icfTextSize/2 ); + } + + if ( promptTextSize != 0 ) + { + const TUint16* pPromptText = pContent->iPromptText.Ptr(); + writeStream.WriteL( pPromptText, promptTextSize/2 ); + } + + writeStream.CommitL(); + + SendCommandToServer( aCommandId, bufPtr ); + + CleanupStack::PopAndDestroy(&writeStream); + CleanupStack::PopAndDestroy(buf); + } + break; case ECmdPenInputFingerMatchIndicator: { TFepIndicatorInfo* pIndicatorData =