--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationtriggering/tsrc/lbtengine_test/ClientServerSetup/src/ClientServerSetupBlocks.cpp Tue Feb 02 01:06:48 2010 +0200
@@ -0,0 +1,991 @@
+/*
+* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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: Test module to implement Server startup related test cases
+*
+*/
+
+
+
+
+
+// INCLUDE FILES
+#include <e32svr.h>
+#include <StifParser.h>
+#include <Stiftestinterface.h>
+#include <Stiftestmodule.h>
+#include "ClientServerSetup.h"
+#include <lbt.h>
+#include <lbtserver.h>
+#include <e32property.h>
+//#include "..\..\..\..\lbt\inc\lbtserverconsts.h"
+//#include "lbtstatussdkpskeys.h"
+//#include "lbtserverconsts.h"
+
+
+// EXTERNAL DATA STRUCTURES
+//extern ?external_data;
+
+// EXTERNAL FUNCTION PROTOTYPES
+//extern ?external_function( ?arg_type,?arg_type );
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+
+// MACROS
+//#define ?macro ?macro_def
+
+// LOCAL CONSTANTS AND MACROS
+//const ?type ?constant_var = ?constant;
+//#define ?macro_name ?macro_def
+
+// MODULE DATA STRUCTURES
+//enum ?declaration
+//typedef ?declaration
+
+// LOCAL FUNCTION PROTOTYPES
+//?type ?function_name( ?arg_type, ?arg_type );
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// ?function_name ?description.
+// ?description
+// Returns: ?value_1: ?description
+// ?value_n: ?description_line1
+// ?description_line2
+// -----------------------------------------------------------------------------
+//
+/*
+?type ?function_name(
+ ?arg_type arg, // ?description
+ ?arg_type arg) // ?description
+ {
+
+ ?code // ?comment
+
+ // ?comment
+ ?code
+ }
+*/
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CClientServerSetup::Delete
+// Delete here all resources allocated and opened from test methods.
+// Called from destructor.
+// -----------------------------------------------------------------------------
+//
+void CClientServerSetup::Delete()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CClientServerSetup::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::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( "EstablishAndCloseConnection", CClientServerSetup::EstablishAndCloseConnectionL ),
+ ENTRY( "EstablishMultipleConnection", CClientServerSetup::EstablishMultipleConnectionL ),
+ ENTRY( "MultipleServerMultipleConnection", CClientServerSetup::MultipleServerMultipleConnectionL ),
+ ENTRY( "ErrorAlreadyConnected", CClientServerSetup::ErrorAlreadyConnectedL ),
+ ENTRY( "ErrorServerNotRunning", CClientServerSetup::ErrorServerNotRunningL ),
+ ENTRY( "ErrorAlreadyClosed", CClientServerSetup::ErrorAlreadyClosedL ),
+ ENTRY( "ErrorCloseWithoutConnect", CClientServerSetup::ErrorCloseWithoutConnectL ),
+ ENTRY( "OpenConnection", CClientServerSetup::OpenConnectionL ),
+ ENTRY( "ErrorOpenMultipleConnection", CClientServerSetup::ErrorOpenMultipleConnectionL ),
+ ENTRY( "MultipleClientMultipleConnection", CClientServerSetup::MultipleClientMultipleConnectionL ),
+ ENTRY( "ErrorServerNotConnected", CClientServerSetup::ErrorServerNotConnectedL ),
+ ENTRY( "ErrorSubsessionNotClosed", CClientServerSetup::ErrorSubsessionNotClosedL ),
+ ENTRY( "ErrorSubsessionAlreadyClosed", CClientServerSetup::ErrorSubsessionAlreadyClosedL ),
+ ENTRY( "GetLBTServerVersion", CClientServerSetup::GetLBTServerVersionL ),
+ ENTRY( "ErrorGetLBTServerVersion", CClientServerSetup::ErrorGetLBTServerVersionL ),
+ ENTRY( "FindServer", CClientServerSetup::FindServerL ),
+ ENTRY( "StatusInformationSupervisionNotActive", CClientServerSetup::StatusInformationSupervisionNotActiveL ),
+ ENTRY( "RequestStatusChangeNotification", CClientServerSetup::RequestStatusChangeNotificationL ),
+ ENTRY( "killLBTServer", CClientServerSetup::killLBTServerL ),
+ };
+
+ const TInt count = sizeof( KFunctions ) /
+ sizeof( TStifFunctionInfo );
+
+ return RunInternalL( KFunctions, count, aItem );
+
+ }
+
+// -----------------------------------------------------------------------------
+// CClientServerSetup::EstablishConnection
+// Description :: This Method is Testing Connect
+// functanality of RLbtServer.
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::EstablishConnectionL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("EstablishConnection"));
+ //collecting logs
+ iLog->Log(_L("Start Connection"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+ //RLbtServer clientObject;//testing
+ //Connect to RLbtServer
+ TInt retConnect = lbtServ.Connect();
+ if(retConnect!=KErrNone)
+ {
+ iLog->Log(_L("Connection to RLbtServer Failed %d"),retConnect);
+ return retConnect;
+ }
+ CleanupClosePushL(lbtServ);
+ iLog->Log(_L("Connection to RLbtServer Passed "));
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CClientServerSetup::EstablishAndCloseConnection
+// Description :: This Method is Testing Connect and
+// Close functanality of RLbtServer.
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::EstablishAndCloseConnectionL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("EstablishAndCloseConnection"));
+ //collecting logs
+ iLog->Log(_L("Start Connection"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+ //Connect to RLbtServer
+ TInt retConnect = lbtServ.Connect();
+ if(retConnect!=KErrNone)
+ {
+ iLog->Log(_L("Connection to RLbtServer Failed %d"),retConnect);
+ return retConnect;
+ }
+ CleanupClosePushL(lbtServ);
+ iLog->Log(_L("Connection to RLbtServer Passed "));
+
+ //Close connection to RLbtServer
+ lbtServ.Close();
+ CleanupStack::PopAndDestroy(&lbtServ);
+ iLog->Log(_L("close Connection"));
+ //Return value
+ return KErrNone;
+
+ }
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::EstablishMultipleConnection
+// Description :: This Method is Testing Establishing and closing
+// connections to RLbtServer multiple times.
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::EstablishMultipleConnectionL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("EstablishConnection"));
+ //collecting logs
+ iLog->Log(_L("Start Connection"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+ //Connect to RLbtServer
+ for(TInt i=0;i<10;i++)
+ {
+ TInt retConnect = lbtServ.Connect();
+ if(retConnect!=KErrNone)
+ {
+ iLog->Log(_L("Connection to RLbtServer Failed %d"),retConnect);
+ return retConnect;
+ }
+ iLog->Log(_L("Connection to RLbtServer Passed "));
+ CleanupClosePushL(lbtServ);
+ //Close connection to RSuplNetworkServer
+ lbtServ.Close();
+ CleanupStack::PopAndDestroy(&lbtServ);
+ iLog->Log(_L("close Connection"));
+ }
+
+ //Return value
+ return KErrNone;
+
+ }
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::MultipleServerMultipleConnection
+// Description :: This Method is Testing Connect and
+// Close functanality to multiple server sessions of RLbtServer.
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::MultipleServerMultipleConnectionL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("EstablishConnection"));
+ //collecting logs
+ iLog->Log(_L("Creating 10 Instances of Server"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ[5];
+ //Connect to RLbtServer
+ for(TInt i=0;i<5;i++)
+ {
+ TInt retConnect = lbtServ[i].Connect();
+ if(retConnect!=KErrNone)
+ {
+ iLog->Log(_L("Connection to RLbtServer Failed %d"),retConnect);
+ return retConnect;
+ }
+ CleanupClosePushL(lbtServ[i]);
+ iLog->Log(_L("Connection to RLbtServer %d Passed "),i);
+
+ }
+ for(TInt i=0;i<5;i++)
+ {
+ lbtServ[i].Close();
+ iLog->Log(_L("close Connection of %d"),i);
+ // CleanupStack::PopAndDestroy(&lbtServ[i]);
+ }
+ CleanupStack::PopAndDestroy(5);
+
+ //Return value
+ return KErrNone;
+
+ }
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::ErrorAlreadyConnected
+// Description :: This Method is trying to connect to server when
+// it is already connected
+// Return Value :: On failure System wide error code.
+// Panics :: panics with ELbtServerHandleNotClosed
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::ErrorAlreadyConnectedL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("ErrorAlreadyConnected"));
+ //collecting logs
+ iLog->Log(_L("Start Connection"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+ //Connect to RLbtServer
+ TInt retConnect = lbtServ.Connect();
+ if(retConnect!=KErrNone)
+ {
+ iLog->Log(_L("Connection to RLbtServer Failed %d"),retConnect);
+ return retConnect;
+ }
+ CleanupClosePushL(lbtServ);
+ iLog->Log(_L("Connection to RLbtServer Passed "));
+ iLog->Log(_L("Trying to connect again "));
+ TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 1);
+ TInt err= lbtServ.Connect();
+ if(err!=KErrNone)
+ {
+ iLog->Log(_L("Connection to RLbtServer Failed %d"),retConnect);
+
+ }
+
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CClientServerSetup::ErrorServerNotRunning
+// Description :: This Method is trying to connect to server
+// when server is not running.
+// Return Value :: KErrNotSupported if server not running On failure System wide error code.
+// -----------------------------------------------------------------------------
+//
+
+ TInt CClientServerSetup::ErrorServerNotRunningL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("EstablishConnection"));
+ //collecting logs
+ iLog->Log(_L("Start Connection"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+ //Connect to RLbtServer
+ TInt retConnect = lbtServ.Connect();
+ if(retConnect!=KErrNotSupported)
+ {
+ iLog->Log(_L("Connection to RLbtServer Failed %d"),retConnect);
+ return KErrNone;
+ }
+ iLog->Log(_L("Connection to RLbtServer Passed "));
+
+ //Return value
+ return -99;
+
+ }
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::ErrorAlreadyClosed
+// Description :: This Method is trying to close connection when it is already closed
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::ErrorAlreadyClosedL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("EstablishConnection"));
+ //collecting logs
+ iLog->Log(_L("Start Connection"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+ //RLbtServer clientObject;//testing
+ //Connect to RLbtServer
+ TInt retConnect = lbtServ.Connect();
+ if(retConnect!=KErrNone)
+ {
+ iLog->Log(_L("Connection to RLbtServer Failed %d"),retConnect);
+ return retConnect;
+ }
+ iLog->Log(_L("Connection to RLbtServer Passed "));
+ CleanupClosePushL(lbtServ);
+ //Close connection to RLbtServer
+ lbtServ.Close();
+ iLog->Log(_L("close Connection"));
+ CleanupStack::PopAndDestroy(&lbtServ);
+
+ iLog->Log(_L("close Connection again"));
+ lbtServ.Close();
+ iLog->Log(_L(" Connection closed again"));
+ //Return value
+ return KErrNone;
+
+ }
+
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::ErrorCloseWithoutConnect
+// Description :: This Method is trying to close connection without
+// opening the connection.
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::ErrorCloseWithoutConnectL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("EstablishConnection"));
+ //collecting logs
+ iLog->Log(_L("Start Connection"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+ //RLbtServer clientObject;//testing
+
+ lbtServ.Close();
+ iLog->Log(_L("close Connection without connect"));
+
+ //Return value
+ return KErrNone;
+
+ }
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::OpenConnection
+// Description :: This Method is Testing Open and
+// Close functanality of RLbt client.
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::OpenConnectionL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("OpenConnection"));
+ //collecting logs
+ iLog->Log(_L("Start Connection"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+ RLbt lbt;
+ //Connect to RLbtServer
+ TInt retConnect = lbtServ.Connect();
+ CleanupClosePushL(lbtServ);
+ iLog->Log(_L("Connection to RLbtServer Passed "));
+
+ TInt retOpen = lbt.Open(lbtServ);
+ if(retOpen!=KErrNone)
+ {
+ iLog->Log(_L("Opening subsession to RLbtServer Failed %d"),retOpen);
+ return retOpen;
+ }
+ CleanupClosePushL(lbt);
+ //Closes the subsession
+ lbt.Close();
+ //CleanupStack::PopAndDestroy(&lbt);
+ //Close connection to RLbtServer
+ lbtServ.Close();
+ CleanupStack::Pop(&lbt);
+ CleanupStack::PopAndDestroy(&lbtServ);
+ iLog->Log(_L("close Connection"));
+ //Return value
+ return KErrNone;
+
+ }
+
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::ErrorOpenMultipleConnection
+// Description :: This Method is trying to open subsession when it is already opened.
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::ErrorOpenMultipleConnectionL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("OpenConnection"));
+ //collecting logs
+ iLog->Log(_L("Start Connection"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+ RLbt lbt;
+ //Connect to RLbtServer
+ TInt retConnect = lbtServ.Connect();
+ CleanupClosePushL(lbtServ);
+
+ TInt retOpen = lbt.Open(lbtServ);
+ if(retOpen!=KErrNone)
+ {
+ iLog->Log(_L("Opening subsession to RLbtServer Failed %d"),retOpen);
+ return retOpen;
+ }
+ CleanupClosePushL(lbt);
+ TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 2);
+ retOpen = lbt.Open(lbtServ);
+ if(retOpen!=KErrNone)
+ {
+ iLog->Log(_L("Opening subsession to RLbtServer Failed %d"),retOpen);
+ return KErrNone;
+ }
+
+
+ //Closes the subsession
+ lbt.Close();
+ CleanupStack::Pop(&lbt);
+
+ //Close connection to RLbtServer
+ lbtServ.Close();
+ CleanupStack::PopAndDestroy(&lbtServ);
+ iLog->Log(_L("close Connection"));
+ //Return value
+ return KErrNone;
+
+ }
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::MultipleClientMultipleConnection
+// Description :: This Method is Testing multiple client interfaces
+// opening and closing subsessions
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::MultipleClientMultipleConnectionL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("OpenConnection"));
+ //collecting logs
+ iLog->Log(_L("Start Connection"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+ RLbt lbt[5];
+ //RLbtServer serverObject;//testing
+ //Connect to RLbtServer
+ TInt retConnect = lbtServ.Connect();
+ CleanupClosePushL(lbtServ);
+ iLog->Log(_L("Connection to RLbtServer Passed "));
+ for(TInt i =0;i<5;i++)
+ {
+ TInt retOpen = lbt[i].Open(lbtServ);
+ if(retOpen!=KErrNone)
+ {
+ iLog->Log(_L("Opening subsession to RLbtServer Failed %d"),retOpen);
+ return retOpen;
+ }
+ CleanupClosePushL(lbt[i]);
+ }
+
+ //Closes the subsessions
+ for(TInt i =0;i<5;i++)
+ {
+ lbt[i].Close();
+
+ }
+ CleanupStack::Pop(5);
+
+ //Close connection to RLbtServer
+ lbtServ.Close();
+ CleanupStack::PopAndDestroy(&lbtServ);
+ iLog->Log(_L("close Connection"));
+ //Return value
+ return KErrNone;
+
+ }
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::ErrorServerNotConnected
+// Description :: This Method is trying to open subsession
+// when serve is not connected.
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::ErrorServerNotConnectedL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("OpenConnection"));
+ //collecting logs
+ iLog->Log(_L("Start Connection"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+ RLbt lbt;
+ //RLbtServer serverObject;//testing
+ //Connect to RLbtServer
+ // TInt retConnect = lbtServ.Connect();
+
+ // iLog->Log(_L("Connection to RLbtServer Passed "));
+ TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 2);
+ TInt retOpen = lbt.Open(lbtServ);
+ if(retOpen!=KErrNone)
+ {
+ iLog->Log(_L("Opening subsession to RLbtServer Failed %d"),retOpen);
+ return retOpen;
+ }
+ CleanupClosePushL(lbt);
+ //Closes the subsession
+ lbt.Close();
+ CleanupStack::PopAndDestroy(&lbt);
+ //Close connection to RLbtServer
+ // lbtServ.Close();
+ // iLog->Log(_L("close Connection"));
+ //Return value
+ return KErrNone;
+
+ }
+
+
+// -----------------------------------------------------------------------------
+// CClientServerSetup::ErrorSubsessionNotClosed
+// Description :: This Method is trying to close session
+// when all the subsessions not closed.
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::ErrorSubsessionNotClosedL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("OpenConnection"));
+ //collecting logs
+ iLog->Log(_L("Start Connection"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+ RLbt lbt;
+ //RLbtServer serverObject;//testing
+ //Connect to RLbtServer
+ TInt retConnect = lbtServ.Connect();
+ CleanupClosePushL(lbtServ);
+ // iLog->Log(_L("Connection to RLbtServer Passed "));
+ TInt retOpen = lbt.Open(lbtServ);
+ if(retOpen!=KErrNone)
+ {
+ iLog->Log(_L("Opening subsession to RLbtServer Failed %d"),retOpen);
+ return retOpen;
+ }
+ CleanupClosePushL(lbt);
+ //Closes the subsession
+ // clientobject.Close();
+ //Close connection to RLbtServer
+ // TestModuleIf().SetExitReason( CTestModuleIf::EPanic, 4);
+ lbtServ.Close();
+ CleanupStack::Pop(&lbt);
+ CleanupStack::PopAndDestroy(&lbtServ);
+ iLog->Log(_L("close Connection"));
+ //Return value
+ return KErrNone;
+
+ }
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::ErrorSubsessionAlreadyClosed
+// Description :: This Method is trying to close subsession
+// when there is no opened subsession
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+
+
+ TInt CClientServerSetup::ErrorSubsessionAlreadyClosedL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("OpenConnection"));
+ //collecting logs
+ iLog->Log(_L("Start Connection"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+ RLbt lbt;
+ //RLbtServer serverObject;//testing
+ //Connect to RLbtServer
+ TInt retConnect = lbtServ.Connect();
+ CleanupClosePushL(lbtServ);
+ // iLog->Log(_L("Connection to RLbtServer Passed "));
+ TInt retOpen = lbt.Open(lbtServ);
+ if(retOpen!=KErrNone)
+ {
+ iLog->Log(_L("Opening subsession to RLbtServer Failed %d"),retOpen);
+ return retOpen;
+ }
+ CleanupClosePushL(lbt);
+ //Closes the subsession
+ lbt.Close();
+
+ //Closes the subsession again
+ lbt.Close();
+ CleanupStack::PopAndDestroy(&lbt);
+ //Close connection to RLbtServer
+ lbtServ.Close();
+ CleanupStack::PopAndDestroy(&lbtServ);
+ iLog->Log(_L("close Connection"));
+ //Return value
+ return KErrNone;
+
+ }
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::GetLBTServerVersion
+// Description :: This Method is Testing the retrieval of LBTServer version
+// information.
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::GetLBTServerVersionL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("EstablishConnection"));
+ //collecting logs
+ iLog->Log(_L("GetLBTServerVersion"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+ //RLbtServer clientObject;//testing
+
+ TVersion LBTServerVersion= lbtServ.Version();
+ //Print version Number to UI
+ TestModuleIf().Printf(1, _L("VersionMajor VersionMinor VersionBuild"),
+ _L("%d:%d:%d"),LBTServerVersion.iBuild,LBTServerVersion.iMajor,
+ LBTServerVersion.iMinor);
+ //Store version number in log file.
+ iLog->Log(_L("VersionMajor =%d VersionMinor =%d VersionBuild =%d"),
+ LBTServerVersion.iBuild,LBTServerVersion.iMajor,LBTServerVersion.iMinor);
+
+ //Close connection to RLbtServer
+ lbtServ.Close();
+ iLog->Log(_L("close Connection"));
+ //Return value
+ return KErrNone;
+
+ }
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::ErrorGetLBTServerVersion
+// Description :: This Method is Testing Connect and
+// Close functanality of RLbtServer.
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::ErrorGetLBTServerVersionL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("EstablishConnection"));
+ //collecting logs
+ iLog->Log(_L("Get Version Information"));
+ //Create instance of RLbtServer
+ RLbtServer lbtServ;
+
+ TVersion LBTServerVersion= lbtServ.Version();
+ //Print version Number to UI
+ TestModuleIf().Printf(1, _L("VersionMajor VersionMinor VersionBuild"),
+ _L("%d:%d:%d"),LBTServerVersion.iBuild,LBTServerVersion.iMajor,
+ LBTServerVersion.iMinor);
+ //Store version number in log file.
+ iLog->Log(_L("VersionMajor =%d VersionMinor =%d VersionBuild =%d"),
+ LBTServerVersion.iBuild,LBTServerVersion.iMajor,LBTServerVersion.iMinor);
+
+ //Close connection to RLbtServer
+ // serverObject.Close();
+ // iLog->Log(_L("close Connection"));
+ //Return value
+ return KErrNone;
+
+ }
+
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::FindServer
+// Description :: This Method is Testing Connect and
+// Close functanality of RLbtServer.
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::FindServerL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("EstablishConnection"));
+ //collecting logs
+ iLog->Log(_L("Find Server"));
+ _LIT(KProcessName,"lbtserver.exe") ;
+ TFindServer findLBTServer(KProcessName);
+ TInt result;
+ TFullName name;
+ result = findLBTServer.Next(name);
+ if (result == KErrNone)
+ {
+ // Server already running
+// RProcess serverprocess;
+// TInt error =serverprocess.Open(KProcessName);
+// TInt priority = serverprocess.Priority();
+ return KErrNone;
+ }
+ else
+ {
+ return result;
+ }
+
+
+ }
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::StatusInformationSupervisionNotActive
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::StatusInformationSupervisionNotActiveL( CStifItemParser& aItem )
+ {
+/*
+ RProperty iProperty;
+
+ TInt ltSupervisionStatus;
+
+ //Get location triggering supervision status
+ User::LeaveIfError(iProperty.Get(
+ KPSUidLbtStatusInformation,
+ KLbtLocationTriggeringSupervisionStatus,
+ ltSupervisionStatus));
+ //Use following code for change notification.
+
+ //Listen for change event of location triggering
+ //supervision status.
+ //Attached to the key
+ User::LeaveIfError(iProperty.Attach(
+ KPSUidLbtStatusInformation,
+ KLbtLocationTriggeringSupervisionStatus));
+
+ TRequestStatus status;
+ iProperty.Subscribe(status);
+ User::WaitForRequest(status);
+
+ //Get the new value
+ User::LeaveIfError(status.Int());
+ User::LeaveIfError(iProperty.Get(
+ KPSUidLbtStatusInformation,
+ KLbtLocationTriggeringSupervisionStatus,
+ ltSupervisionStatus));
+
+ iProperty.Close();
+
+ //Return value
+ return KErrNone;
+*/
+return KErrNone;
+ }
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::RequestStatusChangeNotification
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::RequestStatusChangeNotificationL( CStifItemParser& aItem )
+ {
+
+ /* RProperty iProperty;
+
+ TInt ltSupervisionStatus;
+
+ //Get location triggering supervision status
+ User::LeaveIfError(iProperty.Get(
+ KPSUidLbtStatusInformation,
+ KLbtLocationTriggeringSupervisionStatus,
+ ltSupervisionStatus));
+ //Use following code for change notification.
+
+ //Listen for change event of location triggering
+ //supervision status.
+ //Attached to the key
+ User::LeaveIfError(iProperty.Attach(
+ KPSUidLbtStatusInformation,
+ KLbtLocationTriggeringSupervisionStatus));
+
+ TRequestStatus status;
+ iProperty.Subscribe(status);
+ User::WaitForRequest(status);
+
+ //Get the new value
+ User::LeaveIfError(status.Int());
+ User::LeaveIfError(iProperty.Get(
+ KPSUidLbtStatusInformation,
+ KLbtLocationTriggeringSupervisionStatus,
+ ltSupervisionStatus));
+
+ iProperty.Close();
+
+ //Return value
+ return KErrNone;*/
+return KErrNone;
+ }
+
+
+ // -----------------------------------------------------------------------------
+// CClientServerSetup::FindServer
+// Description :: This Method is Testing Connect and
+// Close functanality of RLbtServer.
+// Return Value :: On Success KErrNone else System wide error code.
+// -----------------------------------------------------------------------------
+//
+TInt CClientServerSetup::killLBTServerL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ TestModuleIf().Printf( 0, _L("CClientServerSetup"),_L("killLBTServer"));
+ //collecting logs
+ iLog->Log(_L("Find Server"));
+ _LIT(KProcessName,"lbtserver.exe") ;
+ TFindServer findLBTServer(KProcessName);
+ TInt result;
+ TFullName name;
+ result = findLBTServer.Next(name);
+
+ if (result == KErrNone)
+ {
+ //TInt res;
+ _LIT(KProcessName,"lbtserver.exe") ;
+ RProcess aProcess;
+ TInt res = aProcess.Open(KProcessName);
+ aProcess.Kill(0);
+
+// return KErrNone;
+ }
+ else
+ {
+
+ }
+ result = findLBTServer.Next(name);
+ if (result == KErrNone)
+ {
+ iLog->Log(_L("server started again"));
+ }
+
+return KErrNone;
+ }
+
+
+
+
+ /**********************Code starts here**********************
+
+ TFindProcess aProcess2(_L("*"));
+ TFullName aResult;
+
+ while(aProcess2.Next(aResult)==KErrNone){
+ TInt idx = aPtr.Find(aResult);
+ if(idx!=KErrNotFound){//found process
+ RProcess aProcess;
+ aProcess.Open(aProcess2);
+ aProcess.Kill(0);
+ aProcess.Close();
+ InitProcessList();
+ break;
+ }
+ }
+
+**********************Code ends here************************/
+
+
+
+
+
+
+// -----------------------------------------------------------------------------
+// CClientServerSetup::?member_function
+// ?implementation_description
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+/*
+TInt CClientServerSetup::?member_function(
+ CItemParser& aItem )
+ {
+
+ ?code
+
+ }
+*/
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+// None
+
+// End of File