diff -r 61e9400fe245 -r 0cb2248d0edc apicompatanamdw/bcdrivers/os/cellularsrv/IsvTelephonyTest/inc/IsvTelephonyTestEngine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/apicompatanamdw/bcdrivers/os/cellularsrv/IsvTelephonyTest/inc/IsvTelephonyTestEngine.h Thu Apr 22 17:15:08 2010 +0530 @@ -0,0 +1,485 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "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: A class that wraps the CTelephony class. +* Copyright (c) 2005 Nokia. All rights reserved. +* +*/ + + + +#ifndef ISVTELEPHONYTESTENGINE_H +#define ISVTELEPHONYTESTENGINE_H + +// INCLUDES +#include +#include + +// FORWARD DECLARATIONS +class CTelephony; + +// CLASS DEFINITIONS + +/** +* CIsvTelephonyTest: This class derives from CActive and wraps the +* CTelephony class. Provides a command table based execution for +* telephony commands with command specific parsing capabilities. +*/ +class CIsvTelephonyTestEngine : public CActive + { + public: + + /** + * Command Table. + */ + enum TETelApiCmd + { + /** + Get Phone Identity. + */ + EGetPhoneId = 0, + /** + Get SubscriberId. + */ + EGetSubscriberId, + /** + Get CurrentNetworkInfo. + */ + EGetCurrentNetworkInfo, + /** + Get CurrentNetworkName. + */ + EGetCurrentNetworkName, + /** + Get Flight Mode. + */ + EGetFlightMode, + /** + Get Indicator. + */ + EGetIndicator, + /** + Get Signal Strength. + */ + EGetSignalStrength, + /** + Get Lock Info. + */ + EGetLockInfo, + /** + Send DTMF Tones + */ + ESendDTMFTones, + /** + Get line status + */ + EGetLineStatus, + /** + Get call info + */ + EGetCallInfo, + /** + Get Operator Name. + */ + EGetOperatorName, + /** + Get Call Forwarding Status. + */ + EGetCallForwardingStatus, + /** + Get Network registration status. + */ + ENwRegistrationStatus, + /** + Get Battery Info. + */ + EGetBatteryInfo, + /** + Get Call barring status. + */ + EGetBarringStatus, + /** + Get Call waiting status. + */ + EGetWaitingStatus, + /** + Get identity status. + */ + EGetIdentityStatus, + /** + Dial new call. + */ + EDialNewCall, + /** + Get call dynamic caps. + */ + EGetCallDynamicCaps, + /** + Get call status. + */ + EGetCallStatus, + /** + Hold. + */ + EHold, + /** + Resume. + */ + EResume, + /** + Swap. + */ + ESwap, + /** + Hangup. + */ + EHangup, + /** + AnswerIncomingCall. + */ + EAnswerIncomingCall, + /** + Notify change. + */ + ENotifyChange, + /** + Find device status. + */ + EFindDeviceStatus, + /** + Establish data call. + */ + EEstablishDataCall, + /** + Terminate data call. + */ + ETerminateDataCall, + /** + Receive data call. + */ + EReceiveDataCall, + /** + Cancel establish data call. + */ + ECancelEstablishDataCall, + /** + Cancel receive data call. + */ + ECancelReceiveDataCall, + /** + Maximum number of commands. + */ + EMaxCommands, + /** + Command None + */ + ECommandNone + }; + + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CIsvTelephonyTestEngine* NewL(); + + /** + * Destructor. + */ + virtual ~CIsvTelephonyTestEngine(); + + public: // Test functions for individual commands + + /** + * Sets internal cancel async flag, causing async function + * tests to be cancelled with CancelAsync() + */ + void SetCancelAsyncs( TBool aSetting ); + + /** + * Function for calling CTelephony::Version + */ + TInt TestGetVersion( TVersion& aVersion ); + + /** + * Function for calling CTelephony::GetPhoneId + */ + TInt TestGetPhoneId( + CTelephony::TPhoneIdV1& aPhoneId ); + + /** + * Function for calling CTelephony::GetSubscriberId + */ + TInt TestGetSubscriberId( + CTelephony::TSubscriberIdV1& aSubscriberId ); + + /** + * Function for calling CTelephony::GetFlightMode + */ + TInt TestGetFlightMode( + CTelephony::TFlightModeV1& aFlightMode ); + + /** + * Function for calling CTelephony::GetIndicator + */ + TInt TestGetIndicator( + CTelephony::TIndicatorV1& aIndicator ); + + /** + * Function for calling CTelephony::GetBatteryInfo + */ + TInt TestGetBatteryInfo( + CTelephony::TBatteryInfoV1& aBatteryInfo ); + + /** + * Function for calling CTelephony::GetSignalStrength + */ + TInt TestGetSignalStrength( + CTelephony::TSignalStrengthV1& aSignalStrength ); + + /** + * Function for calling CTelephony::GetLockInfo + */ + TInt TestGetLockInfo( + CTelephony::TIccLock& aLock, + CTelephony::TIccLockInfoV1& aLockInfo ); + + /** + * Function for calling CTelephony::SendDTMFTones + */ + TInt TestSendDTMFTones( + const TDesC& aDTMFTones ); + + /** + * Function for calling CTelephony::GetLineStatus + */ + TInt TestGetLineStatus( + CTelephony::TPhoneLine& aPhoneLine, + CTelephony::TCallStatusV1& aCallStatus ); + + /** + * Function for calling CTelephony::GetCallInfo + */ + TInt TestGetCallInfo( + CTelephony::TCallSelectionV1& aCallSelection, + CTelephony::TCallInfoV1& aCallInfo, + CTelephony::TRemotePartyInfoV1& aRemotePartyInfo ); + + /** + * Function for calling CTelephony::GetNetworkRegistrationStatus + */ + TInt TestGetNetworkRegistrationStatus( + CTelephony::TNetworkRegistrationV1& aNetworkRegistration ); + + /** + * Function for calling CTelephony::GetCurrentNetworkInfo + */ + TInt TestGetCurrentNetworkInfo( + CTelephony::TNetworkInfoV1& aNetworkInfo ); + + /** + * Function for calling CTelephony::GetCurrentNetworkName + */ + TInt TestGetCurrentNetworkName( + CTelephony::TNetworkNameV1& aNetworkName ); + + /** + * Function for calling CTelephony::GetOperatorName + */ + TInt TestGetOperatorName( + CTelephony::TOperatorNameV1& aOperatorName ); + + /** + * Function for calling CTelephony::GetCallForwardingStatus + */ + TInt TestGetCallForwardingStatus( + CTelephony::TCallForwardingCondition& aCallForwardingCondition, + CTelephony::TCallForwardingSupplServicesV1& aCallForwardingStatus, + CTelephony::TServiceGroup& aServiceGroup ); + + /** + * Function for calling CTelephony::GetCallBarringStatus + */ + TInt TestGetCallBarringStatus( + CTelephony::TCallBarringCondition& aCallBarringCondition, + CTelephony::TCallBarringSupplServicesV1& aCallBarringStatus, + CTelephony::TServiceGroup& aServiceGroup ); + + /** + * Function for calling CTelephony::GetCallWaitingStatus + */ + TInt TestGetCallWaitingStatus( + CTelephony::TCallWaitingSupplServicesV1& aCallWaitingStatus, + CTelephony::TServiceGroup& aServiceGroup ); + + /** + * Function for calling CTelephony::GetIdentityServiceStatus + */ + TInt TestGetIdentityServiceStatus( + CTelephony::TIdentityService& aIdentityService, + CTelephony::TIdentityServiceV1& aIdentityServiceStatus ); + + /** + * Function for calling CTelephony::DialNewCall + */ + TInt TestDialNewCall( + CTelephony::TCallParamsV1& aCallParams, + CTelephony::TTelNumber& aTelNumber, + CTelephony::TCallId& aCallId, + CTelephony::TPhoneLine& aPhoneLine ); + + /** + * Function for calling CTelephony::GetCallDynamicCaps + */ + TInt TestGetCallDynamicCaps( + CTelephony::TCallId& aCallId, + CTelephony::TCallCapsV1& aCallCaps ); + + /** + * Function for calling CTelephony::GetCallStatus + */ + TInt TestGetCallStatus( + CTelephony::TCallId& aCallId, + CTelephony::TCallStatusV1& aCallStatus ); + + /** + * Function for calling CTelephony::Hold + */ + TInt TestHold( + CTelephony::TCallId& aCallId ); + + /** + * Function for calling CTelephony::Resume + */ + TInt TestResume( + CTelephony::TCallId& aCallId ); + + /** + * Function for calling CTelephony::Swap + */ + TInt TestSwap( + CTelephony::TCallId& aCallId1, + CTelephony::TCallId& aCallId2 ); + + /** + * Function for calling CTelephony::Hangup + */ + TInt TestHangup( + CTelephony::TCallId& aCallId ); + + /** + * Function for calling CTelephony::AnswerIncomingCall + */ + TInt TestAnswerIncomingCall( + CTelephony::TCallId& aCallId, + CTelephony::TPhoneLine& aPhoneLine ); + + /** + * Function for calling CTelephony::NotifyChange + */ + TInt TestNotifyChangeVoiceLineStatus ( + CTelephony::TNotificationEvent aNotificationEvent, + TDes8& aNotificationPckg ); + + /** + * Function for calling CTelephony::FindDeviceStatus + */ + TInt TestFindDeviceStatus(); + + /** + * Function for calling CTelephony::EstablishDataCall + */ + TInt TestEstablishDataCall(); + + /** + * Function for calling CTelephony::EstablishDataCall + */ + TInt TestEstablishDataCallAsync(); + + /** + * Function for calling CTelephony::TerminateDataCall + */ + TInt TestTerminateDataCall(); + + /** + * Function for calling CTelephony::ReceiveDataCall + */ + TInt TestReceiveDataCall(); + + /** + * Function for calling CTelephony::ReceiveDataCall + */ + TInt TestReceiveDataCallAsync(); + + /** + * Function for calling CTelephony::CancelEstablishDataCall + */ + TInt TestCancelEstablishDataCall(); + + /** + * Function for calling CTelephony::CancelReceiveDataCall + */ + TInt TestCancelReceiveDataCall(); + + protected: + + /** + * From CActive, RunL. + * Handles the active object’s request completion event. + */ + void RunL(); + + /** + * From CActive, DoCancel. + * Implements cancellation of an outstanding request. + */ + void DoCancel(); + + /** + * Starts the active scheduler wait after testing if it + * is already started. + */ + void StartWait(); + + private: + + /** + * Default constructor. + */ + CIsvTelephonyTestEngine(); + + /** + * Second-phase constructor. + */ + void ConstructL(); + + private: // Data + // Instance of command table + TETelApiCmd iTelApiCmd; + + // Instance of scheduler wait class + CActiveSchedulerWait iWait; + + // Pointer to CTelephony class + // which contains the Telephony ISV 3rd party API + CTelephony* iTelephony; + + // Notification event + CTelephony::TNotificationEvent iNotificationEvent; + + // Cancel Async flag + TBool iCancelAsyncs; + + }; + +#endif // ISVTELEPHONYTESTENGINE_H