diff -r 33a5d2bbf6fc -r 73a1feb507fb mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/mceclientstub/src/mceinsession.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/mceclientstub/src/mceinsession.cpp Tue Aug 31 15:12:07 2010 +0300 @@ -0,0 +1,202 @@ +/* +* 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: +* +*/ + + +#include "mceinsession.h" +#include "mcemanager.h" + + + +// CONSTANTS +const TUint32 KMceMinAcceptable = 200; +const TUint32 KMceMaxAcceptable = 299; +const TUint32 KMceMinError = 300; +const TUint32 KMceMaxError = 699; +const TUint32 KMceRinging = 180; +_LIT8( KMcePhraseRinging, "Ringing" ); + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CMceInSession::NewL +// ----------------------------------------------------------------------------- +// +CMceInSession* CMceInSession::NewL( RReadStream& /*aReadStream*/, + CMceManager& aManager, + TUint32 aProfileId ) + { + CMceInSession* self = new (ELeave) CMceInSession( &aManager, aProfileId ); + CleanupStack::PushL( self ); + self->ConstructL( KNullDesC8, KNullDesC8 ); + CleanupStack::Pop(self); + return self; + + } + +// ----------------------------------------------------------------------------- +// CMceInSession::NewL +// ----------------------------------------------------------------------------- +// + +EXPORT_C CMceInSession* CMceInSession::NewL() + { + CMceInSession* self = new (ELeave) CMceInSession( NULL, 0 ); + CleanupStack::PushL( self ); + self->ConstructL( KNullDesC8, KNullDesC8 ); + CleanupStack::Pop( self ); + return self; + } + +// ----------------------------------------------------------------------------- +// CMceInSession::~CMceInSession +// ----------------------------------------------------------------------------- +// +EXPORT_C CMceInSession::~CMceInSession() + { + } + +// ----------------------------------------------------------------------------- +// CMceInSession::RingL +// ----------------------------------------------------------------------------- +// +EXPORT_C void CMceInSession::RingL( CDesC8Array* aHeaders, + HBufC8* aContentType, + HBufC8* aContent ) + { + User::LeaveIfError( + ( aContentType && aContent ) || !( aContentType || aContent ) ? + KErrNone : KErrArgument ); + + delete aHeaders; + delete aContentType; + delete aContent; + + iRingingCalled = ETrue; + } + +// ----------------------------------------------------------------------------- +// CMceInSession::AcceptL +// ----------------------------------------------------------------------------- +// +EXPORT_C void CMceInSession::AcceptL() + { + iState = CMceSession::EAnswering; + } + +// ----------------------------------------------------------------------------- +// CMceInSession::AcceptL +// ----------------------------------------------------------------------------- +// +EXPORT_C void CMceInSession::AcceptL( const TDesC8& /*aReason*/, + TUint32 /*aCode*/, + CDesC8Array* aHeaders, + HBufC8* aContentType, + HBufC8* aContent ) + { + iState = CMceSession::EAnswering; + + delete aHeaders; + delete aContentType; + delete aContent; + } + +// ----------------------------------------------------------------------------- +// CMceInSession::RejectL +// ----------------------------------------------------------------------------- +// +EXPORT_C void CMceInSession::RejectL() + { + if ( iFailWithCode != KErrNone ) + { + TInt failureCode = iFailWithCode; + iFailWithCode = KErrNone; + User::Leave( failureCode ); + } + + iState = CMceSession::ETerminated; + } + +// ----------------------------------------------------------------------------- +// CMceInSession::RejectL +// ----------------------------------------------------------------------------- +// +EXPORT_C void CMceInSession::RejectL( const TDesC8& aReason, + TUint32 aCode, + CDesC8Array* aHeaders, + HBufC8* aContentType, + HBufC8* aContent ) + { + + User::LeaveIfError( + ( aContentType && aContent ) || !( aContentType || aContent ) ? + KErrNone : KErrArgument ); + User::LeaveIfError( aCode >= KMceMinError && aCode <= KMceMaxError ? + KErrNone : KErrArgument ); + + RejectL(); + + iReasonPhrase = aReason; + iReasonCode = aCode; + + delete aHeaders; + delete aContentType; + delete aContent; + } + +// ----------------------------------------------------------------------------- +// CMceInSession::CMceInSession +// ----------------------------------------------------------------------------- +// +CMceInSession::CMceInSession( CMceManager* aManager, TUint32 aProfileId ) + : CMceSession( aManager, aProfileId ) + { + } + + +// ----------------------------------------------------------------------------- +// CMceInSession::ConstructL +// ----------------------------------------------------------------------------- +// +void CMceInSession::ConstructL( const TDesC8& aOriginator, const TDesC8& aRecipient ) + { + + delete iOriginator; + iOriginator = 0; + iOriginator = aOriginator.AllocL(); + + delete iRecipient; + iRecipient = 0; + iRecipient = aRecipient.AllocL(); + + CMceSession::ConstructL(); + + iState = EIncoming; + } + +// ----------------------------------------------------------------------------- +// Stub constructor +// ----------------------------------------------------------------------------- +// +EXPORT_C CMceInSession* CMceInSession::NewL( CMceManager& aManager, + const TDesC8& aOriginator ) + { + CMceInSession* self = new (ELeave) CMceInSession( &aManager, 0 ); + CleanupStack::PushL( self ); + self->ConstructL( aOriginator, KNullDesC8 ); + CleanupStack::Pop( self ); + return self; + }