mmsharing/mmshavailability/src/musavacapability.cpp
branchRCL_3
changeset 22 73a1feb507fb
parent 0 f0cf47e981f9
child 23 bc78a40cd63c
equal deleted inserted replaced
21:33a5d2bbf6fc 22:73a1feb507fb
    21 #include "muslogger.h"
    21 #include "muslogger.h"
    22 #include "musavacapabilityexchange.h"
    22 #include "musavacapabilityexchange.h"
    23 #include "musavacapabilitycontext.h"
    23 #include "musavacapabilitycontext.h"
    24 #include "mmusavacapabilityqueryobserver.h"
    24 #include "mmusavacapabilityqueryobserver.h"
    25 #include "mussettings.h"
    25 #include "mussettings.h"
    26 #include "mussettingskeys.h"
       
    27 
    26 
    28 #include <e32math.h>
    27 #include <e32math.h>
    29 #include <uri8.h>
    28 #include <uri8.h>
    30 #include <escapeutils.h>
    29 #include <escapeutils.h>
    31 //#include <sip.h>
       
    32 #include <sipservertransaction.h>
    30 #include <sipservertransaction.h>
    33 //#include <sipclienttransaction.h>
       
    34 #include <sipacceptcontactheader.h>
    31 #include <sipacceptcontactheader.h>
    35 #include <sipcontactheader.h>
    32 #include <sipcontactheader.h>
    36 #include <siprequestelements.h>
    33 #include <siprequestelements.h>
    37 #include <sdpdocument.h>
    34 #include <sdpdocument.h>
    38 #include <sdpmediafield.h>
    35 #include <sdpmediafield.h>
   207     CleanupStack::PushL( type );
   204     CleanupStack::PushL( type );
   208                                          
   205                                          
   209     aResponseContent.AttributeFields().AppendL( type );
   206     aResponseContent.AttributeFields().AppendL( type );
   210     CleanupStack::Pop( type );
   207     CleanupStack::Pop( type );
   211     
   208     
       
   209     //Add fast startup mode, if supported
       
   210     AddFastModeL( aResponseContent );
       
   211 
   212     MUS_LOG( "mus: [MUSAVA] Adding media line to SDP" )
   212     MUS_LOG( "mus: [MUSAVA] Adding media line to SDP" )
   213     //media line    
   213     //media line    
   214     CSdpMediaField* mediaLine = MediaLineLC( 
   214     CSdpMediaField* mediaLine = MediaLineLC( 
   215                 MusAvaCapabilityContext::SDPStringL( 
   215                 MusAvaCapabilityContext::SDPStringL( 
   216                     SdpCodecStringConstants::EMediaVideo ), 
   216                     SdpCodecStringConstants::EMediaVideo ), 
   338     CleanupStack::Pop( codecs );
   338     CleanupStack::Pop( codecs );
   339     
   339     
   340     return codecs;
   340     return codecs;
   341     }
   341     }
   342     
   342     
       
   343 // -----------------------------------------------------------------------------
       
   344 // CMusAvaCapability::ResolveFastModeL
       
   345 // -----------------------------------------------------------------------------
       
   346 // 
       
   347 MusSettingsKeys::TFastMode CMusAvaCapability::ResolveFastModeL( 
       
   348         CSdpDocument& aSDP )
       
   349     {
       
   350     MUS_LOG( "mus: [MUSAVA]: -> CMusAvaCapability::ResolveFastModeL" )
       
   351     MusSettingsKeys::TFastMode mode = MusSettingsKeys::EFastModeOff;
       
   352     if ( MultimediaSharingSettings::FastStartupModeL() == 
       
   353             MusSettingsKeys::EFastModeOn )
       
   354         {
       
   355         MUS_LOG( "mus: [MUSAVA] Checking if a=keywds:fastmode present..." )
       
   356         const CSdpAttributeField* keywds = CMusAvaCapability::Attribute( 
       
   357                     MusAvaCapabilityContext::SDPStringL( 
       
   358                         SdpCodecStringConstants::EAttributeKeywds ),
       
   359                     aSDP );
       
   360         if ( keywds && 
       
   361              keywds->Value().Compare( KCapabilitySDPAttributeFastMode ) == 0 )        
       
   362             {
       
   363             mode = MusSettingsKeys::EFastModeOn;
       
   364             }
       
   365         }
       
   366     MUS_LOG( "mus: [MUSAVA]: <- CMusAvaCapability::ResolveFastModeL" )
       
   367     return mode;
       
   368     }
       
   369 
       
   370 // -----------------------------------------------------------------------------
       
   371 // CMusAvaCapability::ResolveFastModeL
       
   372 // -----------------------------------------------------------------------------
       
   373 // 
       
   374 void CMusAvaCapability::AddFastModeL( CSdpDocument& aSdp )
       
   375     {
       
   376     MUS_LOG( "mus: [MUSAVA]: -> CMusAvaCapability::AddFastModeL" )
       
   377     if ( MultimediaSharingSettings::FastStartupModeL() == 
       
   378             MusSettingsKeys::EFastModeOn )
       
   379         {
       
   380         CSdpAttributeField* fastmode = CSdpAttributeField::NewLC(
       
   381              MusAvaCapabilityContext::SDPStringL( 
       
   382                  SdpCodecStringConstants::EAttributeKeywds ), 
       
   383              KCapabilitySDPAttributeFastMode );
       
   384                                            
       
   385         aSdp.AttributeFields().AppendL( fastmode );
       
   386         CleanupStack::Pop( fastmode );
       
   387         }    
       
   388     MUS_LOG( "mus: [MUSAVA]: <- CMusAvaCapability::AddFastModeL" )        
       
   389     }
       
   390 
   343 
   391 
   344 // -----------------------------------------------------------------------------
   392 // -----------------------------------------------------------------------------
   345 // CMusAvaCapability::Attribute
   393 // CMusAvaCapability::Attribute
   346 // -----------------------------------------------------------------------------
   394 // -----------------------------------------------------------------------------
   347 // 
   395 //