adaptationlayer/tsy/nokiatsy_dll/internal/test/nokiatsy_test_tool/sim/inc/sim.h
changeset 0 63b37f68c1ce
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/adaptationlayer/tsy/nokiatsy_dll/internal/test/nokiatsy_test_tool/sim/inc/sim.h	Fri Nov 06 17:28:23 2009 +0000
@@ -0,0 +1,1200 @@
+/*
+* 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:   Specific class for SIM tests
+*
+*/
+
+
+
+
+#ifndef SIM_H
+#define SIM_H
+
+//  INCLUDES
+#include "core.h"
+#include "ctsy/serviceapi/cmmgsmphonestorageutility.h"
+
+#include <stiflogger.h>
+#include <testscripterinternal.h>
+#include <stiftestmodule.h>
+
+#if ( NCP_COMMON_S60_VERSION_SUPPORT == S60_VERSION_32 )
+#include <mmmmesshandlerbase.h>
+#include "rmmcustomapiext.h"
+#else
+#include <ctsy/rmmcustomapi.h>
+#endif
+
+// CONSTANTS
+
+// DEFINITIONS
+struct SRefPbStorageData
+    {
+    TBool iIsPhonebookInitialized;
+    TBool iIsPhonebookInitializeFailed;
+    TInt iXXXNumOfEntries;
+    TInt iXXXTextLengthMax;
+    TInt iXXXNumberLengthMax;
+    };
+
+struct SRefStorageData
+    {
+    TInt iXXXNumOfEntries ;
+    TInt iXXXNumOfEntriesPerEntry ;
+    TInt iXXXTextLengthMax ;
+    };
+
+enum TPhoneBookType
+    {
+    TPhoneBookTypeAdn = 0,
+    TPhoneBookTypeFdn,
+    TPhoneBookTypeSdn,
+    TPhoneBookTypeMbdn,
+    TPhoneBookTypeUnknown
+    };
+
+// MACROS
+// Logging path
+_LIT( KSIMLogPath, "\\logs\\testframework\\SIM\\" );
+// Log file
+_LIT( KSIMLogFile, "SIM.txt" );
+
+_LIT(KIscControlTestCaseFileSIM, "nokiatsy_sim.xml");
+
+// FORWARD DECLARATIONS
+class TDataPackage;
+class CMmDataPackage;
+class CMessageRouterBase;
+class CCore;
+class CSIM;
+
+// CLASS DECLARATION
+class CSIM : public CCore
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static CSIM* NewL( CTestModuleIf& aTestModuleIf );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CSIM();
+
+        /**
+        * Array handling enums
+        */
+        enum TPBArrayTypeToRead
+            {
+            EPBStoreCacheArray,
+            EPBStoreReadEntriesArray
+            };
+
+    public: // New functions
+
+    public: // Functions from base classes
+
+        /**
+        * From CScriptBase Runs a script line.
+        * @since Series60_ver 2.8
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code
+        */
+        virtual TInt RunMethodL( CStifItemParser& aItem );
+
+        /**
+        * Completes a request or notification via the specific Tsy object,
+        * based on IPC number and data package
+        * @since Series60_ver 2.8
+        * @param aIpc: IPC number
+        *        aDataPackage: Data package
+        *        aResult: result
+        * @return None
+        */
+        IMPORT_C virtual void RouteCompletion(
+            TInt aIpc,
+            CMmDataPackage* aDataPackage,
+            TInt aResult );
+
+
+    protected:  // New functions
+
+        /**
+        * Initialize phonebook
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt PbInitL( CStifItemParser& aItem );
+
+        /**
+        * Complete PB Init
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompletePbInit( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Cache phone book
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt PbStoreCacheL( CStifItemParser& aItem );
+
+        /**
+        * Cache phone book cancel
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt PbStoreCacheCancelL( CStifItemParser& aItem );
+
+        /**
+        * Complete PbStoreCache
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompletePbStoreCache( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Read entries from sim phone book
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt ReadEntriesL( CStifItemParser& aItem );
+
+        /**
+        * Complete CompleteReadEntries
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteReadEntries( TInt aResult );
+
+       /**
+        * Write entries to sim phone book
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt WriteEntriesL( CStifItemParser& aItem );
+
+        /**
+        * Complete WriteEntries
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteWriteEntries( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Delete entry from sim phone book
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt DeleteEntryL( CStifItemParser& aItem );
+
+        /**
+        * Complete Delete
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteDelete( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Delete all Entries from sim phone book
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt DeleteAllEntriesL( CStifItemParser& aItem );
+
+        /**
+        * Get Pb Store Info
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt GetPbStoreInfoL( CStifItemParser& aItem );
+
+        /**
+        * Complete GetPbStoreInfo
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteGetPbStoreInfo( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Read EN Store
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt ReadENStore( CStifItemParser& aItem );
+
+        /**
+        * Complete ReadENStore
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteReadENStore( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Read EN Store all
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt ReadENStoreAll( CStifItemParser& aItem );
+
+        /**
+        * Complete ReadENStoreAll
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteReadENStoreAll( TInt aResult, CMmDataPackage* aDataPackage );
+
+
+        /**
+        * Get EN Store Info
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt GetENStoreInfo( CStifItemParser& aItem );
+
+        /**
+        * Complete GetENStoreInfo
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteGetENStoreInfo( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Read ON Store
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt ReadONStore( CStifItemParser& aItem );
+
+        /**
+        * Complete ReadONStore
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteReadONStore( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Read ON Store Entry
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt ReadONStoreEntry( CStifItemParser& aItem );
+
+        /**
+        * Complete ReadONStore Entry
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteReadONStoreEntry( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Get own number Store Info
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt GetONStoreInfo( CStifItemParser& aItem );
+
+        /**
+        * Complete GetONStoreInfo
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteGetONStoreInfo( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Delete own number Store Entry
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt DeleteONStoreEntry( CStifItemParser& aItem );
+
+        /**
+        * Complete DeleteONStoreEntry
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteDeleteONStoreEntry( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Delete all own number Store Entries
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt DeleteAllONStoreEntries( CStifItemParser& aItem );
+
+        /**
+        * Write ON Store
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt WriteONStore( CStifItemParser& aItem );
+
+        /**
+        * Complete WriteONStore
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteWriteONStore( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Read ON Store size
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt ReadONStoreSize( CStifItemParser& aItem );
+
+        /**
+        * Read ViagHomeZone param
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt ViagHomeZoneReadParamL( CStifItemParser& aItem );
+
+        /**
+        * Read ViagHomeZone cache
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt ViagHomeZoneReadCacheL( CStifItemParser& aItem );
+
+        /**
+        * Write ViagHomeZone settings
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt ViagHomeZoneWriteSettingsL( CStifItemParser& aItem );
+
+        /**
+        * Write ViagHomeZone cache
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt ViagHomeZoneWriteCacheL( CStifItemParser& aItem );
+
+        /**
+        * Complete WriteONStore
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteReadONStoreSize( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Get Mailbox Numbers
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt GetMailboxNumbers( CStifItemParser& aItem );
+
+        /**
+        * Complete GetMailboxNumbers
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteGetMailboxNumbers( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Write ON Store All
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt WriteONStoreAll( CStifItemParser& aItem );
+
+        /**
+        * Complete WriteONStore All
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteWriteONStoreAll( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Read ON Store size
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt OnStoreWriteSize( CStifItemParser& aItem );
+
+        /**
+        * Complete WriteONStore
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteOnStoreWriteSize( TInt aResult, CMmDataPackage* aDataPackage );
+
+
+        /**
+        * Get Service Table
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt GetServiceTable( CStifItemParser& aItem );
+
+        /**
+        * Complete Get Service Table
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteGetServiceTable( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Get ALS Line
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt GetALSLine( CStifItemParser& aItem );
+
+        /**
+        * Complete Get ALS Line
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteGetALSLine( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Get ALS Line
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt SetALSLine( CStifItemParser& aItem );
+
+        /**
+        * Complete Get ALS Line
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteSetALSLine( TInt aResult );
+
+        /**
+        * Get ALS Line
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt GetCustomerServiceProfile( CStifItemParser& aItem );
+
+        /**
+        * Complete Get ALS Line
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @param aDataPackage data package
+        * @return None
+        */
+        void CompleteGetCustomerServiceProfile
+            (
+            TInt aResult,
+            CMmDataPackage* aDataPackage
+            );
+
+        /**
+        * Get ALS Line
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt GetPin1DisableSupported( CStifItemParser& aItem );
+
+
+        /**
+        * Complete Get ALS Line
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @param aDataPackage data package
+        * @return None
+        */
+        void CompleteGetPin1DisableSupported
+            (
+            TInt aResult,
+            CMmDataPackage* aDataPackage
+            );
+
+        /**
+        * Sim Refresh Register
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt SimRefreshRegister( CStifItemParser& aItem );
+
+        /**
+        * Complete SimRefreshRegister
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteSimRefreshRegister( TInt aResult );
+
+        /**
+        * Sim Refresh Register
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt SimRefreshDone( CStifItemParser& aItem );
+
+        /**
+        * Complete SimRefreshRegister
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteSimRefreshDone( TInt aResult );
+
+        /**
+        * Get Subscriber Id
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt GetSubscriberId( CStifItemParser& aItem );
+
+        /**
+        * Complete GetSubscriberId
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteGetSubscriberId( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Get Subscriber Id
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt GetServiceProviderName( CStifItemParser& aItem );
+
+        /**
+        * Complete GetSubscriberId
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteGetServiceProviderName
+            (
+            TInt aResult,
+            CMmDataPackage* aDataPackage
+            );
+
+        /**
+        * Read SIM File
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt ReadSimFile( CStifItemParser& aItem );
+
+        /**
+        * Complete ReadSimFile
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteReadSimFile( TInt aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Get Network Provider Name
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt GetNetworkProviderName( CStifItemParser& aItem );
+
+        /**
+        * Complete GetNetworkProviderName
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @param aDataPackage data package
+        * @return None
+        */
+        void CompleteGetNetworkProviderName
+            (
+            TInt aResult,
+            CMmDataPackage* aDataPackage
+            );
+
+        /**
+        * Get SIM Authentication Data
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt GetSimAuthenticationData( CStifItemParser& aItem );
+
+        /**
+        * Complete GetSimAuthenticationData
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteGetSimAuthenticationData
+            (
+            TInt aResult,
+            CMmDataPackage* aDataPackage
+            );
+
+        /**
+        * Authenticate IMS Data
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt AuthenticateIMSData( CStifItemParser& aItem );
+
+        /**
+        * Complete AuthenticateIMSData
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteAuthenticateIMSData
+            (
+            TInt aResult,
+            CMmDataPackage* aDataPackage
+            );
+
+        /**
+        * Get IMS Authorization Info
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt GetIMSAuthorizationInfo( CStifItemParser& aItem );
+
+        /**
+        * Complete GetIMSAuthorizationInfo
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteGetIMSAuthorizationInfo
+            (
+            TInt aResult,
+            CMmDataPackage* aDataPackage
+            );
+
+        /**
+        * Get ALS Blocked Status
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt GetALSBlockedStatus( CStifItemParser& aItem );
+
+        /**
+        * Complete GetALSBlockedStatus
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteGetALSBlockedStatus
+            (
+            TInt aResult,
+            CMmDataPackage* aDataPackage
+            );
+
+        /**
+        * Set ALS Blocked Status
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt SetALSBlockedStatus( CStifItemParser& aItem );
+
+        /**
+        * Complete SetALSBlockedStatus
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteSetALSBlockedStatus
+            (
+            TInt aResult,
+            CMmDataPackage* aDataPackage
+            );
+
+        /**
+        * SendSIMRefreshNtf
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt SendSIMRefreshNtf( CStifItemParser& aItem );
+
+        /**
+        * Complete SendSIMRefreshNtf
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteSendSIMRefreshNtf( TInt aResult );
+
+        /**
+        * Check alternative line service product profile support
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt CheckAlsPpSupport( CStifItemParser& aItem );
+
+        /**
+        * Complete CheckAlsPpSupport
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        void CompleteCheckAlsPpSupport
+            (
+            TInt aResult,
+            CMmDataPackage* aDataPackage
+            );
+
+        /**
+        * Set flag iTestOngoing
+        * @since Series60_ver 5.0
+        * @param None
+        * @return TInt
+        */
+        TInt SetTestOngoingFlag();
+
+        /**
+        * Reads FDN information by using SIM_DATA_SIZES_REQ
+        * @since Series60_ver 5.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt FdnDataSizesReq( CStifItemParser& aItem );
+
+        /**
+        * Complete FdnDataSizesReq
+        * @since Series60_ver 5.0
+        * @param aResult
+        * @param aDataPackage
+        * @return None
+        */
+        void CompleteFdnDataSizesReq
+            (
+            TInt aResult,
+            CMmDataPackage* aDataPackage
+            );
+
+        /**
+        * Check service support availability from UICC.
+        * @since Series60_ver 3.2
+        * @param aItem        Script line containing method name and parameters
+        * @return             Symbian OS error code.
+        */
+        TInt CheckServiceSupport( CStifItemParser& aItem );
+
+        /**
+        * Completes service support availability check
+        * @since Series60_ver 3.2
+        * @param aResult        Result code returned from NokiaTSY
+        * @param aDataPackage   Result data from NokiaTSY
+        * @return None
+        */
+        void CompleteCheckServiceSupport(
+            TInt aResult,
+            CMmDataPackage* aDataPackage );
+
+        /**
+        * Sets expected number of phonebook entries checked on IPC completion
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt SetExpectedNumberOfPbEntries( CStifItemParser& aItem );
+
+        /**
+        * Performs verification of the data returned when
+        * EReadViagHomeZoneParamsIPC is completed
+        * @since Series60_ver 3.2
+        * @param aResult        Result code returned from NokiaTSY
+        * @param aDataPackage   Result data from NokiaTSY
+        * @return None
+        */
+        void CompleteViagHomeZoneReadParam(
+            TInt aResult,
+            CMmDataPackage* aDataPackage );
+
+        /**
+        * Performs verification of the data returned when
+        * EReadViagHomeZoneCacheIPC is completed
+        * @since Series60_ver 3.2
+        * @param aResult        Result code returned from NokiaTSY
+        * @param aDataPackage   Result data from NokiaTSY
+        * @return None
+        */
+        void CompleteViagHomeZoneReadCache(
+            TInt aResult,
+            CMmDataPackage* aDataPackage );
+
+        /**
+        * Requests reading phonebook entry with invalid input parameters
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt InvalidReadEntries( CStifItemParser& aItem );
+
+        /**
+        * Requests writing phonebook entry with invalid input parameters
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt InvalidWriteEntries( CStifItemParser& aItem );
+
+        /**
+        * Requests cacheing phonebook entries with invalid input parameters
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt InvalidPbStoreCache( CStifItemParser& aItem );
+
+#ifdef INTERNAL_RD_USIM_PHONEBOOK_GAS_AND_AAS
+        /**
+        * Write alpha string
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt WriteAlphaString( CStifItemParser& aItem );
+
+        /**
+        * Complete Write alpha string
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @param aDataPackage: Data package
+        * @return None
+        */
+        void CompleteWriteAlphaString
+            (
+            TInt aResult,
+            CMmDataPackage* aDataPackage
+            );
+
+        /**
+        * Read alpha string
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt ReadAlphaString( CStifItemParser& aItem );
+
+        /**
+        * Complete Read alpha string
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @param aDataPackage: Data package
+        * @return None
+        */
+        void CompleteReadAlphaString
+            (
+            TInt aResult,
+            CMmDataPackage* aDataPackage
+            );
+
+        /**
+        * Delete alpha string
+        * @since Series60_ver 3.0
+        * @param aItem Script line containing method name and parameters
+        * @return Symbian OS error code.
+        */
+        TInt DeleteAlphaString( CStifItemParser& aItem );
+
+        /**
+        * Complete Delete alpha string
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @param aDataPackage: Data package
+        * @return None
+        */
+        void CompleteDeleteAlphaString
+            (
+            TInt aResult,
+            CMmDataPackage* aDataPackage
+            );
+#endif // INTERNAL_RD_USIM_PHONEBOOK_GAS_AND_AAS
+
+    protected:  // Functions from base classes
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CSIM( CTestModuleIf& aTestModuleIf );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+        /**
+        * Frees all resources allocated from test methods.
+        * @since Series60_ver 2.8
+        */
+        void Delete();
+
+        /**
+        * Test methods are listed below.
+        */
+
+        /**
+        * Prints Pb Init Info
+        * @since Series60_ver 3.0
+        * @param aPbInitInfo
+        * @return None
+        */
+        void PrintPbInitInfo(CStorageInfoData* aPbInitInfo);
+
+        /**
+        * Prints Entries From Array
+        * @since Series60_ver 3.0
+        * @param aArrayType
+        * @param aPbName phonebook name
+        * @return aResult
+        */
+        TInt ReadEntriesFromArray(
+            TPBArrayTypeToRead aArrayType,
+            TDesC16& aPbName );
+
+        /**
+        * Checks number of entries in the PB cache array
+        * @since Series60_ver 3.0
+        * @param aResult
+        * @return None
+        */
+        TInt CheckNumberOfPbEntries(
+                TPBArrayTypeToRead aArrayType,
+                TDesC16& aPbName );
+
+        /**
+        * Checks phonebook data
+        * @since Series60_ver 5.0
+        * @param pbData
+        * @param pbType
+        * @return aResult
+        */
+        TInt CheckPbData( CStorageInfoData* aPbData, TPhoneBookType aPbType );
+
+        /**
+        * Converts source string containing ascii characters 0-9, a-f, A-F to
+        * corresponding hex value located to destination buffer. Aimed to be
+        * used when hex data is inputted from .cfg for comparision with
+        * value returned by NokiaTSY. Source must be able to divide by two
+        * without remainder.
+        * @since Series60_ver 3.2
+        * @param aSource    Source string
+        * @param aDest      Destination buffer for hex value
+        * @return TInt      KErrNone if ok, KErrGeneral if no valid character
+        *                   has been found, KErrArgument if it is not
+        *                   possible to divide source by two.
+        */
+        TInt GetHexFromString( TPtrC aSource, TDes8& aDest ) const;
+
+        /**
+        * Generates and send SIM_AUTHENTICATION_REQ related to MGV
+        * @since Series60_ver 3.2
+        * @param aString       String containing request type
+        * @param aItem         Script line containing method name and parameters
+        * @return TInt         KErrNone or error code
+        */
+        TInt GenerateMgvAuthenticationReq(
+            TPtrC aString,
+            CStifItemParser& aItem );
+
+        /**
+        * Generates and send SIM_AUTHENTICATION_REQ related to MGV
+        * @since Series60_ver 3.2
+        * @param aString       String containing request type
+        * @param aItem         Script line containing method name and parameters
+        * @return TInt         KErrNone or error code
+        */
+        TInt GenerateGbaAuthenticationReq(
+            TPtrC aString,
+            CStifItemParser& aItem );
+
+        /**
+        * Handles completions related to MGV.
+        * @since Series60_ver 3.2
+        * @param aResult        Result code from NokiaTSY
+        * @param aDataPackage   Result data from NokiaTSY
+        * @return None
+        */
+        void HandleMgvCompletion( TInt& aResult, CMmDataPackage* aDataPackage );
+
+        /**
+        * Handles completions related to General Bootstrapping.
+        * @since Series60_ver 3.2
+        * @param aResult        Result code from NokiaTSY
+        * @param aDataPackage   Result data from NokiaTSY
+        * @return None
+        */
+        void HandleGbaCompletion( TInt& aResult, CMmDataPackage* aDataPackage );
+
+    public:     // Data
+
+    protected:  // Data
+
+    private:    // Data
+       /**
+        * Pointer to logger
+        */
+        CStifLogger*        iSIMLog;
+
+        // Name of the phonebook
+        TName iPhoneBookName;
+        
+        // Card type
+        TName iCardType;
+
+        // Pointer to phonebook cache
+        CArrayPtrSeg<CPhoneBookStoreEntry>* iPBStoreCacheAdn;
+        CArrayPtrSeg<CPhoneBookStoreEntry>* iPBStoreCacheFdn;
+        CArrayPtrSeg<CPhoneBookStoreEntry>* iPBStoreCacheSdn;
+
+        // Classes to store auhtentication parameters between request and
+        // response.
+        RMmCustomAPI::TSimAuthenticationGbaBootstrap
+            iAuthenticationGbaBoot;
+        RMmCustomAPI::TSimAuthenticationGbaBootstrapUpdate
+            iAuthenticationGbaBootUpdate;
+        RMmCustomAPI::TSimAuthenticationGbaNafDerivation
+            iAuthenticationGbaNafDerivation;
+        RMmCustomAPI::TSimAuthenticationMgvMskUpdate
+            iAuthenticationMgvMskUpdate;
+        RMmCustomAPI::TSimAuthenticationMgvMtkGeneration
+            iAuthenticationMgvMtkGeneration;
+
+        // Indicates for which scenario test is for.
+        TUint iAuthenticationPurpose;
+
+        // Indicates is service support request made with assumption
+        // that service is available or not.
+        TBool iServiceAvailable;
+
+        //pointer to read entry
+        CArrayPtrSeg<CPhoneBookStoreEntry>* iPBStoreReadEntries;
+
+        RMobilePhoneBookStore::TPBIndexAndNumEntries* iIndexAndEntries;
+
+        CPhoneBookStoreEntry* iPhoneBookEntry;
+
+        // EN number array
+        CArrayPtrFlat<TENStoreResponse>* iENStoreArray;
+
+        TBool iSendOngoing;
+
+        TBool iTestOngoing;
+
+        // The following variables are for storing given parameters
+        // for checking the validity of completed data
+        TInt iNumOfUsedPbEntries;
+        TInt iIndex;
+        TInt iIndexTable[3];
+        TInt iDisplayReq;
+        TBuf8<RMobilePhone::KIMSISize> iImsi;
+        TBuf<20> iNumber;
+        TBuf<20> iNumberTable[3];
+        TBuf<20> iName;
+        TBuf<20> iSavedNameForComparison[2];
+        TBuf<20> iSavedNumberForComparison[2];
+        TBuf<20> iSavedEmailForComparison[2];
+        TBuf<20> iSavedSneForComparison[2];
+        TBuf<20> iSavedAnrForComparison[2];
+        TInt iSavedPbEntriesCount;
+        SRefPbStorageData iPbStorageDataAdn;
+        SRefPbStorageData iPbStorageDataFdn;
+        SRefPbStorageData iPbStorageDataSdn;
+        SRefPbStorageData iPbStorageDataMbdn;
+        SRefPbStorageData iPbStorageDataMsisdn;
+        SRefPbStorageData iPbStorageDataVmbx;
+        SRefStorageData iStorageDataSne;
+        SRefStorageData iStorageDataAnr;
+        SRefStorageData iStorageDataEmail;
+        TPhoneBookType iPbType[2];
+        TPBEntryInfo iPbEntryInfo;
+        TServiceType iServiceType;
+        RMobilePhone::TMobilePhoneALSLine iAlsLine;
+        RMobilePhone::TMobilePhoneCspFileV1 iCspFile;
+        RMmCustomAPI::TGetAlsBlockStatus iAlsBlockedStatus;
+        RMmCustomAPI::TAlsSupport iAlsSupport;
+
+        // Comparison data for ViagHZ testcases
+        RMmCustomAPI::TViagParams iSavedViagParamsForComparison;
+        RMmCustomAPI::TViagElements* iSavedViagElementsForComparison;
+        RMmCustomAPI::TViagCacheRecordContent iSavedRecordForComparison;
+
+    public:     // Friend classes
+        //?friend_class_declaration;
+    protected:  // Friend classes
+        //?friend_class_declaration;
+    private:    // Friend classes
+        //?friend_class_declaration;
+
+    };
+
+#endif      // SIM_H
+
+// End of File