adaptationlayer/tsy/nokiatsy_dll/internal/test/nokiatsy_test_tool/sms/src/sms.cpp
changeset 0 63b37f68c1ce
--- /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 <stiftestinterface.h>
+#include "sms.h"
+#if ( NCP_COMMON_S60_VERSION_SUPPORT == S60_VERSION_32 )
+#include <mmmmesshandlerbase.h>
+#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<TSmsParameters>( 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