diff -r 000000000000 -r 307788aac0a8 realtimenetprots/sipfw/SIP/Dialogs/src/Terminated.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/sipfw/SIP/Dialogs/src/Terminated.cpp Tue Feb 02 01:03:15 2010 +0200 @@ -0,0 +1,129 @@ +// Copyright (c) 2007-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: +// Name : Terminated.cpp +// Part of : SIPDialogs +// Version : SIP/6.0 +// + + + +#include "Terminated.h" +#include "MDialogContext.h" +#include "TransactionItemBase.h" +#include "siperr.h" +#include "sipinternalstates.h" + +_LIT8(KTerminated, "Terminated"); + +// ----------------------------------------------------------------------------- +// TTerminated::TTerminated +// ----------------------------------------------------------------------------- +// +TTerminated::TTerminated (MDialogContext& aDialog) + : TDialogStateBase(aDialog) + { + } + +// ----------------------------------------------------------------------------- +// TTerminated::Name +// ----------------------------------------------------------------------------- +// +const TDesC8& TTerminated::Name () const + { + return KTerminated; + } + +// ----------------------------------------------------------------------------- +// TTerminated::RequestsWithinDialogAllowed +// ----------------------------------------------------------------------------- +// +TBool TTerminated::RequestsWithinDialogAllowed () const + { + return EFalse; + } + +// ----------------------------------------------------------------------------- +// TTerminated::Accept +// ----------------------------------------------------------------------------- +// +TBool TTerminated::Accept(CSIPRequest& /*aRequest*/) const + { + return EFalse; + } + +// ----------------------------------------------------------------------------- +// TTerminated::SendL +// ----------------------------------------------------------------------------- +// +void TTerminated::SendL (TTransactionId& /*aTransactionId*/, + CSIPRequest* /*aRequest*/, + CTransactionItemBase& /*aTransactionItem*/, + CURIContainer& /*aRemoteTarget*/) + { + User::Leave(KErrSIPInvalidDialogState); + } + +// ----------------------------------------------------------------------------- +// TTerminated::SendL +// ----------------------------------------------------------------------------- +// +void TTerminated::SendL (CTransactionItemBase& aTransactionItem, + CSIPResponse* aSipResponse) + { + TSIPTransportParams params(iDialog.TransportParams(KEmptyRegistrationId)); + aTransactionItem.SendL(params,aSipResponse,EFalse); + } + +// ----------------------------------------------------------------------------- +// TTerminated::ReceiveL +// ----------------------------------------------------------------------------- +// +void TTerminated::ReceiveL (CTransactionItemBase& aTransactionItem, + CSIPResponse* aResponse) + { + PassToOwnerL(aTransactionItem,aResponse); + } + +// ----------------------------------------------------------------------------- +// TTerminated::ReceiveL +// ----------------------------------------------------------------------------- +// +void TTerminated::ReceiveL (TTransactionId /*aTransactionId*/, + CSIPRequest* /*aRequest*/) + { + User::Leave(KErrSIPInvalidDialogState); + } + + +// ----------------------------------------------------------------------------- +// TTerminated::EndTransaction +// ----------------------------------------------------------------------------- +// +void TTerminated::EndTransaction (CTransactionItemBase& aTransactionItem, + TInt aReason) + { + if (aReason) + { + PassToOwner(aTransactionItem,aReason); + } + } + +// ----------------------------------------------------------------------------- +// TTerminated::GetState +// ----------------------------------------------------------------------------- +// +void TTerminated::GetState (CSIPInternalStates::TState& aState) + { + aState = CSIPInternalStates::EDialogTerminated; + }