cbsref/telephonyrefplugins/atltsy/atcommand/callcontrol/src/atanswer.cpp
branchRCL_3
changeset 20 07a122eea281
parent 19 630d2f34d719
child 21 4814c5a49428
--- a/cbsref/telephonyrefplugins/atltsy/atcommand/callcontrol/src/atanswer.cpp	Tue Aug 31 16:23:08 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,292 +0,0 @@
-// 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:
-// @file atanswer.cpp
-// This contains CATAnswer which answering incomging call.
-// 
-
-//system include
-
-//user include
-#include "atanswer.h"
-#include "ltsycallinformationmanager.h"
-#include "mslogger.h"
-
-//const define
-const TInt KLtsyAnswerReadTimeOut = 20;
-_LIT8(KLtsyAnswerCallCommand, "ATA\r");
-
-
-// ---------------------------------------------------------------------------
-// CATAnswer::NewL
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-CATAnswer* CATAnswer::NewL(CGlobalPhonemanager& aGloblePhone,
-						   CCtsyDispatcherCallback& aCtsyDispatcherCallback)
-	{
-	LOGTEXT(_L8("[Ltsy CallControl] Starting CATAnswer::NewL()"));
-	
-	CATAnswer* self = CATAnswer::NewLC(aGloblePhone, aCtsyDispatcherCallback);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CATAnswer::NewLC
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-CATAnswer* CATAnswer::NewLC(CGlobalPhonemanager& aGloblePhone,
-						    CCtsyDispatcherCallback& aCtsyDispatcherCallback)
-	{
-	LOGTEXT(_L8("[Ltsy CallControl] Starting CATAnswer::NewLC()"));
-	
-	CATAnswer* self = new (ELeave) CATAnswer(aGloblePhone, aCtsyDispatcherCallback);
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CATAnswer::~CATAnswer
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-CATAnswer::~CATAnswer()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// CATAnswer::SetAnswerCallId
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-void CATAnswer::SetAnswerCallId(TInt aCallId)
-	{
-	iCallId = aCallId;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CATAnswer::SetIsIsvCall
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-void CATAnswer::SetIsIsvCall(TBool aIsIsvCall)
-	{
-	iIsIsvCall = aIsIsvCall;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CATAnswer::SetIsIsvCall
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-CATAnswer::CATAnswer(CGlobalPhonemanager& aGloblePhone,
-		             CCtsyDispatcherCallback& aCtsyDispatcherCallback)
-					 :CAtCommandBase(aGloblePhone, aCtsyDispatcherCallback)
-	{
-	LOGTEXT(_L8("[Ltsy CallControl] Starting CATAnswer::CATAnswer()"));
-	
-	iIOStatus = KErrNone;
-	iATResult = KErrNone;
-	iAnswerStep = EATNotInProgress;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CATAnswer::ConstructL
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-void CATAnswer::ConstructL()
-	{
-	LOGTEXT(_L8("[Ltsy CallControl] Starting CATAnswer::ConstructL()"));
-	
-	CAtCommandBase::ConstructL();
-	AddExpectStringL(KLtsyNoCarrierString);
-	
-	//Set read and write timeout
-	SetTimeOut(KLtsyDefaultWriteTimeOut, KLtsyAnswerReadTimeOut);	
-	}
-
-// ---------------------------------------------------------------------------
-// CATAnswer::ExecuteCommand
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-void CATAnswer::ExecuteCommand()
-	{
-	LOGTEXT(_L8("[Ltsy CallControl] Starting CATAnswer::ExecuteCommand()"));
-	
-	//Write AT command
-	iTxBuffer.Copy(KLtsyAnswerCallCommand);
-	Write();
-	iAnswerStep = EATWaitForWriteComplete;
-	}
-
-// ---------------------------------------------------------------------------
-// CATAnswer::StartRequest
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-void CATAnswer::StartRequest()
-	{
-	LOGTEXT(_L8("[Ltsy CallControl] Starting CATAnswer::StartRequest()"));
-	
-	ExecuteCommand();
-	}
-
-// ---------------------------------------------------------------------------
-// CATAnswer::ParseResponseL
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-void CATAnswer::ParseResponseL(const TDesC8& aResponseBuf)
-	{
-	LOGTEXT(_L8("[Ltsy CallControl] Starting CATAnswer::ParseResponseL()"));
-	
-	if (aResponseBuf.Match(KLtsyOkString) == 0)
-		{
-		iATResult = KErrNone;
-		}
-	else if (aResponseBuf.Match(KLtsyErrorString) == 0)
-		{
-		iATResult = KErrArgument;
-		}
-	else if (aResponseBuf.Match(KLtsyNoCarrierString) == 0)
-		{
-		iATResult = KErrEtelNoCarrier;
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// CATAnswer::HandleIOError
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-void CATAnswer::HandleIOError()
-	{
-	LOGTEXT(_L8("[Ltsy CallControl] Starting CATAnswer::HandleIOError()"));
-	
-	//Call back
-	iCtsyDispatcherCallback.CallbackCallControlAnswerComp(iIOStatus, iCallId);
-	}
-
-// ---------------------------------------------------------------------------
-// CATAnswer::HandleResponseError
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-void CATAnswer::HandleResponseError()
-	{
-	LOGTEXT(_L8("[Ltsy CallControl] Starting CATAnswer::HandleResponseError()"));
-	
-	//Call back
-	iCtsyDispatcherCallback.CallbackCallControlAnswerComp(iATResult, iCallId);
-	}
-
-// ---------------------------------------------------------------------------
-// CATAnswer::HandleConnectedComplete
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-void CATAnswer::HandleConnectedComplete()
-	{
-	LOGTEXT(_L8("[Ltsy CallControl] Starting CATAnswer::HandleConnectedComplete()"));
-
-	//Setting call states
-	iCtsyDispatcherCallback.CallbackCallControlNotifyCallStatusChangeInd(KErrNone, 
-			                                                             iCallId, 
-			                                                             RMobileCall::EStatusAnswering);	
-		
-	iCtsyDispatcherCallback.CallbackCallControlNotifyCallStatusChangeInd(KErrNone, 
-			                                                             iCallId, 
-			                                                             RMobileCall::EStatusConnected);
-			                                                             
-    //Call back
-	iCtsyDispatcherCallback.CallbackCallControlAnswerComp(KErrNone, iCallId);
-				                                                             						
-	//Change Call State to active
-	TLtsyCallInformation& tCallInfo(iPhoneGlobals.GetCallInfoManager().GetCallInformationByCallId(iCallId));
-	if (tCallInfo.GetCallIdIsUsedInfo() == TLtsyCallInformation::EUsed)
-		{
-		tCallInfo.SetCallState(TLtsyCallInformation::EActiveCall);
-		}
-	
-	//If exist other call , should set hold
-	for (TInt n = KLtsyMinCallId; n <= KLtsyMaxCallId; n++)
-		{
-		if (n != iCallId)
-			{
-			TLtsyCallInformation& tCallInfo(iPhoneGlobals.GetCallInfoManager().GetCallInformationByCallId(n));
-			if (tCallInfo.GetCallIdIsUsedInfo() == TLtsyCallInformation::EUsed &&
-				tCallInfo.GetCallState() != TLtsyCallInformation::EHeldCall )
-				{
-				tCallInfo.SetCallState(TLtsyCallInformation::EHeldCall);
-				
-				//Notify CTSY call state has changed
-				iCtsyDispatcherCallback.CallbackCallControlNotifyCallStatusChangeInd(KErrNone, 
-						                                                             n, 
-						                                                 RMobileCall::EStatusHold);				
-				}
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// CATAnswer::Complete
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-void CATAnswer::Complete()
-	{
-	//Invoke base class complete
-	CAtCommandBase::Complete();
-	
-	//Let other command can use I/O port
-	iPhoneGlobals.iEventSignalActive = EFalse;	
-	}
-
-// ---------------------------------------------------------------------------
-// CATAnswer::EventSignal
-// other items were commented in a header
-// ---------------------------------------------------------------------------
-void CATAnswer::EventSignal(TAtEventSource /*aEventSource*/, TInt aStatus)
-	{  
-	LOGTEXT(_L8("[Ltsy CallControl] Starting CATAnswer::EventSignal()"));
-	LOGTEXT2(_L8("[Ltsy CallControl] aStatus = %d"),aStatus);
-	
-	iIOStatus = aStatus;
-	
-	//I/O error
-	if (iIOStatus != KErrNone)
-		{
-		HandleIOError();
-		Complete();
-		return;
-		}
-	
-	switch (iAnswerStep)
-		{
-		case EATWaitForWriteComplete:
-			iAnswerStep = EATReadComplete;
-			break;
-			
-		case EATReadComplete:
-			if (iATResult == KErrNone)
-				{
-				HandleConnectedComplete();
-				}
-			else
-				{
-				HandleResponseError();
-				}
-			Complete();
-			break;
-			
-		default:
-			break;
-		}
-	}
-
-//End of file