realtimenetprots/sipfw/ClientResolver/Resolver/src/CSdpMLineNameStrategy.cpp
changeset 0 307788aac0a8
equal deleted inserted replaced
-1:000000000000 0:307788aac0a8
       
     1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // Name          : CSdpMLineNameStrategy.cpp
       
    15 // Part of       : SIP Client Resolver
       
    16 // Version       : 1.0
       
    17 //
       
    18 
       
    19 
       
    20 
       
    21 #include "CSdpMLineNameStrategy.h"
       
    22 #include "sdpdocument.h"
       
    23 #include "sdpmediafield.h"
       
    24 #include "sdpcodecstringconstants.h"
       
    25 #include "sdpcodecstringpool.h"
       
    26 
       
    27 // ----------------------------------------------------------------------------
       
    28 // CSdpMLineNameStrategy::NewLC
       
    29 // ----------------------------------------------------------------------------
       
    30 //
       
    31 CSdpMLineNameStrategy* CSdpMLineNameStrategy::NewLC(
       
    32     const MSipClients& aSipClients)
       
    33 	{
       
    34 	CSdpMLineNameStrategy* self = 
       
    35 		new(ELeave)CSdpMLineNameStrategy(aSipClients);
       
    36 	CleanupStack::PushL(self);
       
    37 	self->ConstructL();
       
    38 	return self;
       
    39 	}
       
    40 
       
    41 // ----------------------------------------------------------------------------
       
    42 // CSdpMLineNameStrategy::CSdpMLineNameStrategy
       
    43 // ----------------------------------------------------------------------------
       
    44 //
       
    45 CSdpMLineNameStrategy::CSdpMLineNameStrategy(const MSipClients& aSipClients) 
       
    46  : CSdpMLineStrategyBase(aSipClients)
       
    47 	{
       
    48 	}
       
    49 
       
    50 // ----------------------------------------------------------------------------
       
    51 // CSdpMLineNameStrategy::ConstructL
       
    52 // ----------------------------------------------------------------------------
       
    53 //
       
    54 void CSdpMLineNameStrategy::ConstructL()
       
    55 	{
       
    56 	iApplicationStringF = 
       
    57 	    SdpCodecStringPool::StringPoolL().StringF(
       
    58 	        SdpCodecStringConstants::EMediaApplication,
       
    59 	        SdpCodecStringPool::StringTableL());
       
    60 	}
       
    61 
       
    62 // ----------------------------------------------------------------------------
       
    63 // CSdpMLineNameStrategy::~CSdpMLineNameStrategy
       
    64 // ----------------------------------------------------------------------------
       
    65 //
       
    66 CSdpMLineNameStrategy::~CSdpMLineNameStrategy ()
       
    67 	{
       
    68 	iApplicationStringF.Close();
       
    69 	}
       
    70 
       
    71 // ----------------------------------------------------------------------------
       
    72 // CSdpMLineNameStrategy::IsApplicable
       
    73 // ----------------------------------------------------------------------------
       
    74 //	
       
    75 TBool CSdpMLineNameStrategy::IsApplicable(CSdpMediaField& aMediaField)
       
    76     {
       
    77  	return (aMediaField.Media() == iApplicationStringF);
       
    78     }
       
    79 
       
    80 // ----------------------------------------------------------------------------
       
    81 // CSdpMLineNameStrategy::FieldsMatchL
       
    82 // ----------------------------------------------------------------------------
       
    83 //
       
    84 TBool CSdpMLineNameStrategy::FieldsMatchL(
       
    85     const CSdpMediaField& aReceivedMedia,
       
    86     const CSdpMediaField& aClientMedia)
       
    87     {    
       
    88 	if (aReceivedMedia.Media() == iApplicationStringF &&
       
    89 	    aClientMedia.Media() == iApplicationStringF &&
       
    90 	    aReceivedMedia.FormatList() == aClientMedia.FormatList())
       
    91 	    {
       
    92 	    return ETrue;
       
    93 	    }
       
    94 	return EFalse;
       
    95 	}