fep/aknfep/peninputplugins/peninputimepluginitut/src/pluginfepmanagerbase.cpp
branchRCL_3
changeset 9 e6a39382bb9c
parent 7 6defe5d1bd39
child 13 1bbdde98cc2d
equal deleted inserted replaced
8:4eb1ae11334f 9:e6a39382bb9c
   210 			CleanupStack::PopAndDestroy(buf);
   210 			CleanupStack::PopAndDestroy(buf);
   211             }
   211             }
   212             break;
   212             break;
   213         case ECmdPenInputFingerMatchList:
   213         case ECmdPenInputFingerMatchList:
   214             {
   214             {
   215             TFepInputAllCandidates* pCanData = reinterpret_cast<TFepInputAllCandidates*>(aParam);
   215             TFepITICandidateList* pCanData = reinterpret_cast<TFepITICandidateList*>(aParam);
   216             TInt count = (*pCanData).iCandidates.Count();
   216             const RArray<TPtrC>* listArray = pCanData->iItemArray2;
   217 
   217             TInt count = listArray->Count();
   218             TInt transferSize = 2 * sizeof(TInt);
   218 
       
   219             TInt transferSize = 3 * sizeof(TInt);
   219             RArray<TInt> sizeArray;
   220             RArray<TInt> sizeArray;
   220             for (TInt i = 0; i < count; i++)
   221             for (TInt i = 0; i < count; i++)
   221                 {
   222                 {
   222                 sizeArray.Append((*pCanData).iCandidates[i].Size());
   223 				TInt size = (*listArray)[i].Size();
   223                 transferSize += sizeArray[i] + sizeof(TInt);
   224                 sizeArray.Append(size);
       
   225                 transferSize += size + sizeof(TInt);
   224                 }
   226                 }
   225 
   227 
   226             HBufC8* buf = HBufC8::NewLC(transferSize);
   228             HBufC8* buf = HBufC8::NewLC(transferSize);
   227             TPtr8 bufPtr = buf->Des();
   229             TPtr8 bufPtr = buf->Des();
   228 
   230 
   230             writeStream.Open(bufPtr);
   232             writeStream.Open(bufPtr);
   231             CleanupClosePushL(writeStream);
   233             CleanupClosePushL(writeStream);
   232 
   234 
   233             writeStream.WriteInt32L(count);
   235             writeStream.WriteInt32L(count);
   234             writeStream.WriteInt32L(transferSize);
   236             writeStream.WriteInt32L(transferSize);
       
   237             writeStream.WriteInt32L(pCanData->iLangCode);
   235 
   238 
   236             for (TInt i = 0; i < count; i++)
   239             for (TInt i = 0; i < count; i++)
   237                 {
   240                 {
   238                 writeStream.WriteInt32L(sizeArray[i]);
   241                 writeStream.WriteInt32L(sizeArray[i]);
   239                 const TUint16* piData = (*pCanData).iCandidates[i].Ptr();
   242                 const TUint16* piData = (*listArray)[i].Ptr();
   240                 writeStream.WriteL(piData, sizeArray[i]/2);
   243                 writeStream.WriteL(piData, sizeArray[i] / 2);
   241                 }
   244                 }
   242 			
   245 			
   243             writeStream.CommitL();
   246             writeStream.CommitL();
   244         
   247         
   245             SendCommandToServer( aCommandId, bufPtr );
   248             SendCommandToServer( aCommandId, bufPtr );