--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cbsref/telephonyrefplugins/atltsy/integrationtest/src/testltsyshareddata.cpp Tue Jul 06 15:36:38 2010 +0300
@@ -0,0 +1,193 @@
+// @file TestTelephonySharedData.cpp
+//
+// Copyright (c) 2004-2007 Symbian Software Ltd. All rights reserved.
+//
+// This contains implementation of Shared Data
+
+// User include
+#include "TestLtsySharedData.h"
+
+// Epoc include
+#include <etelmm.h>
+
+/*@{*/
+/// Literal constants
+_LIT(KSimTsyName, "SIM");
+_LIT(KPhoneName, "SimulatorPhone");
+_LIT(KDummyTsyName, "DMM");
+_LIT(KDMobile, "DMobile");
+/*@}*/
+
+CTestLtsySharedData* CTestLtsySharedData::NewL()
+ {
+ CTestLtsySharedData* self=new(ELeave) CTestLtsySharedData();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop();
+ return self;
+ }
+
+CTestLtsySharedData::CTestLtsySharedData()
+: CBase()
+, iCallId(CTelephony::EISVCall1)
+, iCallId1(CTelephony::EISVCall2)
+, iTelServerConnected(EFalse)
+, iPhoneModuleLoaded(EFalse)
+, iPhoneOpened(EFalse)
+, iPhoneInitialised(EFalse)
+, iLineOpened(EFalse)
+, iCallOpened(EFalse)
+, iTelephony(NULL)
+, iActiveScheduler(NULL)
+/*
+Constructor
+*/
+ {
+ }
+
+CTestLtsySharedData::~CTestLtsySharedData()
+/*
+Destructor
+*/
+ {
+ ClosePhone();
+ }
+
+void CTestLtsySharedData::ConstructL()
+ {
+ }
+
+TInt CTestLtsySharedData::OpenPhone(const TName& aTsyName, CTestStep& aTestStep)
+/*
+This function will load TSY depending on the comms db
+settings and opens the phone for making a call.
+
+@param - TSY to be loaded
+@param - CTestStep instance
+@leave - system wide error codes
+*/
+ {
+ ClosePhone();
+
+ // Load the phone module depending on the comms DB settings
+ TInt ret=KErrNone;
+ if(aTsyName.Compare(KSimTsyName) == 0 )
+ {
+ iTSYName = aTsyName;
+ }
+ else if (aTsyName.Compare(KDummyTsyName) == 0 )
+ {
+ iTSYName = aTsyName;
+ }
+ else
+ {
+ ret=KErrArgument;
+ }
+
+ if ( ret==KErrNone )
+ {
+ ret = ReopenPhone();
+ }
+
+ if ( ret!=KErrNone )
+ {
+ aTestStep.ERR_PRINTF2(_L("Failed to open phone. Error code = %d"), ret);
+ aTestStep.SetTestStepResult(EFail);
+ }
+
+ return ret;
+ }
+
+TInt CTestLtsySharedData::ReopenPhone()
+/*
+This function will load TSY depending on the comms db
+settings and opens the phone for making a call.
+
+@param - CTestStep instance
+@leave - system wide error codes
+*/
+ {
+ TRAPD(ret, iActiveScheduler=new (ELeave) CActiveScheduler());
+
+ if ( ret==KErrNone )
+ {
+ CActiveScheduler::Install(iActiveScheduler);
+ ret=iServer.Connect();
+ }
+
+ if ( ret==KErrNone )
+ {
+ iTelServerConnected = ETrue;
+ ret=iServer.LoadPhoneModule(iTSYName);
+ }
+
+ if ( ret==KErrNone )
+ {
+ iPhoneModuleLoaded = ETrue;
+ TRAP(ret, iTelephony=CTelephony::NewL());
+ }
+
+ if ( ret==KErrNone )
+ {
+ // Open the phone
+ if ( iTSYName.Compare(KDummyTsyName) == 0 )
+ {
+ // Open the phone with the Dummy mobile phone name
+ ret = iMobilePhone.Open(iServer, KDMobile);
+ }
+ else
+ {
+ // open the phone with the simuplator phone
+ ret = iMobilePhone.Open(iServer, KPhoneName);
+ }
+ iPhoneOpened = ret==KErrNone;
+ }
+
+ return ret;
+ }
+
+void CTestLtsySharedData::ClosePhone()
+/*
+Closes the RTelServer, RmobilePhone,RMobileCall and RMobileLine opened sessions.
+*/
+ {
+ if ( iCallOpened )
+ {
+ iMobileCall.Close();
+ iCallOpened=EFalse;
+ }
+
+ if ( iLineOpened )
+ {
+ iMobileLine.Close();
+ iLineOpened=EFalse;
+ }
+
+ if ( iPhoneOpened )
+ {
+ iMobilePhone.Close();
+ iPhoneOpened = EFalse;
+ }
+
+ if ( iTelephony!= NULL )
+ {
+ delete iTelephony;
+ iTelephony=NULL;
+ }
+
+ if ( iPhoneModuleLoaded )
+ {
+ iServer.UnloadPhoneModule(iTSYName);
+ iPhoneModuleLoaded = EFalse;
+ }
+
+ if ( iTelServerConnected )
+ {
+ iServer.Close();
+ iTelServerConnected = EFalse;
+ }
+
+ CActiveScheduler::Install(NULL);
+ delete iActiveScheduler;
+ iActiveScheduler=NULL;
+ }