kerneltest/e32test/digitiser/d_ldddigitisertest.cpp
changeset 271 dc268b18d709
parent 0 a41df078684a
child 291 206a6eaaeb71
--- a/kerneltest/e32test/digitiser/d_ldddigitisertest.cpp	Mon Sep 13 15:16:07 2010 +0100
+++ b/kerneltest/e32test/digitiser/d_ldddigitisertest.cpp	Wed Sep 22 10:53:45 2010 +0100
@@ -25,8 +25,10 @@
 TUint 	gDeviceNumber=1;					// Device Number
 TUint	gRegisteredDeviceNumber;			// Represents the registered Hal Entry
 TBool	gHalEntryRegistered; 				// States HAL Entry Successfully registered or not
-static	TDigitiserInfoV02 gDigitserHalData;	// Buffer to  hold the HAL data; 
-static	TUint gPointer3DSupported;			// States whether the pointing device supports 3rd dimension.
+static TDigitiserInfoV02 gDigitserHalData;	// Buffer to  hold the HAL data; 
+static TUint gPointer3DSupported;			// States whether the pointing device supports 3rd dimension.
+static TRawEvent   kEvent;	
+
 
 class DDigitiserLDDTestFactory : public DLogicalDevice
 //
@@ -34,7 +36,6 @@
 //
 	{
 public:
-	DDigitiserLDDTestFactory();
 	virtual TInt Install(); 								//overriding pure virtual
 	virtual void GetCaps(TDes8& aDes) const;				//overriding pure virtual
 	virtual TInt Create(DLogicalChannelBase*& aChannel); 	//overriding pure virtual
@@ -50,7 +51,7 @@
 protected:
 	virtual TInt DoCreate(TInt aUnit, const TDesC8* anInfo, const TVersion& aVer);
 	virtual TInt Request(TInt aReqNo, TAny* a1, TAny* a2);
-	};
+	};			
 
 // Initialise Digitiser HAL Data
 void initialiseDigitiserHalData()
@@ -150,12 +151,6 @@
 	}
 #endif
 
