diff -r 000000000000 -r 14df0fbfcc4e sapi_location/tsrc/testing/tsapiloctotest/src/sapiloctotestblocks.cpp --- /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 +#include +#include +#include "sapiloctotest.h" +#include +#include + + +_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\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\n")); + LogFile.Write(_L8("Passed..\n")); + CloseFile(); + returnCode = KErrNone; + } + + else + { + OpenFile(); + LogFile.Write(_L8("\n\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\n ")); + LogFile.Write(_L8("Passed..\n ")); + CloseFile(); + returnCode = KErrNone; + } + + else + { + OpenFile(); + LogFile.Write(_L8("\n\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\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\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\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