288 |
288 |
289 CleanupStack::PopAndDestroy(&writeStream); |
289 CleanupStack::PopAndDestroy(&writeStream); |
290 CleanupStack::PopAndDestroy(buf); |
290 CleanupStack::PopAndDestroy(buf); |
291 } |
291 } |
292 break; |
292 break; |
|
293 case ECmdPeninputSpellICFDisplayContent: |
|
294 { |
|
295 TFepSpellICFDisplayContent* pContent = |
|
296 reinterpret_cast<TFepSpellICFDisplayContent*>( aParam ); |
|
297 |
|
298 TInt dataSize = sizeof( TFepSpellICFDisplayContent ); |
|
299 TInt icfTextSize = pContent->iICFText.Size(); |
|
300 TInt promptTextSize = pContent->iPromptText.Size(); |
|
301 |
|
302 HBufC8* buf = HBufC8::NewLC( dataSize + |
|
303 icfTextSize + promptTextSize + 3 * sizeof(TInt)); |
|
304 TPtr8 bufPtr = buf->Des(); |
|
305 |
|
306 RDesWriteStream writeStream; |
|
307 writeStream.Open( bufPtr ); |
|
308 CleanupClosePushL(writeStream); |
|
309 |
|
310 writeStream.WriteInt32L(dataSize); |
|
311 writeStream.WriteInt32L(icfTextSize); |
|
312 writeStream.WriteInt32L(promptTextSize); |
|
313 |
|
314 const TUint8* pData = reinterpret_cast<const TUint8*>( pContent ); |
|
315 writeStream.WriteL( pData, dataSize ); |
|
316 |
|
317 if ( icfTextSize != 0 ) |
|
318 { |
|
319 const TUint16* pIcfText = pContent->iICFText.Ptr(); |
|
320 writeStream.WriteL( pIcfText, icfTextSize/2 ); |
|
321 } |
|
322 |
|
323 if ( promptTextSize != 0 ) |
|
324 { |
|
325 const TUint16* pPromptText = pContent->iPromptText.Ptr(); |
|
326 writeStream.WriteL( pPromptText, promptTextSize/2 ); |
|
327 } |
|
328 |
|
329 writeStream.CommitL(); |
|
330 |
|
331 SendCommandToServer( aCommandId, bufPtr ); |
|
332 |
|
333 CleanupStack::PopAndDestroy(&writeStream); |
|
334 CleanupStack::PopAndDestroy(buf); |
|
335 } |
|
336 break; |
293 case ECmdPenInputFingerMatchIndicator: |
337 case ECmdPenInputFingerMatchIndicator: |
294 { |
338 { |
295 TFepIndicatorInfo* pIndicatorData = |
339 TFepIndicatorInfo* pIndicatorData = |
296 reinterpret_cast<TFepIndicatorInfo*>( aParam ); |
340 reinterpret_cast<TFepIndicatorInfo*>( aParam ); |
297 |
341 |