-//
-// Constructor
-//
-DDigitiserLDDTestFactory::DDigitiserLDDTestFactory()
-	{
-	}
 
 TInt DDigitiserLDDTestFactory::Create(DLogicalChannelBase*& aChannel)
 	{
@@ -180,6 +175,7 @@
 	{
 	}
 
+
 TInt DDigitiserLDDTestChannel::DoCreate(TInt /*aUnit*/, const TDesC8* /*aInfo*/, const TVersion& /*aVer*/)
 //
 // Create channel
@@ -198,6 +194,11 @@
 TInt DDigitiserLDDTestChannel::Request(TInt aReqNo, TAny* a1, TAny* /*a2*/)
 	{
 	TInt r=KErrNone;
+	TUsrEventBuf eventBuf;
+	TPoint3D point3D;
+	TPoint   point2D;
+	TAngle3D angle3D;
+
 	switch(aReqNo)
 		{
 		case (RLddDigitiserTest::EADDHALENTRY):
@@ -311,8 +312,124 @@
 			r=gDigitserHalData.iPressureStep;
 			break;
 		case (RLddDigitiserTest::ESET_EPOINTER3DPRESSURESTEP):
-			gDigitserHalData.iPressureStep=(TInt)a1;
+			gDigitserHalData.iPressureStep=(TInt)a1; 		
 			break;
+		
+		//Testing TRawEvents;
+
+
+		case  (RLddDigitiserTest::ESET_TRAWEVENT_EVENTTYPE): 
+			  kEvent.Set(static_cast<TRawEvent::TType>((TInt)a1));			
+			  break;
+
+		case  (RLddDigitiserTest::EGET_TRAWEVENT_EVENTTYPE):   
+			    r=kEvent.Type();				 
+				break;
+
+		case  (RLddDigitiserTest::ESET_TRAWEVENT_TILT): 			   
+			   kumemget32(&eventBuf,a1,sizeof(eventBuf));
+			   kEvent.SetTilt(static_cast<TRawEvent::TType>(eventBuf().iType),eventBuf().iPhi,eventBuf().iTheta);
+			   break;
+
+				
+		case  (RLddDigitiserTest::EGET_TRAWEVENT_TILT): 				
+				angle3D=kEvent.Tilt();
+				eventBuf().iPhi =	angle3D.iPhi;
+				eventBuf().iTheta =	angle3D.iTheta;	
+				kumemput32(a1,&eventBuf,sizeof(eventBuf));
+			   break;
+
+
+		case  (RLddDigitiserTest::ESET_TEVENT_DNMBR):   
+			
+			   kEvent.SetDeviceNumber((TInt)a1);			   
+			   break;
+		case  (RLddDigitiserTest::EGET_TEVENT_DNMBR): 
+				r=kEvent.DeviceNumber();				
+				break;
+
+		case  (RLddDigitiserTest::ESET_TRAWEVENT_ROTATION): 				    			    
+				kumemget32(&eventBuf,a1,sizeof(eventBuf));
+				kEvent.SetRotation(static_cast<TRawEvent::TType>(eventBuf().iType),eventBuf().iAlpha);				
+				break;
+
+		case  (RLddDigitiserTest::EGET_TRAWEVENT_ROTATION):  
+			    r=kEvent.Rotation();				
+				break;
+
+		case  (RLddDigitiserTest::ESET_TRAWEVENT_REPEAT): 
+			   kumemget32(&eventBuf,a1,sizeof(eventBuf));
+			   kEvent.SetRepeat(static_cast<TRawEvent::TType>(eventBuf().iType),eventBuf().iScanCode,eventBuf().iRepeats);
+			   break;
+
+		case  (RLddDigitiserTest::EGET_TRAWEVENT_REPEAT): 
+				r=kEvent.Repeats();
+				break;
+	
+		case  (RLddDigitiserTest::ESET_TRAWEVENT_SCANCODE):				    
+				kumemget32(&eventBuf,a1,sizeof(eventBuf));
+				kEvent.Set(static_cast<TRawEvent::TType>(eventBuf().iType),eventBuf().iScanCode);				
+				break;
+		case  (RLddDigitiserTest::EGET_TRAWEVENT_SCANCODE): 			 
+				r=kEvent.ScanCode();				
+				break;
+
+		case  (RLddDigitiserTest::ESET_TRAWEVENT_POS2D):				
+				kumemget32(&eventBuf,a1,sizeof(eventBuf));
+				kEvent.Set(static_cast<TRawEvent::TType>(eventBuf().iType),eventBuf().iX,eventBuf().iY);
+				break;
+		case  (RLddDigitiserTest::EGET_TRAWEVENT_POS2D): 
+				point2D=kEvent.Pos();
+				eventBuf().iX =	point2D.iX;
+				eventBuf().iY =	point2D.iY;	  			 				
+				kumemput32(a1,&eventBuf,sizeof(eventBuf));
+				break;
+
+		
+		case  (RLddDigitiserTest::ESET_TRAWEVENT_PTRNMBR): 
+				kEvent.SetPointerNumber(static_cast<TUint8>((TInt)a1));		
+				break;
+
+		case  (RLddDigitiserTest::ESET_TRAWEVENT_3DNPTRNMBR):				
+				kumemget32(&eventBuf,a1,sizeof(eventBuf));
+				//IMPORT_C void Set (TType aType, TInt aX, TInt aY, TInt aZ, TUint8 aPointerNumbe
+				kEvent.Set(static_cast<TRawEvent::TType>(eventBuf().iType),eventBuf().iX,eventBuf().iY,eventBuf().iZ,eventBuf().iPointerNumber);
+				break;
+		case  (RLddDigitiserTest::EGET_TRAWEVENT_PTRNMBR): 
+				r=kEvent.PointerNumber();				
+				break;
+ 
+		case  (RLddDigitiserTest::EGET_TRAWEVENT_TICKS): 
+				r=kEvent.Ticks();
+				break;
+	
+		case  (RLddDigitiserTest::ESET_TRAWEVENT_TIP): 
+				kEvent.SetTip(static_cast<TBool>((TInt)a1));			   
+				break;
+		case  (RLddDigitiserTest::EGET_TRAWEVENT_TIP):
+				r=kEvent.IsTip();
+				break;
+
+		case  (RLddDigitiserTest::ESET_TRAWEVENT_POS3D):								
+			kumemget32(&eventBuf,a1,sizeof(eventBuf));
+			kEvent.Set(static_cast<TRawEvent::TType>(eventBuf().iType),eventBuf().iX,eventBuf().iY,eventBuf().iZ);
+			break;
+			
+		case  (RLddDigitiserTest::EGET_TRAWEVENT_POS3D):
+
+			point3D=kEvent.Pos3D();	
+			eventBuf().iX =	point3D.iX;
+			eventBuf().iY =	point3D.iY;	  
+			eventBuf().iZ =	point3D.iZ;	  			
+			kumemput32(a1,&eventBuf,sizeof(eventBuf));
+			break;
+
+			
+		case  (RLddDigitiserTest::ESET_TRAWEVENT_ALL):								
+			kumemget32(&eventBuf,a1,sizeof(eventBuf));
+			kEvent.Set(static_cast<TRawEvent::TType>(eventBuf().iType),eventBuf().iX,eventBuf().iY,eventBuf().iZ,eventBuf().iPhi,eventBuf().iTheta,eventBuf().iAlpha);
+			break;
+			
 		default:
 			r=KErrNotSupported;
 			break;