--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/adaptationlayer/tsy/nokiatsy_dll/internal/test/nokiatsy_test_tool/uicc/inc/uicc.h Fri Nov 06 17:28:23 2009 +0000
@@ -0,0 +1,734 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of 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 UICC tests
+*
+*/
+
+
+
+#ifndef UICC_H
+#define UICC_H
+
+// INCLUDES
+#include "core.h"
+#include "etelmm.h"
+
+#include <stiflogger.h>
+#include <testscripterinternal.h>
+#include <stiftestmodule.h>
+#include <ctsy/serviceapi/cmmutility.h>
+#include <ctsy/serviceapi/cmmgsmphonestorageutility.h>
+
+#if ( NCP_COMMON_S60_VERSION_SUPPORT == S60_VERSION_32 )
+#include <mmmmesshandlerbase.h>
+#else
+#include <ctsy/rmmcustomapi.h>
+#endif
+
+
+// CONSTANTS
+
+struct SRefPbStorageData
+ {
+ TBool iIsPhonebookInitialized;
+ TBool iIsPhonebookInitializeFailed;
+ TInt iXXXNumOfEntries;
+ TInt iXXXTextLengthMax;
+ TInt iXXXNumberLengthMax;
+ };
+
+enum TPhoneBookType
+ {
+ TPhoneBookTypeAdn = 0,
+ TPhoneBookTypeFdn,
+ TPhoneBookTypeSdn,
+ TPhoneBookTypeMbdn,
+ TPhoneBookTypeUnknown
+ };
+
+//TICCType enumerates the SIM card types
+enum TICCType
+ {
+ EICCTypeSim2GGsm = 0,
+ EICCTypeSim3G,
+ EICCTypeSimUnknown
+ };
+
+// MACROS
+// Logging path
+_LIT( KSSLogPath, "\\logs\\testframework\\UICC\\" );
+// Log file
+_LIT( KSSLogFile, "UICC.txt" );
+
+_LIT(KIscControlTestCaseFileUICC, "nokiatsy_uicc.xml");
+
+// FORWARD DECLARATIONS
+class TDataPackage;
+class CMmDataPackage;
+class CMessageRouterBase;
+class CCore;
+class CUICC;
+
+
+// CLASS DECLARATION
+class CUICC : public CCore
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CUICC* NewL( CTestModuleIf& aTestModuleIf );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CUICC();
+
+
+ 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
+
+ /**
+ * Power SIM on
+ * @since Series60_ver 3.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt PoweringSimOn( CStifItemParser& aItem );
+
+ /**
+ * Complete PoweringSimOn
+ * @since Series60_ver 3.0
+ * @param aResult
+ * @return None
+ */
+ void CompletePoweringSimOn( TInt aResult );
+
+ /**
+ * Test GetLifeTimer
+ * @since Series60_ver 3.2
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt GetLifeTimer( CStifItemParser& aItem );
+
+ /**
+ * Complete Life Timer value request
+ * @since Series60_ver 2.8
+ * @param aResult
+ aDataPackage
+ * @return none.
+ */
+ void CompleteGetLifeTimer(
+ TInt aResult,
+ CMmDataPackage* aDataPackage);
+
+ /**
+ * Get subscriber ID
+ */
+ TInt GetSubscriberId( CStifItemParser& aItem );
+
+ /**
+ * Complete subscriber ID
+ */
+ void CompleteGetSubscriberId(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Get ciphering indicator status
+ */
+ TInt GetCiStatus( CStifItemParser& aItem );
+
+ /**
+ * Get ciphering indicator status custom
+ */
+ TInt GetCiStatusCustom( CStifItemParser& aItem );
+
+ /**
+ * Complete ciphering indicator status
+ */
+ void CompleteGetCiStatus( TInt aResult, CMmDataPackage* aDataPackage );
+
+ /**
+ * Set call forwarding status
+ */
+ TInt SetCallFwdStatus( CStifItemParser& aItem );
+
+ /**
+ * Complete call forwarding status
+ */
+ void CompleteSetCallFwdStatus(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Complete notify call forwarding status change
+ */
+ void CompleteNotifyIccCallForwardingStatusChange(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Get EHPLMN
+ */
+ TInt GetEhplmn( CStifItemParser& aItem );
+
+ /**
+ * Complete get EHPLMN
+ */
+ void CompleteGetEhplmn( TInt aResult, CMmDataPackage* aDataPackage );
+
+ /**
+ * Get service provider name
+ */
+ TInt GetServiceProviderName( CStifItemParser& aItem );
+
+ /**
+ * Complete get service provider name
+ */
+ void CompleteGetServiceProviderName(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Phonebook init
+ */
+ TInt PbInitL( CStifItemParser& aItem );
+
+ /**
+ * Get CSP
+ */
+ TInt GetCustomerServiceProfile( CStifItemParser& aItem );
+
+ /**
+ * Complete get CSP
+ */
+ void CompleteGetCustomerServiceProfile(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Read SIM file
+ */
+ TInt ReadSimFile( CStifItemParser& aItem );
+
+ /**
+ * Complete read SIM file
+ */
+ void CompleteReadSimFile( TInt aResult, CMmDataPackage* aDataPackage );
+
+ /**
+ * Complete PB Init
+ * @since Series60_ver 3.0
+ * @param aResult
+ * @return None
+ */
+ void CompletePbInit( TInt aResult, CMmDataPackage* aDataPackage );
+
+ /**
+ * Checks phonebook data
+ * @since Series60_ver 5.0
+ * @param pbData
+ * @param pbType
+ * @return aResult
+ */
+ TInt CheckPbData( CStorageInfoData* aPbData, TPhoneBookType aPbType );
+
+ /**
+ * Prints Pb Init Info
+ * @since Series60_ver 3.0
+ * @param aPbInitInfo
+ * @return None
+ */
+ void PrintPbInitInfo(CStorageInfoData* aPbInitInfo);
+
+ /**
+ * Get mailbox identifier
+ */
+ TInt GetMailboxIdentifier( CStifItemParser& aItem );
+
+ /**
+ * Complete get mailbox identifier
+ */
+ void CompleteGetMailboxIdentifier(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Read CBS topics (CBMI)
+ */
+ TInt ReadCBSSimTopics( CStifItemParser& aItem );
+
+ /**
+ * Complete read CBS topics (CBMI)
+ */
+ void CompleteReadCBSSimTopics( TInt aErr, CMmDataPackage* aData);
+
+ /**
+ * Delete CBS topic
+ */
+ TInt DeleteCBSSimTopic( CStifItemParser& aItem );
+
+ /**
+ * Complete delete CBS topic
+ */
+ void CompleteDeleteCBSSimTopic( TInt aErr );
+
+ /**
+ * Get network provider name
+ */
+ TInt GetNetworkProviderName( CStifItemParser& aItem );
+
+ /**
+ * Complete get network provider name
+ */
+ void CompleteGetNetworkProviderName(
+ TInt aResult,
+ CMmDataPackage* aDataPackage
+ );
+
+ /**
+ * Read viag home zone parameters
+ */
+ TInt ViagHomeZoneReadParamL( CStifItemParser& aItem );
+
+ /**
+ * Complete read viag home zone parameters
+ */
+ void CompleteViagHomeZoneReadParam(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Read viag home zone cache
+ */
+ TInt ViagHomeZoneReadCacheL( CStifItemParser& aItem );
+
+ /**
+ * Write viag home zone settings
+ */
+ TInt ViagHomeZoneWriteSettingsL( CStifItemParser& aItem );
+
+ /**
+ * Write viag home zone cache
+ */
+ TInt ViagHomeZoneWriteCacheL( CStifItemParser& aItem );
+
+ /**
+ * Complete write viag home zone cache
+ */
+ void CompleteViagHomeZoneReadCache(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Read voice message flags REL 4
+ */
+ TInt ReadVoiceMsgFlagsRel4( CStifItemParser& aItem );
+
+ /**
+ * Complete read voice message flags REL 4
+ */
+ void CompleteReadVoiceMsgFlags(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Write voice message flags REL 4
+ */
+ TInt WriteVoiceMsgFlagsRel4( CStifItemParser& aItem );
+
+ /**
+ * Read voice message flags CPHS
+ */
+ TInt ReadVoiceMsgFlagsCphs( CStifItemParser& aItem );
+
+ /**
+ * Write voice message flags CPHS
+ */
+ TInt WriteVoiceMsgFlagsCphs( CStifItemParser& aItem );
+
+ /**
+ * Complete notify message waiting indicator status change
+ */
+ void CompleteNotifyMwiChange(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Read dynamic flags
+ */
+ TInt ReadDynamicFlags( CStifItemParser& aItem );
+
+ /**
+ * Complete read dynamic flags
+ */
+ void CompleteReadDynamicFlags(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Read dynamic flags
+ */
+ TInt WriteDynamicFlags( CStifItemParser& aItem );
+
+ /**
+ * Read dynamic 2 flags
+ */
+ TInt ReadDynamic2Flags( CStifItemParser& aItem );
+
+ /**
+ * Complete read dynamic 2 flags
+ */
+ void CompleteReadDynamic2Flags(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Read dynamic 2 flags
+ */
+ TInt WriteDynamic2Flags( CStifItemParser& aItem );
+
+ /**
+ * Get UICC status
+ */
+ TInt GetUiccStatus( CStifItemParser& aItem );
+
+ /**
+ * Disconnect UICC server from smarcard and activate SAP APDU interface
+ */
+ TInt PowerOffSim();
+
+ /**
+ * Complete PowerOffSim
+ */
+ void CompletePowerOffSim( TInt aErr);
+
+ /**
+ * SIM warm reset
+ */
+ TInt SimWarmReset();
+
+ /**
+ * Complete SimWarmReset
+ */
+ void CompleteSimWarmReset( TInt aErr);
+
+ /**
+ * SIM get ATR
+ */
+ TInt SimGetATR(CStifItemParser& aItem);
+
+ /**
+ * Complete get ATR
+ */
+ void CompleteSimGetATR(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Connect UICC server to smarcard and deactivates SAP APDU interface
+ */
+ TInt PowerOnSim();
+
+ /**
+ * Complete PowerOnSim
+ */
+ void CompletePowerOnSim( TInt aErr);
+
+ /**
+ * Get RF status
+ */
+ TInt GetRfStatus( CStifItemParser& aItem );
+
+ /**
+ * Complete RF status
+ */
+ void CompleteGetRfStatus(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Send APDUv2
+ */
+ TInt SendAPDUv2();
+
+ /**
+ * Complete send APDU
+ */
+ void CompleteSendAPDUv2(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Get Card Reader Status
+ */
+ TInt GetCardReaderStatus();
+
+ /**
+ * Complete send GetCardReaderStatus
+ */
+ void CompleteGetCardReaderStatus(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Card status indication
+ */
+ TInt UiccCardInd();
+
+ /**
+ * Complete card status indication
+ */
+ void CompleteUiccCardInd(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Send APDU
+ */
+ TInt SendAPDU();
+
+ /**
+ * Complete send APDU
+ */
+ void CompleteSendAPDU(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Notify security event
+ */
+ TInt NotifySecurityEvent( CStifItemParser& aItem );
+
+ /**
+ * Complete notify security event
+ */
+ void CompleteNotifySecurityEvent(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Verify security code
+ */
+ TInt VerifySecurityCode( CStifItemParser& aItem );
+
+ /**
+ * Get PIN info
+ */
+ TInt GetPinInfo( CStifItemParser& aItem );
+
+ /**
+ * Complete get PIN info
+ */
+ void CompleteGetPinInfo(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Change PIN code
+ */
+ TInt ChangePinCode( CStifItemParser& aItem );
+
+
+ /**
+ * Change PIN code state
+ */
+ TInt SetLockSetting( CStifItemParser& aItem );
+
+ /**
+ * Get PIN attempts left
+ */
+ TInt GetPinAttemptsLeft( CStifItemParser& aItem );
+
+ /**
+ * Complete get PIN attempts left
+ */
+ void CompleteGetPinAttemptsLeft(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Get ICC type
+ */
+ TInt GetIccType( CStifItemParser& aItem );
+
+ /**
+ * Complete get ICC type
+ */
+ void CompleteGetIccType(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * GetCurrentActiveUSIMApplication
+ */
+ TInt GetCurrentActiveUSIMApplication( CStifItemParser& aItem );
+
+ /**
+ * CompleteGetCurrentActiveUSIMApplication
+ */
+ void CompleteGetCurrentActiveUSIMApplication( TInt aResult, CMmDataPackage* aDataPackage );
+
+
+ /**
+ * EMmTsySecurityGetSimActivePinStateIPC
+ */
+ TInt GetActivePin( CStifItemParser& aItem );
+
+ /**
+ * Complete EMmTsySecurityGetSimActivePinStateIPC
+ */
+ void CompleteGetActivePin(
+ TInt aErr, CMmDataPackage& aData );
+
+
+
+ protected: // Functions from base classes
+
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CUICC( 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();
+
+
+ public: // Data
+
+ protected: // Data
+
+ private: // Data
+
+ /**
+ * Pointer to logger
+ */
+ CStifLogger* iUICCLog;
+
+ RMmCustomAPI::TLifeTimeData iLifeTimerForComparison;
+
+ TBuf8<RMobilePhone::KIMSISize> iImsi;
+
+ RMobilePhone::TMobileCallCipheringIndicator iCipherIndicatorStatus;
+
+ TUint iIndicator;
+
+ RMobilePhone::TMobilePhoneCFCondition iCFCondition;
+
+ RMobilePhone::TMobilePhoneServiceProviderNameV2 iServiceProviderName;
+
+ TName iPhoneBookName;
+ TPhoneBookType iPbType[2];
+ SRefPbStorageData iPbStorageDataAdn;
+ SRefPbStorageData iPbStorageDataFdn;
+ SRefPbStorageData iPbStorageDataSdn;
+ SRefPbStorageData iPbStorageDataMbdn;
+
+ RMobilePhone::TMobilePhoneCspFileV1 iCspFile;
+
+ TBool iTestOngoing;
+
+ CStorageInfoData *iRefPBStoreInfoData;
+
+ RMobilePhone::TMobilePhoneVoicemailIdsV3 iVoicemailIds;
+
+ RMmCustomAPI::TSimCbTopic iSimCbTopic1;
+ RMmCustomAPI::TSimCbTopic iSimCbTopic2;
+ RMmCustomAPI::TSimCbTopic iSimCbTopic3;
+
+ TBuf<20> iName;
+
+ RMmCustomAPI::TViagParams iSavedViagParamsForComparison;
+ RMmCustomAPI::TViagElements* iSavedViagElementsForComparison;
+ RMmCustomAPI::TViagCacheRecordContent iSavedRecordForComparison;
+
+ RMobilePhone::TMobilePhoneMessageWaitingV1 iMsgWaiting;
+
+ RMobilePhone::TMobilePhoneALSLine iAlsLine;
+
+ RMmCustomAPI::TGetAlsBlockStatus iBlockStatus;
+ TBuf8<40> iAPDU;
+ TBuf8<100> iCardReaderStatusByte;
+
+ TRfStateInfo iStatusInfo;
+
+ RMmCustomAPI::TSIMCardStatus iCardStatus;
+
+ TBool iUiccCardIndTest;
+
+ RMobilePhone::TMobilePhoneSecurityEvent iEvent;
+
+ RMobilePhone::TMobilePhoneLockInfoV1 iLockInfo;
+
+ TInt iPinAttemptsLeft;
+
+ TICCType iIccType;
+
+ RMobilePhone::TAID iActiveID;
+
+ RMobilePhone::TMobilePhoneSecurityCode iActivePin;
+
+ public: // Friend classes
+ //?friend_class_declaration;
+ protected: // Friend classes
+ //?friend_class_declaration;
+ private: // Friend classes
+ //?friend_class_declaration;
+
+ };
+
+#endif // UICC_H
+
+// End of File