Telephony/ctsydispatchlayer/exportinc/mltsydispatchcallcontrolmultipartyinterface.h
author Tom Pritchard <tomp@symbian.org>
Thu, 12 Aug 2010 13:20:01 +0100
changeset 21 ab1d0f4d2aa4
permissions -rw-r--r--
Adding the "WishList" state Telephony APIs
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     1
// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     2
// All rights reserved.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     3
// This component and the accompanying materials are made available
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     5
// which accompanies this distribution, and is available
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     7
//
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     8
// Initial Contributors:
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    10
//
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    11
// Contributors:
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    12
//
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    13
// Description:
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    14
// This file contains all the interfaces classes that can be implemented by
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    15
// the Licensee LTSY relating to CallControlMultiparty related features.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    16
//
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    17
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    18
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    19
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    20
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    21
/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    22
 @file
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    23
 @internalAll 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    24
*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    25
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    26
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    27
#ifndef MLTSYDISPATCHCALLCONTROLMULTIPARTYINTERFACE_H_
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    28
#define MLTSYDISPATCHCALLCONTROLMULTIPARTYINTERFACE_H_
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    29
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    30
#include <ctsy/ltsy/mltsydispatchinterface.h>
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    31
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    32
class MLtsyDispatchCallControlMultipartyConferenceHangUp : public MLtsyDispatchInterface
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    33
	{
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    34
public:
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    35
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    36
	static const TInt KLtsyDispatchCallControlMultipartyConferenceHangUpApiId = KDispatchCallControlMultipartyFuncUnitId + 1;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    37
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    38
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    39
	 * The CTSY Dispatcher shall invoke this function on receiving the EMobileConferenceCallHangUp
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    40
	 * request from the CTSY.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    41
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    42
	 * It is a request call that is completed by invoking
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    43
	 * CCtsyDispatcherCallback::CallbackCallControlMultipartyConferenceHangUpComp()
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    44
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    45
	 * Implementation of this interface should terminate the active conference call.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    46
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    47
	 * @param aCallIds Array of all Call IDs, which belong to the conference.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    48
	 * This array will be destroyed after the function call returns.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    49
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    50
	 * @return KErrNone on success, otherwise another error code indicating the
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    51
	 * failure.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    52
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    53
	 * @see RMobileConferenceCall::HangUp()
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    54
	 */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    55
	virtual TInt HandleConferenceHangUpReqL(const RArray<TInt>& aCallIds) = 0;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    56
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    57
	}; // class MLtsyDispatchCallControlMultipartyConferenceHangUp
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    58
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    59
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    60
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    61
class MLtsyDispatchCallControlMultipartyConferenceAddCall : public MLtsyDispatchInterface
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    62
	{
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    63
public:
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    64
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    65
	static const TInt KLtsyDispatchCallControlMultipartyConferenceAddCallApiId = KDispatchCallControlMultipartyFuncUnitId + 2;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    66
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    67
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    68
	 * The CTSY Dispatcher shall invoke this function on receiving the EMobileConferenceCallAddCall
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    69
	 * request from the CTSY.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    70
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    71
	 * It is a request call that is completed by invoking
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    72
	 * CCtsyDispatcherCallback::CallbackCallControlMultipartyConferenceAddCallComp()
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    73
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    74
	 * Implementation of this interface should add the specified call to the conference
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    75
	 * call.  Typically, there will be an ongoing conference call containing at least
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    76
	 * 2 remote parties.  The conference call gets swapped into the held state and
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    77
	 * either a new call is dialled or an incoming call is answered.  This call can
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    78
	 * then be added to the conference call using this API.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    79
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    80
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    81
	 * @param aCallId The Call ID of the connected call to be added to the multiparty (conference) call.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    82
	 * @param aExistingCallId The Call ID of one of the calls which is already a part of the conference call.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    83
	 * This can be the Call ID of any of the existing calls in the conference, not necessarily the first one that was added.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    84
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    85
	 * @return KErrNone on success, otherwise another error code indicating the
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    86
	 * failure.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    87
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    88
	 * @see RMobileconferenceCall::AddCall()
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    89
	 */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    90
	virtual TInt HandleConferenceAddCallReqL(TInt aCallId, TInt aExistingCallId) = 0;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    91
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    92
	}; // class MLtsyDispatchCallControlMultipartyConferenceAddCall
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    93
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    94
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    95
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    96
class MLtsyDispatchCallControlMultipartyCreateConference : public MLtsyDispatchInterface
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    97
	{
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    98
public:
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    99
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   100
	static const TInt KLtsyDispatchCallControlMultipartyCreateConferenceApiId = KDispatchCallControlMultipartyFuncUnitId + 3;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   101
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   102
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   103
	 * The CTSY Dispatcher shall invoke this function on receiving the EMobileConferenceCallCreateConference
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   104
	 * request from the CTSY.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   105
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   106
	 * It is a request call that is completed by invoking
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   107
	 * CCtsyDispatcherCallback::CallbackCallControlMultipartyCreateConferenceComp()
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   108
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   109
	 * Implementation of this interface should join the two specified calls into a
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   110
	 * multiparty (conference) call.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   111
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   112
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   113
	 * @param aHeldCallId The Call ID of the held call which will be one of the calls
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   114
	 * joined to the conference.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   115
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   116
	 * @param aSecondCallId The Call ID of the active / alerting call which will be
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   117
	 * the other call joined to the conference.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   118
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   119
	 * @return KErrNone on success, otherwise another error code indicating the
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   120
	 * failure.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   121
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   122
	 * @see RMobileConferenceCall::CreateConference()
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   123
	 */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   124
	virtual TInt HandleCreateConferenceReqL(TInt aHeldCallId, TInt aSecondCallId) = 0;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   125
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   126
	}; // class MLtsyDispatchCallControlMultipartyCreateConference
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   127
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   128
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   129
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   130
class MLtsyDispatchCallControlMultipartyConferenceSwap : public MLtsyDispatchInterface
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   131
	{
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   132
public:
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   133
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   134
	static const TInt KLtsyDispatchCallControlMultipartyConferenceSwapApiId = KDispatchCallControlMultipartyFuncUnitId + 4;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   135
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   136
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   137
	 * The CTSY Dispatcher shall invoke this function on receiving the EMobileConferenceCallSwap
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   138
	 * request from the CTSY.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   139
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   140
	 * It is a request call that is completed by invoking
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   141
	 * CCtsyDispatcherCallback::CallbackCallControlMultipartyConferenceSwapComp()
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   142
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   143
	 * Implementation of this interface should swap the ongoing conference call and
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   144
	 * the other call. If the conference call is on hold,
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   145
	 * it will become connected and the other call will be held.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   146
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   147
	 * If it is connected, it will be put on hold and the other call will become
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   148
	 * connected.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   149
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   150
	 * @param aHeldCallId The Call ID of the currently held call. If the conference
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   151
	 * call is on hold then this will be the call ID of one of the calls in the
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   152
	 * conference.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   153
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   154
	 * @param aConnectedCallId The Call ID of the currently connected call.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   155
	 * If the conference call is connected then this will be the call ID of one
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   156
	 * of the calls in the conference.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   157
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   158
	 * @return KErrNone on success, otherwise another error code indicating the
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   159
	 * failure.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   160
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   161
	 * @see RMobileConferenceCall::Swap()
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   162
	 */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   163
	virtual TInt HandleConferenceSwapReqL(TInt aHeldCallId, TInt aConnectedCallId) = 0;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   164
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   165
	}; // class MLtsyDispatchCallControlMultipartyConferenceSwap
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   166
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   167
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   168
class MLtsyDispatchCallControlMultipartyConferenceGoOneToOne : public MLtsyDispatchInterface
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   169
	{
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   170
public:
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   171
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   172
	static const TInt KLtsyDispatchCallControlMultipartyConferenceGoOneToOneApiId = KDispatchCallControlMultipartyFuncUnitId + 5;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   173
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   174
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   175
	 * The CTSY Dispatcher shall invoke this function on receiving the EMobileCallGoOneToOne
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   176
	 * request from the CTSY.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   177
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   178
	 * It is a request call that is completed by invoking
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   179
	 * CCtsyDispatcherCallback::CallbackCallControlMultipartyConferenceGoOneToOneComp()
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   180
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   181
	 * Implementation of this interface should setup a private communication with the specified call
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   182
	 * in the conference.  This call will then become connected when the call status notification
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   183
	 * arrives from the LTSY and the other call(s) will go on hold.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   184
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   185
	 * If at the time of the go one-to-one request, there are two remote parties in the conference
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   186
	 * call, after the one to one is successful, the other call will go on hold and the conference
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   187
	 * will go idle (as there are not enough participants to be a valid conference anymore). If there
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   188
	 * are more than two remote parties in the conference call, then the conference call should go
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   189
	 * on hold.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   190
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   191
	 * @param aCallId The Call ID of the call which the client wishes to set up a private communication with.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   192
	 * This should be a call currently in the conference.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   193
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   194
	 * @return KErrNone on success, otherwise another error code indicating the
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   195
	 * failure.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   196
	 *
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   197
	 * @see RMobileCall::GoOneToOne()
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   198
	 */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   199
	virtual TInt HandleConferenceGoOneToOneReqL(TInt aCallId) = 0;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   200
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   201
	}; // class MLtsyDispatchCallControlMultipartyConferenceGoOneToOne
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   202
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   203
#endif /*MLTSYDISPATCHCALLCONTROLMULTIPARTYINTERFACE_H_*/