--- /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