diff -r b31261fd4e04 -r ccd8e69b5392 mmsharing/mmshavailability/src/musavasipheaderutil.cpp --- a/mmsharing/mmshavailability/src/musavasipheaderutil.cpp Tue Feb 02 00:09:07 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,256 +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: Utility class to add sip headers. This class will just have -* static utility functions. -* -*/ - - -#include "musavasipheaderutil.h" -#include "muscleanupresetanddestroy.h" -#include "mussesseioninformationapi.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "sipextensionheader.h" -#include -#include -#include -#include -#include -#include -#include - -#include "muslogger.h" - -// -------------------------------------------------------------------------- -// CMusAvaSipheaderUtil::AddAcceptContactHeaderL -// -------------------------------------------------------------------------- -// -void CMusAvaSipheaderUtil::AddAcceptContactHeaderL( - RPointerArray& aRequestHeaders, - const RStringF& aFeatureTag ) - { - MUS_LOG("mus: [MUSAVA] -> CMusAvaSipheaderUtil::AddAcceptContactHeaderL" ) - CSIPAcceptContactHeader* header = CSIPAcceptContactHeader::NewLC(); - header->SetParamL( aFeatureTag ); - header->SetParamL( SIPStrings::StringF( SipStrConsts::EExplicit ) ); - aRequestHeaders.AppendL( header ); // ownership transferred. - CleanupStack::Pop( header ); - MUS_LOG("mus: [MUSAVA] <- CMusAvaSipheaderUtil::AddAcceptContactHeaderL" ) - } - - -// -------------------------------------------------------------------------- -// CMusAvaSipheaderUtil::AddAcceptEncodingHeaderL -// -------------------------------------------------------------------------- -// -void CMusAvaSipheaderUtil::AddAcceptEncodingHeaderL( - RPointerArray& aRequestHeaders ) - { - MUS_LOG("mus: [MUSAVA] -> CMusAvaSipheaderUtil::AddAcceptEncodingHeaderL" ) - _LIT8(KHeader,"gzip"); - RPointerArray - headers(CSIPAcceptEncodingHeader::DecodeL(KHeader)); - MusCleanupResetAndDestroyPushL(headers); - - TInt count = headers.Count(); - CSIPHeaderBase* header = NULL;; - TInt status = NULL; - - for (TInt i=0; i < count; i++) - { - header = headers[i]; - status = aRequestHeaders.Append(header); - if ( status != KErrNone ) - { - header = NULL; - } - else - { - headers.Remove( i ); - } - } - CleanupStack::PopAndDestroy( &headers ); - MUS_LOG("mus: [MUSAVA] <- CMusAvaSipheaderUtil::AddAcceptEncodingHeaderL" ) - } - - -// -------------------------------------------------------------------------- -// CMusAvaSipheaderUtil::AddAcceptLanguageHeaderL -// -------------------------------------------------------------------------- -// -void CMusAvaSipheaderUtil::AddAcceptLanguageHeaderL( - RPointerArray& aRequestHeaders ) - { - MUS_LOG("mus: [MUSAVA] -> CMusAvaSipheaderUtil::AddAcceptLanguageHeaderL" ) - _LIT8(KHeader,"en"); - RPointerArray - headers(CSIPAcceptLanguageHeader::DecodeL(KHeader)); - MusCleanupResetAndDestroyPushL(headers); - - TInt count = headers.Count(); - CSIPHeaderBase* header = NULL;; - TInt status = NULL; - - for (TInt i=0; i < count; i++) - { - header = headers[i]; - status = aRequestHeaders.Append(header); - if ( status != KErrNone ) - { - header = NULL; - } - else - { - headers.Remove( i ); - } - } - CleanupStack::PopAndDestroy( &headers ); - MUS_LOG("mus: [MUSAVA] <- CMusAvaSipheaderUtil::AddAcceptLanguageHeaderL" ) - } - -// -------------------------------------------------------------------------- -// CMusAvaSipheaderUtil::AddSdpL -// -------------------------------------------------------------------------- -// -void CMusAvaSipheaderUtil::AddSdpL( CSIPRequestElements* aRequest, - HBufC8* aContent ) - { - MUS_LOG("mus: [MUSAVA] -> CMusAvaSipheaderUtil::AddSdpL" ) - _LIT8(contentType,"application/sdp"); - CSIPContentTypeHeader* type = CSIPContentTypeHeader::DecodeL( - contentType); - CleanupStack::PushL( type ); - CSIPMessageElements& messageElements = aRequest->MessageElements(); - messageElements.SetContentL(aContent,type); - CleanupStack::Pop( type );//Ownership transferred - MUS_LOG( "mus: [MUSAVA] <- CMusAvaSipheaderUtil::AddSdpL" ) - } - -// -------------------------------------------------------------------------- -// CMusAvaSipheaderUtil::AddPreferredIdentityHeaderL -// -------------------------------------------------------------------------- -// -void CMusAvaSipheaderUtil::AddPreferredIdentityHeaderL( - RPointerArray& aRequestHeaders, - const TDesC8& aVal ) - { - MUS_LOG_TDESC8( " mus: [MUSAVA] -> CMusAvaSipheaderUtil::\ - AddPreferredIdentityHeaderL", aVal); - _LIT8(KHeader,"P-Preferred-Identity"); - CSIPExtensionHeader* header = CSIPExtensionHeader::NewLC( - KHeader,aVal) ; - aRequestHeaders.AppendL( header ); - CleanupStack::Pop( header );//Ownership transferred. - MUS_LOG("mus: [MUSAVA] <- CMusAvaSipheaderUtil::AddPreferredIdentityHeaderL") - } - -// ---------------------------------------------------------------------------- -// MusAvaCapabilityContext::LocalHostL -// ---------------------------------------------------------------------------- -// -void CMusAvaSipheaderUtil::LocalHostL(const CSIPConnection& aConn, - TPtrC8& aLocalHost) - { - MUS_LOG( "mus: [MUSAVA] -> CMusAvaSipheaderUtil::LocalHostL" ) - RStringPool strPool = SdpCodecStringPool::StringPoolL(); - TInetAddr aAddr(0); - aConn.GetLocalAddrL(aAddr); - TBuf<50> ipAddress; - aAddr.Output(ipAddress); - MUS_LOG_TDESC( "mus: [MUSAVA] ipAddress",ipAddress ) - HBufC8 * ipaddr8=HBufC8::NewLC(ipAddress.Length()); - ipaddr8->Des().Copy(ipAddress); - aLocalHost.Set( *ipaddr8 ); - CleanupStack::PopAndDestroy(1);//ipaddr8 - MUS_LOG( "mus: [MUSAVA] <- CMusAvaSipheaderUtil::LocalHostL" ) - } - - -// -------------------------------------------------------------------------- -// CMusAvaSipheaderUtil::AddAcceptSdpHeaderL -// -------------------------------------------------------------------------- -// -void CMusAvaSipheaderUtil::AddAcceptSdpHeaderL( - RPointerArray& aRequestHeaders ) - { - MUS_LOG("mus: [MUSAVA] -> CMusAvaSipheaderUtil::AddAcceptSDPHeaderL" ) - _LIT8(KHeader,"application/sdp"); - RPointerArray headers(CSIPAcceptHeader::DecodeL(KHeader)); - MusCleanupResetAndDestroyPushL(headers); - - TInt count = headers.Count(); - CSIPHeaderBase* header = NULL;; - TInt status = NULL; - - for (TInt i=0; i < count; i++) - { - header = headers[i]; - status = aRequestHeaders.Append(header); - if ( status != KErrNone ) - { - header = NULL; - } - else - { - headers.Remove( i ); - } - } - CleanupStack::PopAndDestroy( &headers ); - MUS_LOG( - "mus: [MUSAVA] <- CMusAvaSipheaderUtil::AddAcceptSDPHeaderL" ) - } - -// -------------------------------------------------------------------------- -// CMusAvaSipheaderUtil::AddPrivacyHeaderL -// -------------------------------------------------------------------------- -// -void CMusAvaSipheaderUtil::AddPrivacyHeaderL( - RPointerArray& aRequestHeaders ) - { - MUS_LOG( "mus: [MUSAVA] -> AddPrivacyHeaderL()" ) - NMusSessionInformationApi::TMusClirSetting clir = - NMusSessionInformationApi::ESendOwnNumber; - // Ignore RProperty::Get return value.Incase of error it should behave default. - RProperty::Get( NMusSessionInformationApi::KCategoryUid, - NMusSessionInformationApi::KMusClirSetting, - reinterpret_cast( clir ) ); - MUS_LOG1( "mus: [MUSAVA] - clir setting = %d", clir ) - if ( clir == NMusSessionInformationApi::EDoNotSendOwnNumber ) - { - _LIT8( KMusPrivacyHeader, "Privacy" ); - _LIT8( KMusPrivacyHeaderValue, "id" ); - CSIPExtensionHeader* header = CSIPExtensionHeader::NewLC( - KMusPrivacyHeader, KMusPrivacyHeaderValue ); - aRequestHeaders.AppendL( header ); - CleanupStack::Pop( header ); - } - MUS_LOG( "mus: [MUSAVA] <- AddPrivacyHeaderL()" ) - }