cbsref/telephonyrefplugins/atltsy/handler/src/cltsycallcontrolmultipartyhandler.cpp
branchRCL_3
changeset 65 630d2f34d719
equal deleted inserted replaced
61:17af172ffa5f 65:630d2f34d719
       
     1 // Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // CLtsyCallControlMultipartyHandler
       
    15 
       
    16 #include <ctsy/ltsy/cctsydispatchercallback.h>
       
    17 #include <mmtsy_ipcdefs.h>
       
    18 
       
    19 
       
    20 
       
    21 #include "cltsycallcontrolmultipartyhandler.h"
       
    22 #include <ctsy/ltsy/ltsylogger.h>
       
    23 #include "ltsymacros.h"
       
    24 
       
    25 
       
    26 
       
    27 CLtsyCallControlMultipartyHandler::CLtsyCallControlMultipartyHandler(
       
    28 	CCtsyDispatcherCallback& aCtsyDispatcherCallback)
       
    29 	: iCtsyDispatcherCallback(aCtsyDispatcherCallback)
       
    30 	{
       
    31 	}
       
    32 
       
    33 
       
    34 CLtsyCallControlMultipartyHandler::~CLtsyCallControlMultipartyHandler()
       
    35 	{
       
    36 	}
       
    37 
       
    38 
       
    39 CLtsyCallControlMultipartyHandler* CLtsyCallControlMultipartyHandler::NewLC(
       
    40 	CCtsyDispatcherCallback& aCtsyDispatcherCallback)
       
    41 	{
       
    42 	TSYLOGENTRYEXIT;
       
    43 	CLtsyCallControlMultipartyHandler* self = new (ELeave) CLtsyCallControlMultipartyHandler(aCtsyDispatcherCallback);
       
    44 	CleanupStack::PushL(self);
       
    45 	self->ConstructL();
       
    46 	return self;
       
    47 	}
       
    48 
       
    49 
       
    50 CLtsyCallControlMultipartyHandler* CLtsyCallControlMultipartyHandler::NewL(CCtsyDispatcherCallback& aCtsyDispatcherCallback)
       
    51 	{
       
    52 	TSYLOGENTRYEXIT;
       
    53 	CLtsyCallControlMultipartyHandler* self=
       
    54 			CLtsyCallControlMultipartyHandler::NewLC(aCtsyDispatcherCallback);
       
    55 	CleanupStack::Pop(self);
       
    56 	return self;
       
    57 	}
       
    58 
       
    59 
       
    60 void CLtsyCallControlMultipartyHandler::ConstructL()
       
    61 /**
       
    62  * Second phase constructor.
       
    63  */
       
    64 	{
       
    65 	TSYLOGENTRYEXIT;
       
    66 
       
    67 
       
    68 	} // CLtsyCallControlMultipartyHandler::ConstructL
       
    69 
       
    70 TBool CLtsyCallControlMultipartyHandler::IsInterfaceSupported(TLtsyDispatchInterfaceApiId aDispatchApiId)
       
    71 /**
       
    72  * Returns whether a Dispatch Interface APi is supported or not.
       
    73  *
       
    74  * @param aDispatchApiId Id of Dispatch interface being queried
       
    75  * @return indication whether interface is supported or not
       
    76  */
       
    77 	{
       
    78 
       
    79 	switch(aDispatchApiId)
       
    80 		{
       
    81 		// Insert ApiIds when support is provided in LTSY e.g.
       
    82 		// case MLtsyDispatchPhoneBootNotifySimStatusReady::KLtsyDispatchPhoneBootNotifySimStatusReadyApiId: return ETrue;
       
    83 
       
    84 		default:
       
    85 			return EFalse;
       
    86 		}
       
    87 	}
       
    88 
       
    89 void CLtsyCallControlMultipartyHandler::IsCallbackIndicatorSupported(TLtsyDispatchIndIdGroup /*aIdGroup*/, TUint32& /*aIndIdBitMask*/)
       
    90 /**
       
    91  * Returns the set of callback indicators that are supported.
       
    92  *
       
    93 * @param aIdGroup ID of group that is being queried e.g. aIdGroup=EIndIdGroup1
       
    94 * @param aIndIdBitMask [out] argument that should return a bitmask indicating which indicator callbacks are supported.
       
    95  */
       
    96 	{
       
    97 
       
    98 	//Create bitmask with bitset for each indicator ID that is supported. E.g.
       
    99 	/*
       
   100 	if(aIdGroup == EIndIdGroup1)
       
   101 		aIndIdBitMask = KLtsyDispatchPhoneNotifyNetworkModeChangeIndId |
       
   102 						KLtsyDispatchPhoneNotifyEgprsInfoChangeIndId |
       
   103 						KLtsyDispatchPhoneNotifySignalStrengthChangeIndId;
       
   104 	else
       
   105 		aIndIdBitMask = 0; //no indicators from other groups supported
       
   106 	*/
       
   107 	}
       
   108 
       
   109 
       
   110 TInt CLtsyCallControlMultipartyHandler::HandleConferenceHangUpReqL(const RArray<TInt>& /*aCallIds*/)
       
   111 /**
       
   112  * This request is completed by invoking
       
   113  * CCtsyDispatcherCallback::CallbackCallControlMultipartyConferenceHangUpComp()
       
   114  *
       
   115  * @param aCallIds Array of all Call IDs, which belong to the conference.
       
   116  * This array will be destroyed after the function call returns. 
       
   117  *
       
   118  * @return KErrNone on success, KErrNotSupported if this request is not supported,
       
   119  * or another error code to indicate the failure otherwise.
       
   120  */
       
   121 	{
       
   122 	TSYLOGENTRYEXIT;
       
   123 
       
   124 	TInt ret = KErrNotSupported;
       
   125 
       
   126 	// TODO: Add implementation here.......
       
   127 
       
   128 
       
   129 
       
   130 	return TSYLOGSETEXITERR(ret);
       
   131 	} // CLtsyCallControlMultipartyHandler::HandleConferenceHangUpReqL
       
   132 
       
   133 
       
   134 TInt CLtsyCallControlMultipartyHandler::HandleConferenceAddCallReqL(TInt /*aCallId*/, TInt /*aExistingCallId*/)
       
   135 /**
       
   136  * This request is completed by invoking
       
   137  * CCtsyDispatcherCallback::CallbackCallControlMultipartyConferenceAddCallComp()
       
   138  *
       
   139  * @param aCallId The Call ID of the call to be added to the conference.
       
   140  * @param aExistingCallId The Call ID of one of the calls which is already a part of the conference call.
       
   141  * This can be the Call ID of any of the existing calls in the conference, not necessarily the first one that was added.
       
   142  *
       
   143  * @return KErrNone on success, KErrNotSupported if this request is not supported,
       
   144  * or another error code to indicate the failure otherwise.
       
   145  */
       
   146 	{
       
   147 	TSYLOGENTRYEXIT;
       
   148 
       
   149 	TInt ret = KErrNotSupported;
       
   150 
       
   151 	// TODO: Add implementation here.......
       
   152 
       
   153 
       
   154 
       
   155 	return TSYLOGSETEXITERR(ret);
       
   156 	} // CLtsyCallControlMultipartyHandler::HandleConferenceAddCallReqL
       
   157 
       
   158 
       
   159 TInt CLtsyCallControlMultipartyHandler::HandleCreateConferenceReqL(TInt /*aHeldCallId*/, TInt /*aSecondCallId*/)
       
   160 /**
       
   161  * This request is completed by invoking
       
   162  * CCtsyDispatcherCallback::CallbackCallControlMultipartyCreateConferenceComp()
       
   163  *
       
   164  * @param aHeldCallId The Call ID of the held call.
       
   165  *
       
   166  * @param aSecondCallId The Call ID of the other call to create a conference with.
       
   167  *
       
   168  * @return KErrNone on success, KErrNotSupported if this request is not supported,
       
   169  * or another error code to indicate the failure otherwise.
       
   170  */
       
   171 	{
       
   172 	TSYLOGENTRYEXIT;
       
   173 
       
   174 	TInt ret = KErrNotSupported;
       
   175 
       
   176 	// TODO: Add implementation here.......
       
   177 
       
   178 
       
   179 
       
   180 	return TSYLOGSETEXITERR(ret);
       
   181 	} // CLtsyCallControlMultipartyHandler::HandleCreateConferenceReqL
       
   182 
       
   183 
       
   184 TInt CLtsyCallControlMultipartyHandler::HandleConferenceSwapReqL(
       
   185 		TInt /*aHeldCallId*/, TInt /*aConnectedCallId*/)
       
   186 /**
       
   187  * This request is completed by invoking
       
   188  * CCtsyDispatcherCallback::CallbackCallControlMultipartyConferenceSwapComp()
       
   189  *
       
   190  * @param aHeldCallId The Call ID of the held call.
       
   191  *
       
   192  * @param aConnectedCallId The Call ID of the connected call.
       
   193  *
       
   194  * @return KErrNone on success, KErrNotSupported if this request is not supported,
       
   195  * or another error code to indicate the failure otherwise.
       
   196  */
       
   197 	{
       
   198 	TSYLOGENTRYEXIT;
       
   199 
       
   200 	TInt ret = KErrNotSupported;
       
   201 
       
   202 	// TODO: Add implementation here.......
       
   203 
       
   204 
       
   205 
       
   206 	return TSYLOGSETEXITERR(ret);
       
   207 	} // CLtsyCallControlMultipartyHandler::HandleConferenceSwapReqL
       
   208 
       
   209 
       
   210 TInt CLtsyCallControlMultipartyHandler::HandleConferenceGoOneToOneReqL(TInt /*aCallId*/)
       
   211 /**
       
   212  * This request is completed by invoking
       
   213  * CCtsyDispatcherCallback::CallbackCallControlMultipartyConferenceGoOneToOneComp()
       
   214  *
       
   215  * @param aCallId The Call ID of the call with which to go one to one.
       
   216  *
       
   217  * @return KErrNone on success, KErrNotSupported if this request is not supported,
       
   218  * or another error code to indicate the failure otherwise.
       
   219  */
       
   220 	{
       
   221 	TSYLOGENTRYEXIT;
       
   222 
       
   223 	TInt ret = KErrNotSupported;
       
   224 
       
   225 	// TODO: Add implementation here.......
       
   226 
       
   227 
       
   228 
       
   229 	return TSYLOGSETEXITERR(ret);
       
   230 	} // CLtsyCallControlMultipartyHandler::HandleConferenceGoOneToOneReqL
       
   231 
       
   232 
       
   233