htiui/HtiServicePlugins/HtiKeyEventServicePlugin/src/PointerEventHandler.cpp
branchRCL_3
changeset 6 69ec17276f52
parent 3 2703485a934c
child 11 454d022d514b
equal deleted inserted replaced
5:685c7418c584 6:69ec17276f52
   139         PointerMove();
   139         PointerMove();
   140         if ( !AdvancedStartDelay())
   140         if ( !AdvancedStartDelay())
   141             {
   141             {
   142             PointerUp();
   142             PointerUp();
   143             SendOkMsgL();
   143             SendOkMsgL();
       
   144             iAdvPointerMoveArray.ResetAndDestroy(); 
   144             iReady = ETrue;
   145             iReady = ETrue;
   145             }
   146             }
   146         }		
   147         }		
   147     HTI_LOG_FUNC_OUT( "CPointerEventHandler::RunL" );
   148     HTI_LOG_FUNC_OUT( "CPointerEventHandler::RunL" );
   148     }
   149     }
   523 	TInt offset = 0;
   524 	TInt offset = 0;
   524 	
   525 	
   525 	TTimeIntervalMicroSeconds32 eventDelay = ( aData[offset] + ( aData[offset+1] << 8 ) ) * 1000;
   526 	TTimeIntervalMicroSeconds32 eventDelay = ( aData[offset] + ( aData[offset+1] << 8 ) ) * 1000;
   526 	offset += 2;
   527 	offset += 2;
   527     HTI_LOG_FORMAT( "Event time = %d", eventDelay.Int() );
   528     HTI_LOG_FORMAT( "Event time = %d", eventDelay.Int() );
   528 	
   529     
       
   530     if (eventDelay.Int()<=0)
       
   531         {
       
   532         SendErrorMessageL( EInvalidParameters, KErrorInvalidParameters );
       
   533         return;        
       
   534         }
       
   535     
   529     TInt stepCount = aData[offset] + ( aData[offset+1] << 8 );
   536     TInt stepCount = aData[offset] + ( aData[offset+1] << 8 );
   530     offset += 2;
   537     offset += 2;
   531     HTI_LOG_FORMAT( "Step Count = %d", stepCount );
   538     HTI_LOG_FORMAT( "Step Count = %d", stepCount );
   532         
   539         
   533 	TInt pointerCount = aData[offset] + ( aData[offset+1] << 8 );
   540 	TInt pointerCount = aData[offset] + ( aData[offset+1] << 8 );
   539     // Read integers from aData to the array, all integers are 2 bytes
   546     // Read integers from aData to the array, all integers are 2 bytes
   540     for ( TInt i = 0; i < pointerCount; i++ )
   547     for ( TInt i = 0; i < pointerCount; i++ )
   541         {
   548         {
   542         TInt pointNumber,X1, Y1, Z1,X2,Y2, Z2 ;
   549         TInt pointNumber,X1, Y1, Z1,X2,Y2, Z2 ;
   543         
   550         
       
   551         // invalid pointer array 
       
   552         if ((dataLength-offset)<3*2*2+1)
       
   553             {
       
   554             SendErrorMessageL( EInvalidParameters, KErrorInvalidParameters );
       
   555             return;        
       
   556             }        
   544         // start point	
   557         // start point	
   545 		pointNumber = aData[offset];
   558 		pointNumber = aData[offset];
   546 		offset += 1;
   559 		offset += 1;
   547 		HTI_LOG_FORMAT( "%d Pointer Start", pointNumber );
   560 		HTI_LOG_FORMAT( "%d Pointer Start", pointNumber );
   548 		
   561