diff -r 000000000000 -r 63b37f68c1ce adaptationlayer/tsy/nokiatsy_dll/internal/test/nokiatsy_test_tool/sms/src/sms.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/adaptationlayer/tsy/nokiatsy_dll/internal/test/nokiatsy_test_tool/sms/src/sms.cpp Fri Nov 06 17:28:23 2009 +0000 @@ -0,0 +1,460 @@ +/* +* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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 FILES +#include +#include "sms.h" +#if ( NCP_COMMON_S60_VERSION_SUPPORT == S60_VERSION_32 ) +#include +#endif + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CSMS::CSMS +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CSMS::CSMS( + CTestModuleIf& aTestModuleIf ): + CCore( aTestModuleIf ), + iMsgAttribPckg( iMsgAttrib ), + iSmsCapsPckg (iSmsCaps) + { + } + +// ----------------------------------------------------------------------------- +// CSMS::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CSMS::ConstructL() + { +#if ( NCP_COMMON_S60_VERSION_SUPPORT == S60_VERSION_32 ) + BaseConstructL(); +#else + BaseConstructL( this ); +#endif + iSMSLog = CStifLogger::NewL( KSMSLogPath, + KSMSLogFile, + CStifLogger::ETxt, + CStifLogger::EFile, + EFalse ); + + _LIT8(SMS, "SMS: ConstructL"); + iSMSLog->Log((TDesC8)SMS ); + + iSMSMsgStorageRequestOngoing = EFalse; + iSmsParameterCheck = EFalse; + iTestCaseNumber = ETestCaseNotDefined; + + iSmspListArray = new ( ELeave ) CArrayPtrFlat( 1 ); + InitializeIscControlL(KIscControlTestCaseFileSMS); + } + +// ----------------------------------------------------------------------------- +// CSMS::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CSMS* CSMS::NewL( + CTestModuleIf& aTestModuleIf ) + { + CSMS* self = new (ELeave) CSMS( aTestModuleIf ); + + CleanupStack::PushL( (CScriptBase*)self ); + self->ConstructL(); + CleanupStack::Pop( self ); + + return self; + } + +// ----------------------------------------------------------------------------- +// CSMS::~CSMS +// Destructor. +// ----------------------------------------------------------------------------- +// +CSMS::~CSMS() + { + // Delete resources allocated from test methods + Delete(); + // Delete logger + delete iSMSLog; + } + + +// ----------------------------------------------------------------------------- +// CCore::RouteCompletion +// Completes a request or notification via the specific Tsy object, based on +// IPC number and data package +// ----------------------------------------------------------------------------- +// +EXPORT_C void CSMS::RouteCompletion( + TInt aIpc, //IPC value + CMmDataPackage* aDataPackage,//pointer to DataPackage + TInt aResult // Completion result + ) + { + _LIT8(KResult, "CSMS::RouteCompletion result: %d"); + iSMSLog->Log((TDesC8)KResult, aResult ); + + if ( !iHandleSpecifiedRequests ) + { + switch( aIpc ) + { + case EMobileSmsMessagingSendMessage: + { + CompleteSendSMSMessage( aResult ); + break; + } + case EMobilePhoneStoreRead: + { + CompleteReadSMSMessage( aResult,aDataPackage ); + break; + } + case EMobilePhoneStoreDelete: + { + CompleteDeleteSMSMessage( aResult ); + break; + } + case EMobilePhoneStoreDeleteAll: + { + CompleteDeleteAllSMSMessages( aResult ); + break; + } + case EMobileSmsMessagingSetMoSmsBearer: + { + CompleteSetMoSmsBearer( aResult ); + break; + } + case EMobilePhoneStoreWrite: + { + CompleteWriteSMSMessage( aResult,aDataPackage ); + break; + } + case EMobileSmsMessagingReceiveMessage: + { + CompleteReceiveSMSMessage( aResult, aDataPackage ); + break; + } + case EMmTsyActivateSmsRouting: + { + CompleteActivateSMSRouting( aResult ); + break; + } + case EMobileSmsMessagingAckSmsStored : + { + CompleteAckSMS( aResult ); + break; + } + case EMmTsyDeactivateSmsRouting : + { + CompleteDeactivateSMSRouting( aResult ); + break; + } + case EMobileSmsMessagingResumeSmsReception : + { + CompleteResumeSMS ( aResult ); + break; + } + case EMobilePhoneStoreReadAllPhase1 : + { + CompleteReadAllSMSMessage ( aResult, aDataPackage ); + break; + } + case EMobileSmsMessagingNackSmsStored: + { + CompleteNackSMS( aResult ); + break; + } + case EMobileSmsMessagingGetMessageStoreInfo: + { + CompleteSIMMsgStorageInfo( aResult,aDataPackage ); + break; + } + case EMobileSmsMessagingGetSmspListPhase1: + { + CompleteReadSmsParameters( aResult, aDataPackage ); + break; + } + case EMobileSmsMessagingStoreSmspList: + { + CompleteStoreSmsParameters( aResult ); + break; + } + default: + break; + } + } + else + { + TBool isIPCHandled = EFalse; + + switch(aIpc) + { + case EMobileSmsMessagingGetMessageStoreInfo: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobileSmsMessagingGetMessageStoreInfo" ) ) ) + { + CompleteSIMMsgStorageInfo( aResult,aDataPackage ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMmTsyBootNotifySimStatusReadyIPC: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMmTsyBootNotifySimStatusReadyIPC" ) ) ) + { + CompleteSMSCacheInitialization( aResult ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMobilePhoneStoreGetInfo: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobilePhoneStoreGetInfo" ) ) ) + { + CompleteMobilePhoneStoreGetInfo( aResult ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMobilePhoneStoreWrite: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobilePhoneStoreWrite" ) ) ) + { + CompleteWriteSMSMessage( aResult,aDataPackage ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMmTsyActivateSmsRouting: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMmTsyActivateSmsRouting" ) ) ) + { + CompleteActivateSMSRouting( aResult, aDataPackage ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMobileSmsMessagingReceiveMessage: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobileSmsMessagingReceiveMessage" ) ) ) + { + CompleteReceiveSMSMessage( aResult, aDataPackage ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMobileSmsMessagingAckSmsStored: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobileSmsMessagingAckSmsStored" ) ) ) + { + CompleteAckSMS( aResult ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMmTsyDeactivateSmsRouting: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMmTsyDeactivateSmsRouting" ) ) ) + { + CompleteDeactivateSMSRouting( aResult, aDataPackage ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMobileSmsMessagingSendMessage: + case EMmTsySmsSendSatMessage: + case EMobileSmsMessagingSendMessageNoFdnCheck: + { + if ( ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobileSmsMessagingSendMessage" ) ) ) || + ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMmTsySmsSendSatMessage" ) ) ) || + ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobileSmsMessagingSendMessageNoFdnCheck" ) ) ) ) + { + // Check parameters from data package + if ( iSmsParameterCheck ) + { + CompleteSendSMSMessage( aResult, aDataPackage ); + iSmsParameterCheck = EFalse; + } + else + { + CompleteSendSMSMessage( aResult ); + } + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMobileSmsMessagingGetSmspListPhase1: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobileSmsMessagingGetSmspListPhase1" ) ) ) + { + CompleteReadSmsParameters( aResult, aDataPackage ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMobilePhoneStoreReadAllPhase1: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobilePhoneStoreReadAllPhase1" ) ) ) + { + CompleteReadAllSMSMessage ( aResult, aDataPackage ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMobilePhoneStoreRead: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobilePhoneStoreRead" ) ) ) + { + CompleteReadSMSMessage( aResult,aDataPackage ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMobilePhoneStoreDelete: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobilePhoneStoreDelete" ) ) ) + { + CompleteDeleteSMSMessage( aResult ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMobilePhoneStoreDeleteAll: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobilePhoneStoreDeleteAll" ) ) ) + { + CompleteDeleteAllSMSMessages( aResult ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMobileSmsMessagingSetMoSmsBearer: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobileSmsMessagingSetMoSmsBearer" ) ) ) + { + CompleteSetMoSmsBearer( aResult ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMobileSmsMessagingStoreSmspList: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobileSmsMessagingStoreSmspList" ) ) ) + { + CompleteStoreSmsParameters( aResult ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMobileSmsMessagingNackSmsStored: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobileSmsMessagingNackSmsStored" ) ) ) + { + CompleteNackSMS( aResult ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + case EMobileSmsMessagingResumeSmsReception: + { + if ( 0 == iSavedIPCNameForComparison.Compare + ( _L( "EMobileSmsMessagingResumeSmsReception" ) ) ) + { + CompleteResumeSMS ( aResult ); + CCore::GetNextExpectedCompleteIPC(); + isIPCHandled = ETrue; + } + break; + } + default: + { + break; + } + } + // Check whether the IPC received should had been exactly the expected one. + // If not the KErrGeneral is set. + if( ( iNextIPCMustBeSameAsNextExpected ) && + ( !isIPCHandled ) ) + { + aResult = KErrUnknown; + Signal( aResult ); + } + } + } + + +// ========================== OTHER EXPORTED FUNCTIONS ========================= + +// ----------------------------------------------------------------------------- +// LibEntryL is a polymorphic Dll entry point. +// Returns: CScriptBase: New CScriptBase derived object +// ----------------------------------------------------------------------------- +// +EXPORT_C CScriptBase* LibEntryL( + CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework + { + + return ( CScriptBase* ) CSMS::NewL( aTestModuleIf ); + + } + +// End of File