--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/attestltsy/handler/inc/cltsycallcontrolhandler.h Tue Feb 09 12:31:43 2010 +0000
@@ -0,0 +1,198 @@
+// 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 "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:
+// CLtsyCallControlHandler
+
+#ifndef __CLTSYDISPATCHCALLCONTROLHANDLER_H_
+#define __CLTSYDISPATCHCALLCONTROLHANDLER_H_
+
+//system include
+#include <e32std.h>
+#include <e32base.h>
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+#include <ctsy/ltsy/mltsydispatchcallcontrolinterface.h>
+#include "misdispatchinterfacesupported.h"
+
+//user include
+#include "ltsymacros.h"
+
+
+// FORWARD DECLARATIONS
+class CATDialVoice;
+class CCtsyDispatcherCallback;
+class CGlobalPhonemanager;
+class CATWaitForCallHandler;
+class MLtsyUnsolicitedCommandObserver;
+class CUnsolicitedCommandCallControlHandler;
+
+/**
+ * Implements interfaces from the CTSY Dispatcher. The CTSY Dispatcher uses these
+ * interfaces to make requests to the Licensee LTSY.
+ */
+class CLtsyCallControlHandler : public CBase,
+ public MIsDispatchInterfaceSupported,
+ public MLtsyDispatchCallControlAnswer,
+ public MLtsyDispatchCallControlHold,
+ public MLtsyDispatchCallControlDialEmergency,
+ public MLtsyDispatchCallControlStopDtmfTone,
+ public MLtsyDispatchCallControlSetActiveAlsLine,
+ public MLtsyDispatchCallControlSendDtmfTonesCancel,
+ public MLtsyDispatchCallControlHangUp,
+ public MLtsyDispatchCallControlResume,
+ public MLtsyDispatchCallControlSetDynamicHscsdParams,
+ public MLtsyDispatchCallControlDialVoice,
+ public MLtsyDispatchCallControlTransfer,
+ public MLtsyDispatchCallControlSendDtmfTones,
+ public MLtsyDispatchCallControlGetIdentityServiceStatus,
+ public MLtsyDispatchCallControlSwap,
+ public MLtsyDispatchCallControlLoanDataPort,
+ public MLtsyDispatchCallControlRecoverDataPort,
+ public MLtsyDispatchCallControlStartDtmfTone,
+ public MLtsyDispatchCallControlGetActiveAlsLine,
+ public MLtsyDispatchCallControlDialData,
+ public MLtsyDispatchCallControlQueryIsEmergencyNumber,
+ public MLtsyDispatchCallControlGetAlsPpSupport,
+ public MLtsyDispatchCallControlGetAlsBlockedStatus,
+ public MLtsyDispatchCallControlSetAlsBlocked,
+ public MLtsyDispatchCallControlGetLifeTime,
+ public MLtsyDispatchCallControlTerminateErrorCall,
+ public MLtsyDispatchCallControlTerminateAllCalls,
+ public MLtsyDispatchCallControlGetCallForwardingIndicator,
+ public MLtsyDispatchCallControlUpdateLifeTimer
+ {
+public:
+
+ virtual ~CLtsyCallControlHandler();
+ static CLtsyCallControlHandler* NewL(CCtsyDispatcherCallback& aCtsyDispatcherCallback, CGlobalPhonemanager* aGloblePhone);
+ static CLtsyCallControlHandler* NewLC(CCtsyDispatcherCallback& aCtsyDispatcherCallback, CGlobalPhonemanager* aGloblePhone);
+
+ virtual TBool IsInterfaceSupported(TLtsyDispatchInterfaceApiId aDispatchApiId);
+ void IsCallbackIndicatorSupported(TLtsyDispatchIndIdGroup aIdGroup, TUint32& aIndIdBitMask);
+
+
+
+ // From MLtsyDispatchCallControlAnswer
+ virtual TInt HandleAnswerReqL(TInt aCallId, TBool aIsIsvCall);
+
+ // From MLtsyDispatchCallControlHold
+ virtual TInt HandleHoldReqL(TInt aCallId);
+
+ // From MLtsyDispatchCallControlDialEmergency
+ virtual TInt HandleDialEmergencyReqL(const TDes& aEmergencyNumber);
+
+ // From MLtsyDispatchCallControlStopDtmfTone
+ virtual TInt HandleStopDtmfToneReqL(TInt aCallId);
+
+ // From MLtsyDispatchCallControlSetActiveAlsLine
+ virtual TInt HandleSetActiveAlsLineReqL(RMobilePhone::TMobilePhoneALSLine aAlsLine);
+
+ // From MLtsyDispatchCallControlSendDtmfTonesCancel
+ virtual TInt HandleSendDtmfTonesCancelReqL(TInt aCallId);
+
+ // From MLtsyDispatchCallControlHangUp
+ virtual TInt HandleHangUpReqL(TInt aCallId, TInt aHangupCause);
+
+ // From MLtsyDispatchCallControlResume
+ virtual TInt HandleResumeReqL(TInt aCallId);
+
+ // From MLtsyDispatchCallControlSetDynamicHscsdParams
+ virtual TInt HandleSetDynamicHscsdParamsReqL(TInt aCallId, const RMobileCall::TMobileHscsdCallParamsV1& aHscsdParams);
+
+ // From MLtsyDispatchCallControlDialVoice void CallbackCallControlDialVoiceComp(TInt aError, TInt aCallId);
+ virtual TInt HandleDialVoiceReqL(RMobilePhone::TMobilePhoneALSLine aLine, const RMobilePhone::TMobileAddress& aDialledParty, const RMobileCall::TMobileCallParamsV1& aCallParamsV1, TBool aIsIsvCall, RMobileCall::TCallParamOrigin aCallOrigin, TBool aPerformFdnCheck);
+
+ // From MLtsyDispatchCallControlTransfer
+ virtual TInt HandleTransferReqL(TInt aHeldCallId, TInt aSecondCallId);
+
+ // From MLtsyDispatchCallControlSendDtmfTones
+ virtual TInt HandleSendDtmfTonesReqL(TInt aCallId, const TDesC &aTones);
+
+ // From MLtsyDispatchCallControlGetIdentityServiceStatus
+ virtual TInt HandleGetIdentityServiceStatusReqL(RMobilePhone::TMobilePhoneIdService aService);
+
+ // From MLtsyDispatchCallControlSwap
+ virtual TInt HandleSwapReqL(TInt aHeldCallId, TInt aConnectedCallId);
+
+ // From MLtsyDispatchCallControlLoanDataPort
+ virtual TInt HandleLoanDataPortSyncL(TInt aCallId, RCall::TCommPort& aCommPort);
+
+ // From MLtsyDispatchCallControlRecoverDataPort
+ virtual TInt HandleRecoverDataPortSyncL(TInt aCallId, RCall::TCommPort& aCommPort);
+
+ // From MLtsyDispatchCallControlStartDtmfTone
+ virtual TInt HandleStartDtmfToneReqL(TInt aCallId, const TChar& aTone);
+
+ // From MLtsyDispatchCallControlGetActiveAlsLine
+ virtual TInt HandleGetActiveAlsLineReqL();
+
+ // From MLtsyDispatchCallControlDialData
+ virtual TInt HandleDialDataReqL(const RMobilePhone::TMobileAddress& aDialledParty, const RMobileCall::TMobileDataCallParamsV1& aCallParamsV1, TBool aPerformFdnCheck);
+
+ // From MLtsyDispatchCallControlQueryIsEmergencyNumber
+ virtual TInt HandleQueryIsEmergencyNumberSyncL(const TDesC& aNumber, TBool& aIsEmergencyNumber);
+
+ // From MLtsyDispatchCallControlUpdateLifeTimer
+ virtual TInt HandleUpdateLifeTimerReqL(TUint32 aDuration);
+
+ // From MLtsyDispatchCallControlGetAlsPpSupport
+ virtual TInt HandleGetAlsPpSupportL();
+
+ // From MLtsyDispatchCallControlGetAlsBlockedStatus
+ virtual TInt HandleGetAlsBlockedStatusL();
+
+ // From MLtsyDispatchCallControlSetAlsBlocked
+ virtual TInt HandleSetAlsBlockedL(RMmCustomAPI::TSetAlsBlock aBlocked);
+
+ // From MLtsyDispatchCallControlGetLifeTime
+ virtual TInt HandleGetLifeTimeL();
+
+ // From MLtsyDispatchCallControlTerminateErrorCall
+ virtual TInt HandleTerminateErrorCallL(TInt aCallId);
+
+ // From MLtsyDispatchCallControlTerminateAllCalls
+ virtual TInt HandleTerminateAllCallsL();
+
+ // From MLtsyDispatchCallControlGetCallForwardingIndicatorStatus
+ virtual TInt HandleGetCallForwardingIndicatorL();
+
+public:
+ MLtsyUnsolicitedCommandObserver* GetUnsolicitedCallControlHandler() const;
+
+private:
+
+ CLtsyCallControlHandler(CCtsyDispatcherCallback& aCtsyDispatcherCallback, CGlobalPhonemanager* aGloblePhone);
+ void ConstructL();
+
+private:
+
+ /**
+ * Callback object in the CTSY Dispatcher.
+ *
+ * Used to complete a request back to the CTSY Dispatcher.
+ */
+ CCtsyDispatcherCallback& iCtsyDispatcherCallback;
+
+ //Not Owned
+ CGlobalPhonemanager* iGloblePhone;
+
+ //monitor incoming call
+ CATWaitForCallHandler* iWaitForCall;
+
+ //Process unsolicited command
+ CUnsolicitedCommandCallControlHandler* iUnsolicitedHandler;
+
+ //Emergency call
+ CATDialVoice* iEmergencyCall;
+ }; // class CLtsyCallControlHandler
+
+#endif // __CLTSYDISPATCHCALLCONTROLHANDLER_H_