diff -r b31261fd4e04 -r ccd8e69b5392 mmsharing/mmshavailability/tsrc/ut_availability/src/musavacapabilitytesthelper.cpp --- a/mmsharing/mmshavailability/tsrc/ut_availability/src/musavacapabilitytesthelper.cpp Tue Feb 02 00:09:07 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,477 +0,0 @@ -/* -* Copyright (c) 2005-2007 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: Capability Test helper -* -*/ - - -#include "musavacapabilitytesthelper.h" - - - -CSIPServerTransaction* CapabilityTestHelper::OptionsRequestL( - const TDesC8& aRequestUri, - const TDesC8& aFrom, - const TDesC8& aAcceptContact, - const TDesC8& aContact, - const TDesC8& aAccept, - const TDesC8& aUserAgent) - { - - CSIPServerTransaction* srvtransaction = - CSIPServerTransaction::NewL( SIPStrings::StringF( SipStrConsts::EOptions )); - CleanupStack::PushL( srvtransaction ); - - TUriParser8 Uri; - User::LeaveIfError( Uri.Parse( aRequestUri ) ); - - CUri8* uri = CUri8::NewLC( Uri ); - - CSIPRequestElements* requestelements = CSIPRequestElements::NewL( uri ); - CleanupStack::Pop( uri ); - CleanupStack::PushL( requestelements ); - -//headers - - RPointerArray sipHdrs; - CSIPHeaderBase::PushLC( &sipHdrs ); - - if ( aAcceptContact.Length() > 0 ) - { - - RStringF value = MusAvaCapabilityContext::SIPStringL( aAcceptContact ); - CleanupClosePushL( value ); - - CSIPAcceptContactHeader* acceptContact = - MusAvaCapabilityContext::AcceptContactHeaderLC( value ); - sipHdrs.AppendL( acceptContact ); - CleanupStack::Pop( acceptContact ); - - CleanupStack::PopAndDestroy();//value - - } - - if ( aAccept.Length() > 0 ) - { - CSIPAcceptHeader* accept = - CSIPAcceptHeader::NewLC( KMUSAVASIPMediaTypeApplication, - KMUSAVASIPMediaSubTypeSDP ); - sipHdrs.AppendL( accept ); - CleanupStack::Pop( accept ); - } - - if ( aContact.Length() > 0 ) - { - RStringF value = MusAvaCapabilityContext::SIPStringL( aContact ); - CleanupClosePushL( value ); - - TUriParser8 uriValue; - User::LeaveIfError( uriValue.Parse( aFrom ) ); - CUri8* uri = CUri8::NewLC( uriValue ); - - CSIPContactHeader* contact = - MusAvaCapabilityContext::ContactHeaderLC( *uri, value ); - sipHdrs.AppendL( contact ); - CleanupStack::Pop( contact ); - CleanupStack::PopAndDestroy( uri ); - - CleanupStack::PopAndDestroy();//value - - } - - if ( aUserAgent.Length() > 0 ) - { - - CSIPExtensionHeader* userAgent = - MusAvaCapabilityContext::UserAgentHeaderLC( aUserAgent ); - sipHdrs.AppendL( userAgent ); - CleanupStack::Pop( userAgent ); - } - - requestelements->MessageElements().SetUserHeadersL( sipHdrs ); - CleanupStack::PopAndDestroy( &sipHdrs ); - -//to, from - - CSIPToHeader* toheader = CSIPToHeader::DecodeL( aRequestUri ); - CleanupStack::PushL( toheader ); - CSIPFromHeader* fromheader = CSIPFromHeader::DecodeL( aFrom ); - CleanupStack::PushL( fromheader ); - - requestelements->SetFromHeaderL(fromheader); - CleanupStack::Pop( fromheader ); - requestelements->SetToHeaderL(toheader); - CleanupStack::Pop( toheader ); - - requestelements->SetMethodL( SIPStrings::StringF( SipStrConsts::EOptions ) ); - - srvtransaction->SetRequestElements( requestelements ); - CleanupStack::Pop( requestelements ); - CleanupStack::Pop( srvtransaction ); - - return srvtransaction; - - } - - -CSIPServerTransaction* CapabilityTestHelper::OptionsRequestL( - const TDesC8& aRequestUri, - const TDesC8& aFrom, - const TDesC8& aAcceptContact, - const TDesC8& aContact, - const TDesC8& aAccept, - const TDesC8& aUserAgent, - const TDesC8& aAssertId, - const TDesC8& aSdp) - { - - CSIPServerTransaction* srvtransaction = - CSIPServerTransaction::NewL( SIPStrings::StringF( SipStrConsts::EOptions )); - CleanupStack::PushL( srvtransaction ); - - TUriParser8 Uri; - User::LeaveIfError( Uri.Parse( aRequestUri ) ); - - CUri8* uri = CUri8::NewLC( Uri ); - - CSIPRequestElements* requestelements = CSIPRequestElements::NewL( uri ); - CleanupStack::Pop( uri ); - CleanupStack::PushL( requestelements ); - -//headers - - RPointerArray sipHdrs; - CSIPHeaderBase::PushLC( &sipHdrs ); - - if ( aAcceptContact.Length() > 0 ) - { - - RStringF value = MusAvaCapabilityContext::SIPStringL( aAcceptContact ); - CleanupClosePushL( value ); - - CSIPAcceptContactHeader* acceptContact = - MusAvaCapabilityContext::AcceptContactHeaderLC( value ); - sipHdrs.AppendL( acceptContact ); - CleanupStack::Pop( acceptContact ); - - CleanupStack::PopAndDestroy();//value - - } - - if ( aAccept.Length() > 0 ) - { - CSIPAcceptHeader* accept = - CSIPAcceptHeader::NewLC( KMUSAVASIPMediaTypeApplication, - KMUSAVASIPMediaSubTypeSDP ); - sipHdrs.AppendL( accept ); - CleanupStack::Pop( accept ); - } - - if ( aContact.Length() > 0 ) - { - RStringF value = MusAvaCapabilityContext::SIPStringL( aContact ); - CleanupClosePushL( value ); - - TUriParser8 uriValue; - User::LeaveIfError( uriValue.Parse( aFrom ) ); - CUri8* uri = CUri8::NewLC( uriValue ); - - CSIPContactHeader* contact = - MusAvaCapabilityContext::ContactHeaderLC( *uri, value ); - sipHdrs.AppendL( contact ); - CleanupStack::Pop( contact ); - CleanupStack::PopAndDestroy( uri ); - - CleanupStack::PopAndDestroy();//value - - } - - if ( aUserAgent.Length() > 0 ) - { - - CSIPExtensionHeader* userAgent = - MusAvaCapabilityContext::UserAgentHeaderLC( aUserAgent ); - sipHdrs.AppendL( userAgent ); - CleanupStack::Pop( userAgent ); - } - - if ( aAssertId.Length() > 0 ) - { - - CSIPExtensionHeader* assertId = - MusAvaCapabilityContext::PAssertedIdentityHeaderLC( aAssertId ); - sipHdrs.AppendL( assertId ); - CleanupStack::Pop( assertId ); - } - - requestelements->MessageElements().SetUserHeadersL( sipHdrs ); - CleanupStack::PopAndDestroy( &sipHdrs ); - -//to, from - - CSIPToHeader* toheader = CSIPToHeader::DecodeL( aRequestUri ); - CleanupStack::PushL( toheader ); - CSIPFromHeader* fromheader = CSIPFromHeader::DecodeL( aFrom ); - CleanupStack::PushL( fromheader ); - - requestelements->SetFromHeaderL(fromheader); - CleanupStack::Pop( fromheader ); - requestelements->SetToHeaderL(toheader); - CleanupStack::Pop( toheader ); - - - requestelements->SetMethodL( SIPStrings::StringF( SipStrConsts::EOptions ) ); - - CSIPMessageElements& message = requestelements->MessageElements(); - if ( aSdp.Length() > 0 ) - { - CSIPContentTypeHeader* contenttype = - CSIPContentTypeHeader::NewLC( KMUSAVASIPMediaTypeApplication, - KMUSAVASIPMediaSubTypeSDP ); - HBufC8* content = aSdp.AllocLC(); - - message.SetContentL( content, contenttype ); - CleanupStack::Pop( content ); - CleanupStack::Pop( contenttype ); - } - - srvtransaction->SetRequestElements( requestelements ); - CleanupStack::Pop( requestelements ); - CleanupStack::Pop( srvtransaction ); - - return srvtransaction; - - } -CSIPClientTransaction* CapabilityTestHelper::OptionsResponseL( TUint aResponse, - TInt aPhrase, - const TDesC8& aFrom, - const TDesC8& aContact, - const TDesC8& aUserAgent, - const TDesC8& aPAssertedId, - const TDesC8& aSdp ) - { - - CSIPClientTransaction* clitransaction = - CSIPClientTransaction::NewL( SIPStrings::StringF( SipStrConsts::EOptions )); - CleanupStack::PushL( clitransaction ); - - SetResponseL( *clitransaction, aResponse, aPhrase, aFrom, aContact, - aUserAgent, aPAssertedId, aSdp ); - - CleanupStack::Pop( clitransaction ); - - return clitransaction; - - - } - - -void CapabilityTestHelper::SetResponseL( CSIPClientTransaction& aTrx, - TUint aResponse, - TInt aPhrase, - const TDesC8& aFrom, - const TDesC8& aContact, - const TDesC8& aUserAgent, - const TDesC8& aPAssertedId, - const TDesC8& aSdp, - const TDesC8& aContentType ) - { - - CSIPResponseElements* response = - CSIPResponseElements::NewLC( aResponse, - SIPStrings::StringF( aPhrase ) ); - - CSIPMessageElements& message = response->MessageElements(); - -//headers - - RPointerArray sipHdrs; - CSIPHeaderBase::PushLC( &sipHdrs ); - - if ( aContact.Length() > 0 ) - { - - RStringF value = MusAvaCapabilityContext::SIPStringL( aContact ); - CleanupClosePushL( value ); - - TUriParser8 uriValue; - User::LeaveIfError( uriValue.Parse( aFrom ) ); - CUri8* uri = CUri8::NewLC( uriValue ); - - CSIPContactHeader* contact = - MusAvaCapabilityContext::ContactHeaderLC( *uri, value ); - sipHdrs.AppendL( contact ); - CleanupStack::Pop( contact ); - CleanupStack::PopAndDestroy( uri ); - CleanupStack::PopAndDestroy();//value - - } - - if ( aUserAgent.Length() > 0 ) - { - - CSIPExtensionHeader* userAgent = - MusAvaCapabilityContext::UserAgentHeaderLC( aUserAgent ); - sipHdrs.AppendL( userAgent ); - CleanupStack::Pop( userAgent ); - } - - if ( aPAssertedId.Length() > 0 ) - { - - CSIPExtensionHeader* pAssertedId = - MusAvaCapabilityContext::PAssertedIdentityHeaderLC( aPAssertedId ); - sipHdrs.AppendL( pAssertedId ); - CleanupStack::Pop( pAssertedId ); - - } - - message.SetUserHeadersL( sipHdrs ); - CleanupStack::PopAndDestroy( &sipHdrs ); - - if ( aSdp.Length() > 0 ) - { - CSIPContentTypeHeader* contenttype = NULL; - if ( aContentType.Length() == 0 ) - { - contenttype = - CSIPContentTypeHeader::NewLC( KMUSAVASIPMediaTypeApplication, - KMUSAVASIPMediaSubTypeSDP ); - } - else - { - contenttype = - CSIPContentTypeHeader::DecodeL( aContentType ); - CleanupStack::PushL( contenttype ); - - } - HBufC8* content = aSdp.AllocLC(); - - message.SetContentL( content, contenttype ); - CleanupStack::Pop( content ); - CleanupStack::Pop( contenttype ); - - } - - aTrx.SetResponseElements( response ); - CleanupStack::Pop( response ); - - } - -void CapabilityTestHelper::SetResponse2L(CSIPClientTransaction& aTrx, - TUint aResponse, - TInt aPhrase, - const TDesC8& aFrom, - const TDesC8& aContact, - const TDesC8& aUserAgent, - const TDesC8& aPAssertedId, - const TDesC8& aPAssertedId2, - const TDesC8& aSdp, - const TDesC8& aContentType ) - { - CSIPResponseElements* response = - CSIPResponseElements::NewLC( aResponse, - SIPStrings::StringF( aPhrase ) ); - - CSIPMessageElements& message = response->MessageElements(); - -//headers - - RPointerArray sipHdrs; - CSIPHeaderBase::PushLC( &sipHdrs ); - - if ( aContact.Length() > 0 ) - { - - RStringF value = MusAvaCapabilityContext::SIPStringL( aContact ); - CleanupClosePushL( value ); - - TUriParser8 uriValue; - User::LeaveIfError( uriValue.Parse( aFrom ) ); - CUri8* uri = CUri8::NewLC( uriValue ); - - CSIPContactHeader* contact = - MusAvaCapabilityContext::ContactHeaderLC( *uri, value ); - sipHdrs.AppendL( contact ); - CleanupStack::Pop( contact ); - CleanupStack::PopAndDestroy( uri ); - CleanupStack::PopAndDestroy();//value - - } - - if ( aUserAgent.Length() > 0 ) - { - - CSIPExtensionHeader* userAgent = - MusAvaCapabilityContext::UserAgentHeaderLC( aUserAgent ); - sipHdrs.AppendL( userAgent ); - CleanupStack::Pop( userAgent ); - } - - if ( aPAssertedId.Length() > 0 ) - { - - CSIPExtensionHeader* pAssertedId = - MusAvaCapabilityContext::PAssertedIdentityHeaderLC( aPAssertedId ); - sipHdrs.AppendL( pAssertedId ); - CleanupStack::Pop( pAssertedId ); - - } - - if ( aPAssertedId2.Length() > 0 ) - { - - CSIPExtensionHeader* pAssertedId2 = - MusAvaCapabilityContext::PAssertedIdentityHeaderLC( aPAssertedId2 ); - sipHdrs.AppendL( pAssertedId2 ); - CleanupStack::Pop( pAssertedId2 ); - - } - - message.SetUserHeadersL( sipHdrs ); - CleanupStack::PopAndDestroy( &sipHdrs ); - - if ( aSdp.Length() > 0 ) - { - CSIPContentTypeHeader* contenttype = NULL; - if ( aContentType.Length() == 0 ) - { - contenttype = - CSIPContentTypeHeader::NewLC( KMUSAVASIPMediaTypeApplication, - KMUSAVASIPMediaSubTypeSDP ); - } - else - { - contenttype = - CSIPContentTypeHeader::DecodeL( aContentType ); - CleanupStack::PushL( contenttype ); - - } - HBufC8* content = aSdp.AllocLC(); - - message.SetContentL( content, contenttype ); - CleanupStack::Pop( content ); - CleanupStack::Pop( contenttype ); - - } - - aTrx.SetResponseElements( response ); - CleanupStack::Pop( response ); - - } - -CSIPAddress* HelpFlags::iTestSipAddress = NULL; -TBool HelpFlags::iUseTestSipAddress = EFalse; -TBool HelpFlags::iEmptyContactHeader = EFalse; -