--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/adaptationlayer/tsy/nokiatsy_dll/internal/test/nokiatsy_test_tool/voice/inc/voice.h Fri Nov 06 17:28:23 2009 +0000
@@ -0,0 +1,625 @@
+/*
+* 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 Voice tests
+*
+*/
+
+
+
+#ifndef VOICE_H
+#define VOICE_H
+
+// INCLUDES
+#include "core.h"
+
+#include <stiflogger.h>
+#include <testscripterinternal.h>
+#include <stiftestmodule.h>
+#include <ctsy/serviceapi/gsmerror.h>
+
+#if ( NCP_COMMON_S60_VERSION_SUPPORT == S60_VERSION_32 )
+#include <mmmmesshandlerbase.h>
+#else
+#include <ctsy/rmmcustomapi.h>
+#endif
+
+// MACROS
+// Logging path
+_LIT( KVoiceLogPath, "\\logs\\testframework\\Voice\\" );
+// Log file
+_LIT( KVoiceLogFile, "Voice.txt" );
+
+_LIT(KIscControlTestCaseFileCVoice, "nokiatsy_voice.xml");
+
+//CONSTANTS
+
+enum TOngoingTest
+ {
+ ENoTestOngoing,
+ ECallDialTestOngoing,
+ EIncomingCallTestOngoing,
+ EHoldCallTestOngoing,
+ EHangUpTestOngoig,
+ ERemotePartyHangUpTestOngoing,
+ EResumeCallTestOngoing,
+ ESwapCallTestOngoing,
+ ECallTransferTestOngoing,
+ ECreateCCTestOngoing,
+ EHangUpCCTestOngoing,
+ EHoldCCTestOngoing,
+ EResumeCCTestOngoing,
+ EAddCallToCCTestOngoing,
+ ESwapCCTestOngoing,
+ EGoOneToOneTestOngoing,
+ ECallDialEmergencyCallTestOngoing,
+ ECallWithUUSTestOngoing,
+ EIncomingCallWithUUSTestOngoing
+ };
+
+enum TConnectionState
+ {
+ EConnecting,
+ EUnknown
+ };
+
+enum TUUSCompletionState
+ {
+ EWaiting,
+ ELineNotifyIncomingCallCompleted,
+ EReceiveUUICompleted,
+ EGetMobileCallInfoCompleted,
+ ENotifyMobileCallStatusChangeCompleted
+ };
+
+// Test case numbers can be used for defining parameter checks for
+// certain test cases. Can be set by function SetSmsParameterCheck.
+enum TTestCase
+ {
+ ETestCaseNotDefined = 0,
+ ETestCaseVoice032 = 32,
+ ETestCaseVoice033 = 33,
+ ETestCaseVoice050 = 50
+ };
+
+enum TDTMFState
+ {
+ ENotSet,
+ EActive,
+ EIdle
+ };
+
+// time related constants
+const TUint16 KSecsInHour = 3600;
+const TUint8 KMinsInHour = 60;
+
+// FORWARD DECLARATIONS
+class TDataPackage;
+class CMmDataPackage;
+class CMessageRouterBase;
+class CCore;
+class CVoice;
+
+// CLASS DECLARATION
+class CVoice : public CCore
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CVoice* NewL( CTestModuleIf& aTestModuleIf );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CVoice();
+
+ public: // New functions
+
+ public: // Functions from base classes
+
+ /**
+ * From CScriptBase Runs a script line.
+ * @since ?Series60_version
+ * @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
+
+ /**
+ * Set voice parameter check ON/OFF and test case number
+ * @since Series60_ver 5.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt SetVoiceParameterCheck( CStifItemParser& aItem );
+
+ /**
+ * Set SMS reference parameters for parameter checking
+ * @since Series60_ver 5.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt SetVoiceReferenceParameters( CStifItemParser& aItem );
+
+ /**
+ * Call Dial
+ * @since Series60_ver 2.8
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt CallDialL( CStifItemParser& aItem );
+
+ /**
+ * Video Call Dial
+ * @since Series60_ver 2.8
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt VideoCallDialL( CStifItemParser& aItem );
+
+ /**
+ * Complete Call Dial
+ * @param aResult
+ * @param aDataPackage
+ * @return None
+ */
+ void CompleteCallDial(TInt aResult, CMmDataPackage* aDataPackage);
+
+ /**
+ * Call HangUp
+ * @since Series60_ver 2.8
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt CallHangUpL( CStifItemParser& aItem );
+
+ /**
+ * Video Call HangUp
+ * @since Series60_ver 2.8
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt VideoCallHangUpL( CStifItemParser& aItem );
+
+ /**
+ * SendDTMFTones
+ * @since Series60_ver 2.8
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt SendDTMFTonesL (CStifItemParser& aItem);
+
+ /**
+ * ContinueSendDTMFTonesL
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt ContinueSendDTMFTonesL (CStifItemParser& aItem);
+
+ /**
+ * CompleteSendDTMFTones
+ * @since Series60_ver 2.8
+ * @param aResult
+ * @return None
+ */
+ void CompleteSendDTMFTones( TInt aResult );
+
+
+ /**
+ * CompleteNotifyStopInDTMFString
+ * @param aResult
+ * @param aDataPackage
+ * @return None
+ */
+ void CompleteNotifyStopInDTMFString(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * CompleteNotifyStopInDTMFString
+ * @param aResult
+ * @param aDataPackage
+ * @return None
+ */
+ void CompleteNotifyDTMFEvent(
+ TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Test IncomingCall
+ * @since Series60_ver 2.8
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt TestIncomingCall( CStifItemParser& aItem );
+
+ /**
+ * Complete Notify of IncomingCall
+ * @since Series60_ver 2.8
+ * @param aResult
+ aDataPackage
+ * @return none.
+ */
+ void CompleteNotifyIncomingCall( TInt aResult,
+ CMmDataPackage* aDataPackage);
+
+ /**
+ * Complete CallStatusChange
+ * @since Series60_ver 2.8
+ * @param aResult
+ aDataPackage
+ * @return none.
+ */
+ void CompleteCallStatusChange( TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ /**
+ * Test HoldCall
+ * @since Series60_ver 2.8
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt TestHoldCallL( CStifItemParser& aItem );
+
+ /**
+ * Test RemoteParty HangUp
+ * @since Series60_ver 2.8
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt RemotePartyHangUp( CStifItemParser& aItem );
+
+ /**
+ * Test ResumeCall
+ * @since Series60_ver 3.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt TestResumeCallL( CStifItemParser& aItem );
+
+ /**
+ * Test SwapCalls
+ * @since Series60_ver 3.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt TestSwapCallsL( CStifItemParser& aItem );
+
+ /**
+ * Test CallTransfer
+ * @since Series60_ver 3.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt TestCallTransferL( CStifItemParser& aItem );
+
+ /**
+ * Test ClearBlacklist
+ * @since Series60_ver 3.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt ClearBlacklistL( CStifItemParser& aItem );
+
+ /**
+ * Complete ClearBlacklist
+ * @since Series60_ver 3.0
+ * @param aResult
+ aDataPackage
+ * @return none.
+ */
+ void CompleteClearBlacklist( TInt aResult );
+
+ /**
+ * Test CreateConference
+ * @since Series60_ver 3.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt CreateConference( CStifItemParser& aItem );
+
+ /**
+ * Test HoldConference
+ * @since Series60_ver 3.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt HoldConference( CStifItemParser& aItem );
+
+ /**
+ * Test ResumeConference
+ * @since Series60_ver 3.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt ResumeConference( CStifItemParser& aItem );
+
+ /**
+ * Test SwapConference
+ * @since Series60_ver 3.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt SwapConference( CStifItemParser& aItem );
+
+ /**
+ * Test HangUpCC
+ * @since Series60_ver 3.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt HangUpCC( CStifItemParser& aItem );
+
+ /**
+ * Test AddCallToCC
+ * @since Series60_ver 3.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt AddCallToCC( CStifItemParser& aItem );
+
+ /**
+ * Test GoOneToOne
+ * @since Series60_ver 3.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt GoOneToOne( CStifItemParser& aItem );
+
+
+ /**
+ * VerifyRemoteAlertingToneStatus
+ * @since Series60_ver 3.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt VerifyRemoteAlertingToneStatus( CStifItemParser& aItem );
+
+ /**
+ * Complete VerifyRemoteAlertingToneStatus
+ * @since Series60_ver 3.0
+ * @param aResult
+ * @return None
+ */
+ void CompleteVerifyRemoteAlertingToneStatus( TInt aResult, CMmDataPackage* aDataPackage );
+
+ /**
+ * Test DialEmergencyCall
+ * @since Series60_ver 3.0
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt DialEmergencyCall( CStifItemParser& aItem );
+
+ /**
+ * Test ActivateUUSL
+ * @since Series60_ver 3.2
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt CVoice::ActivateUUSL( CStifItemParser& aItem );
+
+ /**
+ * Test IncomingCallWithUUS
+ * @since Series60_ver 3.2
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt CVoice::IncomingCallWithUUS( CStifItemParser& aItem );
+
+ /**
+ * Checks completions and their order to incoming UUS call
+ * @since Series60_ver 3.2
+ * @param aResult Completion result
+ aDataPackage Datapackage included to completion
+ aIpc IPC number of completion
+ * @return none
+ */
+ void CVoice::CheckIncomingCallUUSCompletions( TInt aResult,
+ CMmDataPackage* aDataPackage, TInt aIpc );
+
+ /**
+ * Complete CallTermination
+ * @since Series60_ver 3.0
+ * @param aResult
+ * @return None
+ */
+ void CompleteCallTermination( TInt aResult );
+
+ /**
+ * Completes get mobile call info
+ * @since Series60_ver 3.2
+ * @param aResult Completion result from NTSY
+ * @param aCallData Data package from NTSY
+ * @return None
+ */
+ void CompleteMobileCallGetMobileCallInfo(
+ TInt aResult,
+ const CCallDataPackage* aCallData );
+ /**
+ * Test UpdateLifeTimer
+ * @since Series60_ver 3.2
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt CVoice::UpdateLifeTimer( CStifItemParser& aItem );
+
+ /**
+ * Test GetLifeTimer
+ * @since Series60_ver 3.2
+ * @param aItem Script line containing method name and parameters
+ * @return Symbian OS error code.
+ */
+ TInt CVoice::GetLifeTimer( CStifItemParser& aItem );
+
+ /**
+ * Complete Life Timer value request
+ * @since Series60_ver 2.8
+ * @param aResult
+ aDataPackage
+ * @return none.
+ */
+ void CompleteGetLifeTimer(
+ TInt aResult,
+ CMmDataPackage* aDataPackage);
+
+ protected: // Functions from base classes
+
+ /**
+ * C++ default constructor.
+ */
+ CVoice( CTestModuleIf& aTestModuleIf );
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void VoiceConstructL();
+
+ private:
+
+ /**
+ * Frees all resources allocated from test methods.
+ * @since ?Series60_version
+ */
+ void Delete();
+
+ /**
+ * Test methods are listed below.
+ */
+
+
+ /**
+ * Set MobileCallInfo
+ * @since Series60_ver 2.8
+ * @param aNetworkInfo
+ * @return None.
+ */
+ void SetMobileCallInfo();
+
+ /**
+ * Sets MobileCallParams
+ * @since Series60_ver 2.8
+ * @param aNetworkInfo
+ * @return Symbian OS error code.
+ */
+ TInt SetMobileCallParams( CStifItemParser& aItem );
+
+ /**
+ * Answer incoming call
+ * @since Series60_ver 2.8
+ * @return Symbian OS error code.
+ */
+ TInt AnswerIncomingCallL();
+
+ /**
+ * Answer incoming Video call
+ * @since Series60_ver 2.8
+ * @return Symbian OS error code.
+ */
+ TInt AnswerIncomingVideoCallL();
+
+ /**
+ * Complete Call Answer
+ * @param aResult
+ * @param aDataPackage
+ * @return None
+ */
+ void CompleteCallAnswer(TInt aResult, CMmDataPackage* aDataPackage);
+
+ public: // Data
+
+ protected: // Data
+
+ private: // Data
+ /**
+ * Pointer to logger
+ */
+ CStifLogger* iVoiceLog;
+
+ RMobilePhone::TMobileService iMobileService;
+
+ RMobileCall::TMobileCallParamsV1 iCallParams;
+ RMobileCall::TMobileCallParamsV1Pckg iCallParamsPckg;
+
+ RMobileCall::TMobileCallInfoV1 iMobileCallInfoV1;
+
+ // Any test ongoing
+ TOngoingTest iTestOngoing;
+
+ //call id
+ TInt iCallId;
+
+ //Incoming UUS call completion phase.
+ TUUSCompletionState iUUSCompletionState;
+
+ TBool iAnswerIncomingCall;
+
+ TUint8 iIndicationCounter;
+ TUint8 iNumberOfCallsInCC;
+
+ TBool iDontAnswerCall;
+
+ TBool iInitializationOngoing;
+
+ TConnectionState iVerifyConnectedStatus;
+
+ TBuf<100> iSavedUUSNameForComparison;
+ // For parameter checking
+ TBool iVoiceParameterCheck;
+
+ // Test case number for parameter checking
+ TTestCase iTestCaseNumber;
+
+ // Reference parameters for parameter checking
+ RMobilePhone::TMobileService iRefCallMode;
+ RMobileCall::TMobileCallStatus iRefCallStatus;
+ TInt iRefCallId;
+ TBuf<256> iRefDTMFStringToContinue;
+
+ RMmCustomAPI::TLifeTimeData iLifeTimerForComparison;
+
+ TDTMFState iDTMFState;
+
+ public: // Friend classes
+ //?friend_class_declaration;
+ protected: // Friend classes
+ //?friend_class_declaration;
+ private: // Friend classes
+ //?friend_class_declaration;
+
+ };
+
+
+
+#endif // VOICE_H
+
+
+
+// End of File
\ No newline at end of file