--- 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