cbsref/telephonyrefplugins/atltsy/handler/inc/cltsycallcontrolhandler.h
author hgs
Thu, 07 Oct 2010 11:24:36 +0100
changeset 76 91e0f833dd8b
parent 44 8b72faa1200f
permissions -rw-r--r--
201039_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
44
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     1
// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     2
// All rights reserved.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     7
//
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     8
// Initial Contributors:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    10
//
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    11
// Contributors:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    12
//
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    13
// Description:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    14
// CLtsyCallControlHandler
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    15
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    16
#ifndef __CLTSYDISPATCHCALLCONTROLHANDLER_H_
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    17
#define __CLTSYDISPATCHCALLCONTROLHANDLER_H_
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    18
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    19
//system include
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    20
#include <e32std.h>
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    21
#include <e32base.h>
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    22
#include <ctsy/ltsy/mltsydispatchinterface.h>
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    23
#include <ctsy/ltsy/mltsydispatchcallcontrolinterface.h>
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    24
#include "misdispatchinterfacesupported.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    25
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    26
//user include
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    27
#include "ltsymacros.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    28
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    29
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    30
// FORWARD DECLARATIONS
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    31
class CATDialVoice;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    32
class CCtsyDispatcherCallback;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    33
class CGlobalPhonemanager;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    34
class CATWaitForCallHandler;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    35
class MLtsyUnsolicitedCommandObserver;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    36
class CUnsolicitedCommandCallControlHandler;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    37
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    38
/**
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    39
 * Implements interfaces from the CTSY Dispatcher. The CTSY Dispatcher uses these
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    40
 * interfaces to make requests to the Licensee LTSY.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    41
 */
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    42
class CLtsyCallControlHandler : 	public CBase,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    43
							public MIsDispatchInterfaceSupported,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    44
							public MLtsyDispatchCallControlAnswer,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    45
							public MLtsyDispatchCallControlHold,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    46
							public MLtsyDispatchCallControlDialEmergency,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    47
							public MLtsyDispatchCallControlStopDtmfTone,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    48
							public MLtsyDispatchCallControlSetActiveAlsLine,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    49
							public MLtsyDispatchCallControlSendDtmfTonesCancel,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    50
							public MLtsyDispatchCallControlHangUp,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    51
							public MLtsyDispatchCallControlResume,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    52
							public MLtsyDispatchCallControlSetDynamicHscsdParams,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    53
							public MLtsyDispatchCallControlDialVoice,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    54
							public MLtsyDispatchCallControlTransfer,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    55
							public MLtsyDispatchCallControlSendDtmfTones,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    56
							public MLtsyDispatchCallControlGetIdentityServiceStatus,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    57
							public MLtsyDispatchCallControlSwap,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    58
							public MLtsyDispatchCallControlLoanDataPort,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    59
							public MLtsyDispatchCallControlRecoverDataPort,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    60
							public MLtsyDispatchCallControlStartDtmfTone,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    61
							public MLtsyDispatchCallControlGetActiveAlsLine,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    62
							public MLtsyDispatchCallControlDialData,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    63
                            public MLtsyDispatchCallControlQueryIsEmergencyNumber,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    64
                            public MLtsyDispatchCallControlGetAlsPpSupport,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    65
                            public MLtsyDispatchCallControlGetAlsBlockedStatus,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    66
                            public MLtsyDispatchCallControlSetAlsBlocked,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    67
                            public MLtsyDispatchCallControlGetLifeTime,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    68
                            public MLtsyDispatchCallControlTerminateErrorCall,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    69
                            public MLtsyDispatchCallControlTerminateAllCalls,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    70
                            public MLtsyDispatchCallControlGetCallForwardingIndicator,
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    71
							public MLtsyDispatchCallControlUpdateLifeTimer
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    72
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    73
public:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    74
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    75
	virtual ~CLtsyCallControlHandler();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    76
	static CLtsyCallControlHandler* NewL(CCtsyDispatcherCallback& aCtsyDispatcherCallback,  CGlobalPhonemanager* aGloblePhone);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    77
	static CLtsyCallControlHandler* NewLC(CCtsyDispatcherCallback& aCtsyDispatcherCallback, CGlobalPhonemanager* aGloblePhone);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    78
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    79
	virtual TBool IsInterfaceSupported(TLtsyDispatchInterfaceApiId aDispatchApiId);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    80
	void IsCallbackIndicatorSupported(TLtsyDispatchIndIdGroup aIdGroup, TUint32& aIndIdBitMask);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    81
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    82
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    83
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    84
    // From MLtsyDispatchCallControlAnswer
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    85
    virtual TInt HandleAnswerReqL(TInt aCallId, TBool aIsIsvCall);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    86
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    87
    // From MLtsyDispatchCallControlHold
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    88
    virtual TInt HandleHoldReqL(TInt aCallId);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    89
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    90
    // From MLtsyDispatchCallControlDialEmergency
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    91
    virtual TInt HandleDialEmergencyReqL(const TDes& aEmergencyNumber);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    92
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    93
    // From MLtsyDispatchCallControlStopDtmfTone
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    94
    virtual TInt HandleStopDtmfToneReqL(TInt aCallId);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    95
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    96
    // From MLtsyDispatchCallControlSetActiveAlsLine
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    97
    virtual TInt HandleSetActiveAlsLineReqL(RMobilePhone::TMobilePhoneALSLine aAlsLine);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    98
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    99
    // From MLtsyDispatchCallControlSendDtmfTonesCancel
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   100
    virtual TInt HandleSendDtmfTonesCancelReqL(TInt aCallId);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   101
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   102
    // From MLtsyDispatchCallControlHangUp
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   103
    virtual TInt HandleHangUpReqL(TInt aCallId, TInt aHangupCause);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   104
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   105
    // From MLtsyDispatchCallControlResume
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   106
    virtual TInt HandleResumeReqL(TInt aCallId);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   107
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   108
    // From MLtsyDispatchCallControlSetDynamicHscsdParams
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   109
    virtual TInt HandleSetDynamicHscsdParamsReqL(TInt aCallId, const RMobileCall::TMobileHscsdCallParamsV1& aHscsdParams);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   110
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   111
    // From MLtsyDispatchCallControlDialVoice  void CallbackCallControlDialVoiceComp(TInt aError, TInt aCallId);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   112
    virtual TInt HandleDialVoiceReqL(RMobilePhone::TMobilePhoneALSLine aLine, const RMobilePhone::TMobileAddress& aDialledParty, const RMobileCall::TMobileCallParamsV1& aCallParamsV1, TBool aIsIsvCall, RMobileCall::TCallParamOrigin aCallOrigin, TBool aPerformFdnCheck);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   113
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   114
    // From MLtsyDispatchCallControlTransfer
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   115
    virtual TInt HandleTransferReqL(TInt aHeldCallId, TInt aSecondCallId);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   116
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   117
    // From MLtsyDispatchCallControlSendDtmfTones
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   118
    virtual TInt HandleSendDtmfTonesReqL(TInt aCallId, const TDesC &aTones);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   119
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   120
    // From MLtsyDispatchCallControlGetIdentityServiceStatus
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   121
    virtual TInt HandleGetIdentityServiceStatusReqL(RMobilePhone::TMobilePhoneIdService aService);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   122
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   123
    // From MLtsyDispatchCallControlSwap
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   124
    virtual TInt HandleSwapReqL(TInt aHeldCallId, TInt aConnectedCallId);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   125
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   126
    // From MLtsyDispatchCallControlLoanDataPort
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   127
    virtual TInt HandleLoanDataPortSyncL(TInt aCallId, RCall::TCommPort& aCommPort);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   128
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   129
    // From MLtsyDispatchCallControlRecoverDataPort
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   130
    virtual TInt HandleRecoverDataPortSyncL(TInt aCallId, RCall::TCommPort& aCommPort);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   131
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   132
    // From MLtsyDispatchCallControlStartDtmfTone
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   133
    virtual TInt HandleStartDtmfToneReqL(TInt aCallId, const TChar& aTone);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   134
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   135
	// From MLtsyDispatchCallControlGetActiveAlsLine
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   136
	virtual TInt HandleGetActiveAlsLineReqL();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   137
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   138
	// From MLtsyDispatchCallControlDialData
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   139
	virtual TInt HandleDialDataReqL(const RMobilePhone::TMobileAddress& aDialledParty, const RMobileCall::TMobileDataCallParamsV1& aCallParamsV1, TBool aPerformFdnCheck);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   140
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   141
	// From MLtsyDispatchCallControlQueryIsEmergencyNumber
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   142
	virtual TInt HandleQueryIsEmergencyNumberSyncL(const TDesC& aNumber, TBool& aIsEmergencyNumber);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   143
	
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   144
	// From MLtsyDispatchCallControlUpdateLifeTimer
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   145
	virtual TInt HandleUpdateLifeTimerReqL(TUint32 aDuration);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   146
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   147
    // From MLtsyDispatchCallControlGetAlsPpSupport
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   148
    virtual TInt HandleGetAlsPpSupportL();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   149
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   150
    // From MLtsyDispatchCallControlGetAlsBlockedStatus
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   151
    virtual TInt HandleGetAlsBlockedStatusL();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   152
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   153
    // From MLtsyDispatchCallControlSetAlsBlocked
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   154
    virtual TInt HandleSetAlsBlockedL(RMmCustomAPI::TSetAlsBlock aBlocked);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   155
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   156
    // From MLtsyDispatchCallControlGetLifeTime
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   157
    virtual TInt HandleGetLifeTimeL();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   158
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   159
    // From MLtsyDispatchCallControlTerminateErrorCall
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   160
    virtual TInt HandleTerminateErrorCallL(TInt aCallId);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   161
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   162
    // From MLtsyDispatchCallControlTerminateAllCalls
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   163
    virtual TInt HandleTerminateAllCallsL();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   164
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   165
    // From MLtsyDispatchCallControlGetCallForwardingIndicatorStatus
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   166
    virtual TInt HandleGetCallForwardingIndicatorL();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   167
    
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   168
public:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   169
	MLtsyUnsolicitedCommandObserver* GetUnsolicitedCallControlHandler() const;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   170
    
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   171
private:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   172
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   173
	CLtsyCallControlHandler(CCtsyDispatcherCallback& aCtsyDispatcherCallback, CGlobalPhonemanager* aGloblePhone);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   174
	void ConstructL();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   175
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   176
private:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   177
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   178
	/**
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   179
	 * Callback object in the CTSY Dispatcher.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   180
	 *
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   181
	 * Used to complete a request back to the CTSY Dispatcher.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   182
	 */
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   183
	CCtsyDispatcherCallback& iCtsyDispatcherCallback;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   184
	
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   185
	//Not Owned
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   186
	CGlobalPhonemanager* iGloblePhone;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   187
	
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   188
	//monitor incoming call
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   189
	CATWaitForCallHandler* iWaitForCall;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   190
	
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   191
	//Process unsolicited command
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   192
	CUnsolicitedCommandCallControlHandler* iUnsolicitedHandler;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   193
	
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   194
	//Emergency call
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   195
	CATDialVoice* iEmergencyCall;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   196
	}; // class CLtsyCallControlHandler
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   197
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   198
#endif // __CLTSYDISPATCHCALLCONTROLHANDLER_H_