void CSmsStackTestServer::LoadTsyL(RTelServer& aServer, RPhone& aPhone, const TDesC& aTsyName) { INFO_PRINTF2(_L("Using TSY \"%S\"Loading RTelServer..."), &aTsyName); TInt ret = aServer.LoadPhoneModule(aTsyName); if (ret!=KErrNone) { ERR_PRINTF2(_L("Loading Phone Module returned %d"), ret); User::Leave(ret); } // Find the phone corresponding to this TSY and open a number of handles on it TInt numPhones; ret = aServer.EnumeratePhones(numPhones); if (ret!=KErrNone) { ERR_PRINTF2(_L("Enumerate Phones returned %d"), ret); User::Leave(ret); } TBool found=EFalse; while (numPhones--) { TName phoneTsy; ret = aServer.GetTsyName(numPhones,phoneTsy); if (ret!=KErrNone) { ERR_PRINTF2(_L("GetTsyName returned %d"), ret); User::Leave(ret); } if (phoneTsy.CompareF(aTsyName)==KErrNone) { INFO_PRINTF1(_L("Found RPhone...")); found = ETrue; RTelServer::TPhoneInfo info; ret = aServer.GetPhoneInfo(numPhones,info); if (ret!=KErrNone) { ERR_PRINTF2(_L("GetPhoneInfo returned %d"), ret); User::Leave(ret); } ret = aPhone.Open(aServer,info.iName); if (ret!=KErrNone) { ERR_PRINTF2(_L("Opening phone returned %d"), ret); User::Leave(ret); } INFO_PRINTF1(_L("Initializing...")); ret = aPhone.Initialise(); TTimeIntervalMicroSeconds32 InitPause=9000000; //Required Pause to Allow SMSStack to Complete its Async Init User::After(InitPause); //call to the TSY and finish its StartUp. if (ret!=KErrNone) { ERR_PRINTF2(_L("Completed Initialize returned %d"), ret); User::Leave(ret); } break; } } if(!found) { ERR_PRINTF2(_L("Couldn't find the phone for TSY %S"), &aTsyName); } }