diff -r 000000000000 -r f63038272f30 bluetoothengine/btmac/src/BTMonoCmdHandler/BTMonoCdmaIncomingFlash.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetoothengine/btmac/src/BTMonoCmdHandler/BTMonoCdmaIncomingFlash.cpp Mon Jan 18 20:28:57 2010 +0200 @@ -0,0 +1,138 @@ +/* +* Copyright (c) 2005 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: General Active Object offering asynchronous service +* +*/ + + +#include "BTMonoCdmaIncomingFlash.h" +#include "BTMonoCallActive.h" +#include "Debug.h" + +_LIT(KDefaultRemoteNumber, "n/a"); + +// ================= MEMBER FUNCTIONS ======================= + +// ----------------------------------------------------------------------------- +// CBTMonoCdmaIncomingFlash::NewL +// ----------------------------------------------------------------------------- +// +CBTMonoCdmaIncomingFlash* CBTMonoCdmaIncomingFlash::NewL( + MBTMonoActiveObserver& aObserver, + CActive::TPriority aPriority, + TInt aServiceId, + RMobileLine& aLine, + const TName& aName) + { + CBTMonoCdmaIncomingFlash * self = + CBTMonoCdmaIncomingFlash::NewLC(aObserver, aPriority, aServiceId, aLine, aName); + CleanupStack::Pop(self); + return self; + } + +// ----------------------------------------------------------------------------- +// CBTMonoCdmaIncomingFlash::NewLC +// ----------------------------------------------------------------------------- +CBTMonoCdmaIncomingFlash* CBTMonoCdmaIncomingFlash::NewLC( + MBTMonoActiveObserver& aObserver, + CActive::TPriority aPriority, + TInt aServiceId, + RMobileLine& aLine, + const TName& aName) + { + CBTMonoCdmaIncomingFlash* self = + new (ELeave) CBTMonoCdmaIncomingFlash(aObserver, aPriority, aServiceId, aLine, aName); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +// Destructor +CBTMonoCdmaIncomingFlash::~CBTMonoCdmaIncomingFlash() + { + Cancel(); + iCdmaCall.Close(); + TRACE_FUNC_THIS + } + +void CBTMonoCdmaIncomingFlash::GoActive() + { + if (!IsActive()) + { + iCdmaCall.NotifyIncomingNetworkFlashWithInfo(iStatus, iFlashMessagePckg); + SetActive(); + } + TRACE_FUNC_THIS + } + +// ----------------------------------------------------------------------------- +// CBTMonoCdmaIncomingFlash::DoCancel +// ----------------------------------------------------------------------------- +// +void CBTMonoCdmaIncomingFlash::DoCancel() + { + iCdmaCall.CancelAsyncRequest(ECdmaMobileCallNotifyIncomingNetworkFlashWithInfo); + } + +// ----------------------------------------------------------------------------- +// CBTMonoCdmaIncomingFlash::RunL +// +// ----------------------------------------------------------------------------- +// +void CBTMonoCdmaIncomingFlash::RunL() + { + TRACE_FUNC_ENTRY_THIS + Observer().RequestCompletedL(*this, iStatus.Int()); + TRACE_FUNC_EXIT + } + +// ------------------------------------------------------------------------------- +// CBTMonoCdmaIncomingFlash::RunError +// ------------------------------------------------------------------------------- +TInt CBTMonoCdmaIncomingFlash::RunError(TInt /*aErr*/) + { + Cancel(); + iCdmaCall.Close(); + TRACE_FUNC_THIS + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CBTMonoCdmaIncomingFlash::CBTMonoCdmaIncomingFlash +// ----------------------------------------------------------------------------- +// +CBTMonoCdmaIncomingFlash::CBTMonoCdmaIncomingFlash( + MBTMonoActiveObserver& aObserver, + CActive::TPriority aPriority, + TInt aServiceId, + RMobileLine& aLine, + const TName& aName) + : CBTMonoActive(aObserver, aPriority, aServiceId), + iCdmaLine(aLine), + iCallName(aName), + iFlashMessagePckg(RCdmaMobileCall::TMobileCallIncomingFlashMessageV1()) + { + } + +// ----------------------------------------------------------------------------- +// CBTMonoCdmaIncomingFlash::ConstructL +// ----------------------------------------------------------------------------- +// +void CBTMonoCdmaIncomingFlash::ConstructL() + { + LEAVE_IF_ERROR(iCdmaCall.OpenExistingCall(iCdmaLine, iCallName)) + TRACE_FUNC_THIS + } + +// End of File