sapi_location/tsrc/testing/tsapiloctotest/src/sapiloctotestblocks.cpp
changeset 0 14df0fbfcc4e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sapi_location/tsrc/testing/tsapiloctotest/src/sapiloctotestblocks.cpp	Mon Mar 30 12:51:10 2009 +0300
@@ -0,0 +1,395 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:   ?Description
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <e32svr.h>
+#include <StifParser.h>
+#include <Stiftestinterface.h>
+#include "sapiloctotest.h"
+#include <f32file.h>
+#include <LbsPosition.h>
+
+
+_LIT(LogFileName , "C:\\Notifications.txt") ;
+TInt returnCode;
+RFile LogFile ;
+RFs LogSession ;
+
+void OpenFile()
+	{
+	LogSession.Connect() ;
+
+	if(LogFile.Open(LogSession ,LogFileName , EFileWrite | EFileShareAny )  == KErrNotFound)
+		{
+		LogFile.Create(LogSession ,LogFileName , EFileWrite | EFileShareAny ) ;
+		}
+
+	TInt End = 0 ;
+	LogFile.Seek(ESeekEnd , End) ; 
+	}
+
+void CloseFile()
+	{
+	LogFile.Close() ;
+	LogSession.Close() ;
+	}
+
+TInt ValidatePosition(TPosition& aPos)
+	{
+	TReal64 aLatitude  = aPos.Latitude();
+	TReal64 aLongitude = aPos.Longitude() ;
+	TReal32 aAltitude  = aPos.Altitude() ;
+
+	if( (-90<=aLatitude<=90) && (-180<=aLongitude<=180) && (aAltitude) )
+		{
+		OpenFile();
+		TBuf8<50> buf ;
+		TRealFormat format ;
+		
+	    //Logging Latitude 
+		buf.Num(aLatitude , format) ;
+		LogFile.Write(_L8("Latitude = "));
+		LogFile.Write(buf) ;
+		LogFile.Write(_L8("\n")) ;
+		//Logging Longitude
+		buf.Num(aLongitude , format); 
+		LogFile.Write(_L8("Longitude = "));
+		LogFile.Write(buf) ;
+		LogFile.Write(_L8("\n")) ;
+		//Logging Altitude 
+		buf.Num(aAltitude , format) ;
+		LogFile.Write(_L8("Altitude = "));
+		LogFile.Write(buf) ;
+		LogFile.Write(_L8("\n")) ;
+		CloseFile();
+	    return KErrNone; 
+		 }
+	 else
+		 {
+	     OpenFile();
+	     LogFile.Write(_L8("Test case failed.."));
+		 CloseFile();
+		 return KErrGeneral;	
+		 }
+	}
+    
+void Csapiloctotest::Delete() 
+    {
+
+    }
+
+// -----------------------------------------------------------------------------
+// Csapiloctotest::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt Csapiloctotest::RunMethodL( 
+    CStifItemParser& aItem ) 
+    {
+
+    static TStifFunctionInfo const KFunctions[] =
+        {  
+        // Copy this line for every implemented function.
+        // First string is the function name used in TestScripter script file.
+        // Second is the actual implementation member function. 
+        ENTRY( "GetPositionTO",    Csapiloctotest::GetPositionTO ),
+   //     ENTRY( "GetPositionAsyncTO",    Csapiloctotest::GetPositionAsyncTO ),
+  //      ENTRY( "TraceLPositionTO",    Csapiloctotest::TraceLPositionTO),
+
+        };
+
+    const TInt count = sizeof( KFunctions ) / 
+                        sizeof( TStifFunctionInfo );
+
+    return RunInternalL( KFunctions, count, aItem );
+
+    }
+
+// -----------------------------------------------------------------------------
+// Csapiloctotest::GetPositionTO
+// -----------------------------------------------------------------------------
+//
+TInt Csapiloctotest::GetPositionTO( CStifItemParser& /*aItem*/ )
+    {
+	TInt aRet;
+	TPositionInfo currpos;
+	returnCode = KErrNone;
+	
+    // Print to UI
+    _LIT( KSAPILocTest, "SAPILocTest" );
+    _LIT( KExample, "GetLocationTO" );
+    TestModuleIf().Printf( 0, KSAPILocTest, KExample );
+    
+    __UHEAP_MARK;
+    
+    CLocationService *CoreObj = CLocationService :: NewL();
+    
+    if( NULL == CoreObj )
+    	{
+    	OpenFile();
+	    LogFile.Write(_L8("\n<GetPositionTO Test>\n"));
+	    LogFile.Write(_L8("Failed..\n"));
+	    CloseFile();
+   		return KErrGeneral;
+   		}
+    
+    _LIT(Kidentity ,"Coreclass Testing" ) ;
+    //Not required anymore
+	/*RRequestorStack aRequestorStack;
+	const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
+    aRequestorStack.Insert(identityInfo,0);
+    CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
+		
+    aRet = CoreObj->GetLocationL(&currpos);
+    
+    if( KErrTimedOut == aRet )
+    	{
+    	OpenFile();
+		LogFile.Write(_L8("\n<GetPositionTO Test>\n"));
+		LogFile.Write(_L8("Passed..\n"));
+		CloseFile();
+	   	returnCode = KErrNone;	
+    	}
+    
+    else
+    	{
+    	OpenFile();
+		LogFile.Write(_L8("\n<GetPositionTO Test>\n"));
+		LogFile.Write(_L8("Failed..\n"));
+		CloseFile();
+    	returnCode = KErrGeneral;
+    	}
+    
+    /*delete identityInfo;
+    aRequestorStack.Close();*/
+    delete CoreObj;
+    
+    __UHEAP_MARKEND;
+    
+    return KErrNone;
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// Csapiloctotest::GetPositionAsyncTO
+// -----------------------------------------------------------------------------
+//
+/*class LocUpdateCallBackTO : public MLocationCallBack
+	{
+	TInt iCount ;
+	TInt iRetStatus ;
+	public :
+	TInt HandleNotifyL(HPositionGenericInfo *aOutPos , TInt aError) ;
+	LocUpdateCallBackTO() :iCount(0) , iRetStatus(KErrGeneral)  //Default constructor 
+		{;}
+	};
+  
+  
+TInt LocUpdateCallBackTO :: HandleNotifyL(HPositionGenericInfo *currPos , TInt aError)
+	{
+    
+    if(KErrTimedOut == aError)
+  		{
+	    OpenFile();
+		LogFile.Write(_L8("\n<GetPositionAsyncTO test>\n "));
+		LogFile.Write(_L8("Passed..\n "));
+		CloseFile();
+		returnCode = KErrNone;
+   		}
+ 
+    else
+	 	{
+	 	OpenFile();
+	 	LogFile.Write(_L8("\n<GetPositionAsyncTO test>\n "));
+	 	LogFile.Write(_L8("Failed..\n "));
+	 	CloseFile();
+	  	returnCode = KErrGeneral;
+	 	}
+ 
+  CActiveScheduler *Current = CActiveScheduler :: Current() ;
+  
+  Current->Stop() ;
+  
+  return KErrNone ;
+  }
+
+TInt GetLocFunctionTOL()
+	{
+    CLocationService *CoreObj = CLocationService ::NewL() ;
+    
+    if( NULL == CoreObj )
+    	{
+    	OpenFile();
+	    LogFile.Write(_L8("\n<GetPositionAsyncTO Test>\n"));
+	    LogFile.Write(_L8("Failed..\n"));
+	    CloseFile();
+   		return KErrGeneral;
+   		}
+    
+    _LIT(Kidentity ,"Coreclass Testing" ) ;
+	
+	RRequestorStack aRequestorStack;
+	const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
+    aRequestorStack.Insert(identityInfo,0);
+    
+    CoreObj->SetRequestorIdentityL(aRequestorStack) ;
+		
+    LocUpdateCallBackTO MyUpdates  ;
+    CoreObj->GetLocationL(&MyUpdates) ;
+    CActiveScheduler :: Start() ;
+    
+    aRequestorStack.Close();
+    delete identityInfo;
+    delete CoreObj;
+    return KErrNone;
+	}
+
+
+TInt Csapiloctotest::GetPositionAsyncTO( CStifItemParser& aItem )
+	{
+  	TInt aRet = KErrNone;
+  	TRequestStatus status = KRequestPending;
+  	returnCode = KErrNone;
+    // Print to UI
+    _LIT( KSAPILocTest, "SAPILocTest" );
+    _LIT( KExample, "GetPositionAsyncTO" );
+	TestModuleIf().Printf( 0, KSAPILocTest, KExample );
+	 
+	__UHEAP_MARK;
+	
+	TRAPD(err , aRet = GetLocFunctionTOL()) ;
+    
+    if( err || aRet )
+    returnCode = KErrGeneral; 
+	
+	__UHEAP_MARKEND;
+	
+	return returnCode;
+	}
+
+*/
+// -----------------------------------------------------------------------------
+// Csapiloctotest::TraceLPositionTO
+// -----------------------------------------------------------------------------
+//
+
+/*class TraceLCallBackTO : public MLocationCallBack
+	{
+    TInt iCount ;
+    TInt iRetStatus ;
+    public :
+    TInt HandleNotifyL(HPositionGenericInfo *aOutPos , TInt aError) ;
+    TraceLCallBackTO() :iCount(0) , iRetStatus(KErrGeneral){;}
+    };
+  
+TInt TraceLCallBackTO :: HandleNotifyL(HPositionGenericInfo *currPos , TInt aError)
+	{
+	
+	if(KErrTimedOut == aError)
+		 {
+	 	 CActiveScheduler *Current = CActiveScheduler :: Current() ;
+	  	 Current->Stop() ;
+	  	 OpenFile();
+	  	 LogFile.Write(_L8("Passed..\n"));
+	  	 CloseFile();
+	  	 returnCode = KErrNone;
+	  	 return KErrNone ;	
+    	 }
+    else
+		 {
+	 	 CActiveScheduler *Current = CActiveScheduler :: Current() ;
+	  	 Current->Stop() ;
+	  	 OpenFile();
+	  	 LogFile.Write(_L8("Failed..\n"));
+	  	 CloseFile();
+	  	 returnCode = KErrGeneral;
+	 	 return KErrNone; 
+		 }
+		 
+	}
+
+
+TInt TraceLFunctionTOL()
+	{
+    TInt ret1;
+    TPositionInfo aPosition1;  
+    CLocationService *CoreObj = CLocationService ::NewL() ;
+    
+    if( NULL == CoreObj )
+    	{
+    	OpenFile();
+	    LogFile.Write(_L8("\n<TraceLPositionTO Test>\n"));
+	    LogFile.Write(_L8("Failed..\n"));
+	    CloseFile();
+   		return KErrGeneral;
+   		}
+    
+    _LIT(Kidentity ,"Coreclass Testing" ) ;
+	RRequestorStack aRequestorStack;
+	const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
+    aRequestorStack.Insert(identityInfo,0);
+    CoreObj->SetRequestorIdentityL(aRequestorStack) ;
+		    
+    TraceLCallBackTO MyUpdates ;
+    
+    ret1 = CoreObj->TraceL(&MyUpdates) ;
+    
+    if( KErrNone == ret1 )
+    	{
+        OpenFile();
+	 	LogFile.Write(_L8("\n<TraceLPosition test>\n"));
+	    CloseFile();
+	 	returnCode = KErrNone;
+	 	CActiveScheduler :: Start() ;
+    	}
+    	
+    else
+    	{
+    	returnCode = KErrGeneral;	
+    	}
+    
+    aRequestorStack.Close();
+    delete identityInfo;
+    delete CoreObj;
+    return 0;
+	}
+
+
+TInt Csapiloctotest::TraceLPositionTO( CStifItemParser& aItem )
+	{
+    TInt aRet = KErrNone;
+    returnCode = KErrNone;
+   
+    // Print to UI
+    _LIT( KSAPILocTest, "SAPILocTest" );
+    _LIT( KExample, "TraceLPositionTO" );
+    TestModuleIf().Printf( 0, KSAPILocTest, KExample );
+    
+    __UHEAP_MARK;
+    
+    TRAPD(err ,aRet = TraceLFunctionTOL()) ;
+    if( err || aRet )
+    returnCode = KErrGeneral;
+    
+    __UHEAP_MARKEND;
+    
+    return returnCode;  
+	}	*/
\ No newline at end of file