diff -r 630d2f34d719 -r 07a122eea281 cbsref/telephonyrefplugins/atltsy/integrationtest/src/testltsymodel.cpp --- a/cbsref/telephonyrefplugins/atltsy/integrationtest/src/testltsymodel.cpp Tue Aug 31 16:23:08 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,276 +0,0 @@ -// TestTelephonyModel.cpp -// Copyright (c) Symbian Software Ltd 2008. All rights reserved. -// -// Implementation of the Class CTestTelephonyModel - -// CTSY include -#include - -#include "TestLtsyModel.h" -#include "testltsycallshareddata.h" -#include "TestLtsyPktSharedData.h" -#include "TestLtsySmsSharedData.h" -#include "TestLtsyPhoneStoreSharedData.h" - -// the file used to identify if we run on real environment -//_LIT(KCTsyRealEnvFilePath, "z:\\systemtest\\testdata\\telephony\\ctsyrealenv.txt"); -//_LIT(KMmTsyModuleName, "PhoneTsy"); - -/** - * Factory function - * - */ -CTestLtsyModel* CTestLtsyModel::NewL() - { - CTestLtsyModel* self = new (ELeave) CTestLtsyModel(); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - return self; - } - -/** - * Destructor - * - */ -CTestLtsyModel::~CTestLtsyModel() - { - delete iSharedPhoneEnv; - delete iCallSharedData; - delete iPktSharedData; - delete iSmsSharedData; - delete iPhoneStoreSharedData; - } - -/** - * 2nd Constructor - * - */ -void CTestLtsyModel::ConstructL() - { - iSharedPhoneEnv = CTestLtsySharedEnv::NewL(); - iCallSharedData = CTestLtsyCallSharedData::NewL(); - iPktSharedData = CTestLtsyPktSharedData::NewL(); - iSmsSharedData = CTestLtsySmsSharedData::NewL(); - iPhoneStoreSharedData = CTestLtsyPhoneStoreSharedData::NewL(); - } - -//============================================================================= -// class CTestTelephonyAdaptorEnv -//============================================================================= -/** - * Constructor - * - */ -CTestLtsySharedEnv::CTestLtsySharedEnv() - { - // reset iPhoneInitialized - iPhoneInitialized = EFalse; - iPhoneIndex = -1; - } - -/** - * Destructor - */ -CTestLtsySharedEnv::~CTestLtsySharedEnv() - { - ClosePhone(); - DestroyTelephony(); - } - -/** - * Factory function - * - */ -CTestLtsySharedEnv* CTestLtsySharedEnv::NewL() - { - CTestLtsySharedEnv* self = new (ELeave) CTestLtsySharedEnv(); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - return self; - } - -/** - * 2nd constructor - */ -void CTestLtsySharedEnv::ConstructL() - { - } - -/** - * Load phone module - * - * @param const TDesC& aModuleName The phone module used by ETel server for loading a specific TSY - */ -void CTestLtsySharedEnv::LoadModuleL(const TDesC& aModuleName) - { - - RFs fs; - User::LeaveIfError(fs.Connect()); - CleanupClosePushL(fs); - CleanupStack::PopAndDestroy(&fs); - - TInt ret = iSharedTelServer.LoadPhoneModule(aModuleName); - - if (ret != KErrNone) - { - iSharedTelServer.Close(); - User::Leave(ret); - } - } - -/** - * Open the shared phone - * - * @param const TDesC& aModuleName The phone module used by ETel server for loading a specific TSY - */ -void CTestLtsySharedEnv::OpenPhoneL(const TDesC& aModuleName) - { - THandleInfo handleInfo; - iSharedTelServer.HandleInfo(&handleInfo); - if(iPhoneInitialized) - { - // a panic occurs if handleInfo.iNumThreads <= 0 - if(handleInfo.iNumThreads <= 0) - { - iSharedPhone = NULL; - iPhoneInitialized = EFalse; - iSharedTelServer.Close(); - } - else - { - // return if phone has already been opened before - return; - } - } - - // make sure this pointer was NULL - ASSERT(iSharedPhone == NULL); - - // make a copy of module name - iModuleName.Copy(aModuleName); - - // start connect to ETel server - User::LeaveIfError(iSharedTelServer.Connect()); - User::LeaveIfError(iSharedTelServer.ShareAuto()); - - // start load module - LoadModuleL(aModuleName); - - // check if we can find corresponding phone object according to passed TSY module name - if(!FindPhoneIndex()) - { - // the phone index could not be found - User::Leave(KErrNotFound); - } - - // create a new RMobilePhone instance - iSharedPhone = new (ELeave) RMobilePhone(); - RTelServer::TPhoneInfo phoneInfo; - User::LeaveIfError(iSharedTelServer.GetPhoneInfo(iPhoneIndex,phoneInfo)); - - // start openning phone - TInt ret = iSharedPhone->Open(iSharedTelServer,phoneInfo.iName); - if(ret != KErrNone) - { - User::Leave(ret); - } - - iPhoneInitialized = ETrue; - } - -/** - * Find the phone index according to TSY name - * - */ -TBool CTestLtsySharedEnv::FindPhoneIndex() - { - TInt phoneNum = 0; - TInt err = iSharedTelServer.EnumeratePhones(phoneNum); - if(err != KErrNone) - { - return EFalse; - } - - TBool found = EFalse; - for(TInt i = 0; i < phoneNum; i++) - { - RTelServer::TPhoneInfo phoneInfo; - TBuf moduleName; - err = iSharedTelServer.GetTsyName(i,moduleName); - if(err != KErrNone) - { - return EFalse; - } - else - { - if(moduleName.CompareF(iModuleName) == 0) - { - iPhoneIndex = i; - found = ETrue; - break; - } - } - } - - return found; - } - -/** - * Close the shared phone and server - * Client must call this function, if it has called OpenPhoneL(). - * - */ -void CTestLtsySharedEnv::ClosePhone() - { - // close and delete the shared phone - iSharedPhone->Close(); - delete iSharedPhone; - iSharedPhone = NULL; - - // unload the phone module - iSharedTelServer.UnloadPhoneModule(iModuleName); - iSharedTelServer.Close(); - - // reset iPhoneInitialized - iPhoneInitialized = EFalse; - } - -/** - * Create a CTelephony object and related resource. - * - */ -void CTestLtsySharedEnv::CreateTelephonyL() - { - iActiveSchaduler = new (ELeave) CActiveScheduler(); - CActiveScheduler::Install(iActiveSchaduler); - - iTelephony = CTelephony::NewL(); - } - -/** - * Delete CTelephony object related source. - * - */ -void CTestLtsySharedEnv::DestroyTelephony() - { - - delete iActiveSchaduler; - iActiveSchaduler = NULL; - delete iTelephony; - iTelephony = NULL; - - delete iSharedPhone; - iSharedPhone = NULL; - - // reset iPhoneInitialized - iPhoneInitialized = EFalse; - } - -CTelephony* CTestLtsySharedEnv::Telephony() - { - return iTelephony; - } - -// end of file