--- a/telephonyserverplugins/simtsy/test/Te_SimSms/Te_SimSmsTestStepBase.cpp Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/simtsy/test/Te_SimSms/Te_SimSmsTestStepBase.cpp Thu May 06 15:10:38 2010 +0100
@@ -1,244 +1,244 @@
-// Copyright (c) 2005-2009 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:
-//
-
-#include "Te_SimSmsTestStepBase.h"
-#include "Te_SimSmsUtil.h"
-
-TVerdict CSimSmsTestStepBase::doTestStepPreambleL()
- {
- __UHEAP_MARK;
-
- TInt ret = RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, 0);
- if (ret != KErrNone)
- {
- INFO_PRINTF1(_L("Failed resetting"));
- User::Leave(ret);
- }
-
- iTestScheduler=new (ELeave) CActiveScheduler;
- CActiveScheduler::Install(iTestScheduler);
-
- ret = iTelServer.Connect();
- if (ret!=KErrNone)
- {
- INFO_PRINTF1(_L("Failed to connect to telephony server"));
- delete iTestScheduler;
- User::Leave(ret);
- }
- ret=iTelServer.LoadPhoneModule(KSimtsyName);
- if (ret!=KErrNone)
- {
- INFO_PRINTF1(_L("Failed to load phone module"));
- iTelServer.Close();
- delete iTestScheduler;
- User::Leave(ret);
- }
-
- ret=iPhone.Open(iTelServer,KPhoneName) ;
- if (ret!=KErrNone)
- {
- INFO_PRINTF1(_L("Failed to open phone module"));
- iTelServer.UnloadPhoneModule(KSimtsyName);
- iTelServer.Close();
- delete iTestScheduler;
- User::Leave(ret);
- }
- ret=iPhone.Initialise();
- if (ret!=KErrNone)
- {
- INFO_PRINTF1(_L("Failed to initialise the phone"));
- iPhone.Close();
- iTelServer.UnloadPhoneModule(KSimtsyName);
- iTelServer.Close();
- delete iTestScheduler;
- User::Leave(ret);
- }
-
- ret=iSms.Open(iPhone);
- if (ret!=KErrNone)
- {
- INFO_PRINTF1(_L("Cannot open Sms"));
- iPhone.Close();
- iTelServer.UnloadPhoneModule(KSimtsyName);
- iTelServer.Close();
- delete iTestScheduler;
- User::Leave(ret);
- }
-
- return TestStepResult();
- }
-
-TVerdict CSimSmsTestStepBase::doTestStepPostambleL()
- {
- iSms.Close();
- iPhone.Close();
- iTelServer.UnloadPhoneModule(KSimtsyName);
- iTelServer.Close();
- delete iTestScheduler;
-
- __UHEAP_MARKEND;
- return TestStepResult();
- }
-
-void CSimSmsTestStepBase::PrintMessageStoreCaps(TUint32 aCaps)
- {
- if(aCaps & RMobilePhoneStore::KCapsReadAccess)
- {
- INFO_PRINTF1(_L("Store supports read access"));
- }
- if(aCaps & RMobilePhoneStore::KCapsWriteAccess)
- {
- INFO_PRINTF1(_L("Store supports write/delete access"));
- }
- if(aCaps & RMobilePhoneStore::KCapsDeleteAll)
- {
- INFO_PRINTF1(_L("Store supports deleting all entries at once"));
- }
- if(aCaps & RMobilePhoneStore::KCapsNotifyEvent)
- {
- INFO_PRINTF1(_L("Store supports event notification"));
- }
- if(aCaps & static_cast<TUint32>(RMobilePhoneStore::KCapsWholeStore))
- {
- INFO_PRINTF1(_L("Store supports reading whole store in a list"));
- }
- if(aCaps & RMobilePhoneStore::KCapsIndividualEntry)
- {
- INFO_PRINTF1(_L("Store supports reading entries one at a time"));
- }
- if(aCaps & RMobileSmsStore::KCapsUnreadMessages)
- {
- INFO_PRINTF1(_L("Store contains unread messages"));
- }
- if(aCaps & RMobileSmsStore::KCapsReadMessages)
- {
- INFO_PRINTF1(_L("Store contains read messages"));
- }
- if(aCaps & RMobileSmsStore::KCapsSentMessages)
- {
- INFO_PRINTF1(_L("Store contains sent messages"));
- }
- if(aCaps & RMobileSmsStore::KCapsUnsentMessages)
- {
- INFO_PRINTF1(_L("Store contains unsent messages"));
- }
- if(aCaps & RMobileSmsStore::KCapsGsmMessages)
- {
- INFO_PRINTF1(_L("Store contains GSM format messages"));
- }
- if(aCaps & RMobileSmsStore::KCapsCdmaMessages)
- {
- INFO_PRINTF1(_L("Store contains CDMA format messages"));
- }
-}
-
-TVerdict CSimSmsTestStepBase::SendSms()
-{
- INFO_PRINTF1(_L("Sending SMS."));
-
- // Create message PDU and convert to binary
- TBuf8<400> msgData;
- TLex8 lex;
- TUint8 val;
- TInt i;
-
- TInt ret;
- msgData.Zero();
-
- const TInt count_before((&KMsgDataBeforeTargetAddress)->Length()/2); // Assume length of pdu is always even
- for(i=0;i<count_before;++i)
- {
- lex=(&KMsgDataBeforeTargetAddress)->Mid(i*2,2);
- ret = lex.Val(val,EHex);
-
- if(ret) return EFail;
- msgData.Append(TChar(val));
- }
-
- TBuf8<20> targetAddressAscii;
- targetAddressAscii.Zero();
- RMobilePhone::TMobileAddress targetAddress;
- targetAddress.iTypeOfNumber=RMobilePhone::EInternationalNumber;
- targetAddress.iNumberPlan=RMobilePhone::EIsdnNumberPlan;
- targetAddress.iTelNumber.Copy(iTelNumber);
- ret = CATSmsUtils::AppendAddressToAscii(targetAddressAscii,targetAddress);
-
- if(ret) return EFail;
-
- const TInt count_address(targetAddressAscii.Length()/2); // Assume length is always even
- for(i=0;i<count_address;++i)
- {
- lex=targetAddressAscii.Mid(i*2,2);
- ret = lex.Val(val,EHex);
-
- if(ret) return EFail;
- msgData.Append(TChar(val));
- }
-
- const TInt count_after((&KMsgDataAfterTargetAddress)->Length()/2); // Assume length of pdu is always even
- for(i=0;i<count_after;++i)
- {
- lex=(&KMsgDataAfterTargetAddress)->Mid(i*2,2);
- ret = lex.Val(val,EHex);
-
- if(ret) return EFail;
- msgData.Append(TChar(val));
- }
-
- // Create message attibutes
- RMobileSmsMessaging::TMobileSmsSendAttributesV1 msgAttr;
-
- msgAttr.iFlags=0x184;
- msgAttr.iDataFormat=RMobileSmsMessaging::EFormatGsmTpdu;
- msgAttr.iGsmServiceCentre.iTypeOfNumber=RMobilePhone::EInternationalNumber;
- msgAttr.iGsmServiceCentre.iNumberPlan=RMobilePhone::EIsdnNumberPlan;
- msgAttr.iGsmServiceCentre.iTelNumber.Copy(iSCANumber);
-
- // Package up data ready for sending to etel
- RMobileSmsMessaging::TMobileSmsSendAttributesV1Pckg msgAttrPkg(msgAttr);
-
- // Send the message, try upto 3 times if phone is not ready
- TRequestStatus status;
- INFO_PRINTF1(_L(".."));
- TSmsPdu smsPduSent;
-
- smsPduSent.Copy(KTestSendPduA,sizeof(KTestSendPduA));
-
- iSms.SendMessage(status,smsPduSent,msgAttrPkg);
- User::WaitForRequest(status);
- if(status==KErrGsmSMSFailureInME || status==KErrGeneral || status==KErrGsmSMSUnknownError)
- {
- INFO_PRINTF1(_L(".."));
- iSms.SendMessage(status,smsPduSent,msgAttrPkg);
- User::WaitForRequest(status);
- if(status==KErrGsmSMSFailureInME || status==KErrGeneral || status==KErrGsmSMSUnknownError)
- {
- INFO_PRINTF1(_L(".."));
- iSms.SendMessage(status,smsPduSent,msgAttrPkg);
- User::WaitForRequest(status);
- }
- }
-
- ret = status.Int();
-
- if(ret) return EFail;
-
- // Validate message reference number has changed
- if(!(msgAttr.iFlags&RMobileSmsMessaging::KMessageReference))
- return(EFail);
-
- INFO_PRINTF1(_L("TESTS passed"));
- return TestStepResult();
-}
+// Copyright (c) 2005-2009 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:
+//
+
+#include "Te_SimSmsTestStepBase.h"
+#include "Te_SimSmsUtil.h"
+
+TVerdict CSimSmsTestStepBase::doTestStepPreambleL()
+ {
+ __UHEAP_MARK;
+
+ TInt ret = RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, 0);
+ if (ret != KErrNone)
+ {
+ INFO_PRINTF1(_L("Failed resetting"));
+ User::Leave(ret);
+ }
+
+ iTestScheduler=new (ELeave) CActiveScheduler;
+ CActiveScheduler::Install(iTestScheduler);
+
+ ret = iTelServer.Connect();
+ if (ret!=KErrNone)
+ {
+ INFO_PRINTF1(_L("Failed to connect to telephony server"));
+ delete iTestScheduler;
+ User::Leave(ret);
+ }
+ ret=iTelServer.LoadPhoneModule(KSimtsyName);
+ if (ret!=KErrNone)
+ {
+ INFO_PRINTF1(_L("Failed to load phone module"));
+ iTelServer.Close();
+ delete iTestScheduler;
+ User::Leave(ret);
+ }
+
+ ret=iPhone.Open(iTelServer,KPhoneName) ;
+ if (ret!=KErrNone)
+ {
+ INFO_PRINTF1(_L("Failed to open phone module"));
+ iTelServer.UnloadPhoneModule(KSimtsyName);
+ iTelServer.Close();
+ delete iTestScheduler;
+ User::Leave(ret);
+ }
+ ret=iPhone.Initialise();
+ if (ret!=KErrNone)
+ {
+ INFO_PRINTF1(_L("Failed to initialise the phone"));
+ iPhone.Close();
+ iTelServer.UnloadPhoneModule(KSimtsyName);
+ iTelServer.Close();
+ delete iTestScheduler;
+ User::Leave(ret);
+ }
+
+ ret=iSms.Open(iPhone);
+ if (ret!=KErrNone)
+ {
+ INFO_PRINTF1(_L("Cannot open Sms"));
+ iPhone.Close();
+ iTelServer.UnloadPhoneModule(KSimtsyName);
+ iTelServer.Close();
+ delete iTestScheduler;
+ User::Leave(ret);
+ }
+
+ return TestStepResult();
+ }
+
+TVerdict CSimSmsTestStepBase::doTestStepPostambleL()
+ {
+ iSms.Close();
+ iPhone.Close();
+ iTelServer.UnloadPhoneModule(KSimtsyName);
+ iTelServer.Close();
+ delete iTestScheduler;
+
+ __UHEAP_MARKEND;
+ return TestStepResult();
+ }
+
+void CSimSmsTestStepBase::PrintMessageStoreCaps(TUint32 aCaps)
+ {
+ if(aCaps & RMobilePhoneStore::KCapsReadAccess)
+ {
+ INFO_PRINTF1(_L("Store supports read access"));
+ }
+ if(aCaps & RMobilePhoneStore::KCapsWriteAccess)
+ {
+ INFO_PRINTF1(_L("Store supports write/delete access"));
+ }
+ if(aCaps & RMobilePhoneStore::KCapsDeleteAll)
+ {
+ INFO_PRINTF1(_L("Store supports deleting all entries at once"));
+ }
+ if(aCaps & RMobilePhoneStore::KCapsNotifyEvent)
+ {
+ INFO_PRINTF1(_L("Store supports event notification"));
+ }
+ if(aCaps & static_cast<TUint32>(RMobilePhoneStore::KCapsWholeStore))
+ {
+ INFO_PRINTF1(_L("Store supports reading whole store in a list"));
+ }
+ if(aCaps & RMobilePhoneStore::KCapsIndividualEntry)
+ {
+ INFO_PRINTF1(_L("Store supports reading entries one at a time"));
+ }
+ if(aCaps & RMobileSmsStore::KCapsUnreadMessages)
+ {
+ INFO_PRINTF1(_L("Store contains unread messages"));
+ }
+ if(aCaps & RMobileSmsStore::KCapsReadMessages)
+ {
+ INFO_PRINTF1(_L("Store contains read messages"));
+ }
+ if(aCaps & RMobileSmsStore::KCapsSentMessages)
+ {
+ INFO_PRINTF1(_L("Store contains sent messages"));
+ }
+ if(aCaps & RMobileSmsStore::KCapsUnsentMessages)
+ {
+ INFO_PRINTF1(_L("Store contains unsent messages"));
+ }
+ if(aCaps & RMobileSmsStore::KCapsGsmMessages)
+ {
+ INFO_PRINTF1(_L("Store contains GSM format messages"));
+ }
+ if(aCaps & RMobileSmsStore::KCapsCdmaMessages)
+ {
+ INFO_PRINTF1(_L("Store contains CDMA format messages"));
+ }
+}
+
+TVerdict CSimSmsTestStepBase::SendSms()
+{
+ INFO_PRINTF1(_L("Sending SMS."));
+
+ // Create message PDU and convert to binary
+ TBuf8<400> msgData;
+ TLex8 lex;
+ TUint8 val;
+ TInt i;
+
+ TInt ret;
+ msgData.Zero();
+
+ const TInt count_before((&KMsgDataBeforeTargetAddress)->Length()/2); // Assume length of pdu is always even
+ for(i=0;i<count_before;++i)
+ {
+ lex=(&KMsgDataBeforeTargetAddress)->Mid(i*2,2);
+ ret = lex.Val(val,EHex);
+
+ if(ret) return EFail;
+ msgData.Append(TChar(val));
+ }
+
+ TBuf8<20> targetAddressAscii;
+ targetAddressAscii.Zero();
+ RMobilePhone::TMobileAddress targetAddress;
+ targetAddress.iTypeOfNumber=RMobilePhone::EInternationalNumber;
+ targetAddress.iNumberPlan=RMobilePhone::EIsdnNumberPlan;
+ targetAddress.iTelNumber.Copy(iTelNumber);
+ ret = CATSmsUtils::AppendAddressToAscii(targetAddressAscii,targetAddress);
+
+ if(ret) return EFail;
+
+ const TInt count_address(targetAddressAscii.Length()/2); // Assume length is always even
+ for(i=0;i<count_address;++i)
+ {
+ lex=targetAddressAscii.Mid(i*2,2);
+ ret = lex.Val(val,EHex);
+
+ if(ret) return EFail;
+ msgData.Append(TChar(val));
+ }
+
+ const TInt count_after((&KMsgDataAfterTargetAddress)->Length()/2); // Assume length of pdu is always even
+ for(i=0;i<count_after;++i)
+ {
+ lex=(&KMsgDataAfterTargetAddress)->Mid(i*2,2);
+ ret = lex.Val(val,EHex);
+
+ if(ret) return EFail;
+ msgData.Append(TChar(val));
+ }
+
+ // Create message attibutes
+ RMobileSmsMessaging::TMobileSmsSendAttributesV1 msgAttr;
+
+ msgAttr.iFlags=0x184;
+ msgAttr.iDataFormat=RMobileSmsMessaging::EFormatGsmTpdu;
+ msgAttr.iGsmServiceCentre.iTypeOfNumber=RMobilePhone::EInternationalNumber;
+ msgAttr.iGsmServiceCentre.iNumberPlan=RMobilePhone::EIsdnNumberPlan;
+ msgAttr.iGsmServiceCentre.iTelNumber.Copy(iSCANumber);
+
+ // Package up data ready for sending to etel
+ RMobileSmsMessaging::TMobileSmsSendAttributesV1Pckg msgAttrPkg(msgAttr);
+
+ // Send the message, try upto 3 times if phone is not ready
+ TRequestStatus status;
+ INFO_PRINTF1(_L(".."));
+ TSmsPdu smsPduSent;
+
+ smsPduSent.Copy(KTestSendPduA,sizeof(KTestSendPduA));
+
+ iSms.SendMessage(status,smsPduSent,msgAttrPkg);
+ User::WaitForRequest(status);
+ if(status==KErrGsmSMSFailureInME || status==KErrGeneral || status==KErrGsmSMSUnknownError)
+ {
+ INFO_PRINTF1(_L(".."));
+ iSms.SendMessage(status,smsPduSent,msgAttrPkg);
+ User::WaitForRequest(status);
+ if(status==KErrGsmSMSFailureInME || status==KErrGeneral || status==KErrGsmSMSUnknownError)
+ {
+ INFO_PRINTF1(_L(".."));
+ iSms.SendMessage(status,smsPduSent,msgAttrPkg);
+ User::WaitForRequest(status);
+ }
+ }
+
+ ret = status.Int();
+
+ if(ret) return EFail;
+
+ // Validate message reference number has changed
+ if(!(msgAttr.iFlags&RMobileSmsMessaging::KMessageReference))
+ return(EFail);
+
+ INFO_PRINTF1(_L("TESTS passed"));
+ return TestStepResult();
+}