cbsref/telephonyrefplugins/atltsy/integrationtest/src/testltsysmsstore.cpp
changeset 49 f50f4094acd7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cbsref/telephonyrefplugins/atltsy/integrationtest/src/testltsysmsstore.cpp	Tue Jul 06 15:36:38 2010 +0300
@@ -0,0 +1,150 @@
+// Copyright (c) 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:
+// 
+// 
+
+//user include
+#include "testltsysmsstore.h"
+#include "testltsysmsatutil.h"
+
+CTestLtsySmsStore::CTestLtsySmsStore(CTestLtsyModel& aTestModel)
+	: CTestLtsySmsBase(aTestModel)
+	{
+
+	}
+
+CTestLtsySmsStore::~CTestLtsySmsStore()
+	{
+	}
+
+CTestLtsySmsStore* CTestLtsySmsStore::NewLC(CTestLtsyModel& aTestModel)
+	{
+	CTestLtsySmsStore* self = new (ELeave)CTestLtsySmsStore(aTestModel);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	return self;
+	}
+
+CTestLtsySmsStore* CTestLtsySmsStore::NewL(CTestLtsyModel& aTestModel)
+	{
+	CTestLtsySmsStore* self=CTestLtsySmsStore::NewLC(aTestModel);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+void CTestLtsySmsStore::ConstructL()
+	{
+
+	}
+
+TVerdict CTestLtsySmsStore::doTestStepPreambleL()
+	{
+	INFO_PRINTF1(_L("CTestLtsySmsStore::doTestStepPreambleL called"));
+	SetTestStepResult(EPass);
+	return TestStepResult();
+	}
+
+TVerdict CTestLtsySmsStore::doTestStepL()
+	{
+	INFO_PRINTF1(_L("CTestLtsySmsStore::doTestStepL called"));
+	TRAPD(err,StoreSmsL());
+	if(err != KErrNone)
+		{
+		INFO_PRINTF2(_L("The error was returned %d!! when store sms"),err);
+	    SetTestStepResult(EFail);
+		}
+	return TestStepResult();
+	}
+
+TVerdict CTestLtsySmsStore::doTestStepPostambleL()
+	{
+	INFO_PRINTF1(_L("CTestLtsySmsStore::doTestStepPostambleL called"));
+	return TestStepResult();
+	}
+void CTestLtsySmsStore::StoreSmsL()
+	{
+	ReceiveSmsL();
+	TRAPD(err,WriteSmsL());
+	if(err != KErrNone)
+		{
+		NackSmsStoredL();
+		}
+	else
+		{
+		AckSmsStoredL();
+		}
+	}
+
+void CTestLtsySmsStore::ReceiveSmsL()
+	{
+	TRequestStatus status;
+	RMobileSmsMessaging::TMobileSmsReceiveAttributesV1Pckg receiveAttrPckg(iReceiveAttr);
+	Sms().ReceiveMessage(status, iRecvMsg, receiveAttrPckg);
+	User::WaitForRequest(status);
+	TInt r = status.Int();
+	TBuf<200>  outReceive;
+	outReceive.Copy(iRecvMsg);
+	INFO_PRINTF2(_L("Receiveing TPDU=%S"),&outReceive);
+	INFO_PRINTF2(_L("ReceiveMessage() request status = %d"),r);
+	}
+
+void CTestLtsySmsStore::WriteSmsL()
+	{
+	TRequestStatus status;
+	RMobilePhone::TMobileAddress smsWriteAddr;
+	smsWriteAddr.iTypeOfNumber = iReceiveAttr.iGsmServiceCentre.iTypeOfNumber;
+	smsWriteAddr.iNumberPlan = iReceiveAttr.iGsmServiceCentre.iNumberPlan;
+	smsWriteAddr.iTelNumber = iReceiveAttr.iGsmServiceCentre.iTelNumber;
+	
+	//For GsmTpdu
+    TBuf8<400>   writePduData; 
+    writePduData =  iRecvMsg;
+    FillWriteSmsAttibutesL(writePduData,smsWriteAddr);
+	}
+
+void CTestLtsySmsStore::AckSmsStoredL()
+	{
+	TBool full(EFalse);
+	TRequestStatus status;
+	_LIT8(KNullAck,"00");
+	Sms().AckSmsStored(status,KNullAck(),full);
+	User::WaitForRequest(status);
+	TInt r=status.Int();
+	INFO_PRINTF2(_L("AckSmsStored() request status = %d"),r);
+	}
+
+void CTestLtsySmsStore::NackSmsStoredL()
+	{
+	TRequestStatus status;
+	TInt rpCause(2);  
+	
+	Sms().NackSmsStored(status,iRecvMsg,rpCause);
+	User::WaitForRequest(status);
+	TInt r=status.Int();
+	INFO_PRINTF2(_L("AckSmsStored() request status = %d"),r);
+	}
+
+void CTestLtsySmsStore::FillWriteSmsAttibutesL(TBuf8<400> aTpdu,RMobilePhone::TMobileAddress  aMsgSca)
+	{
+	TRequestStatus status;
+	RMobileSmsStore::TMobileGsmSmsEntryV1 smsEntry;
+	RMobileSmsStore::TMobileGsmSmsEntryV1Pckg smsEntryPckg(smsEntry);
+	smsEntry.iMsgStatus=RMobileSmsStore::EStoredMessageUnsent;
+	smsEntry.iMsgData = aTpdu;
+	smsEntry.iServiceCentre = aMsgSca;
+	SmsStore().Write(status, smsEntryPckg);
+	User::WaitForRequest(status);
+	TInt r = status.Int();
+	INFO_PRINTF2(_L("Write() request status = %d"),r);
+	}