mmsharing/mmshmanagersrv/src/musavailabilitypluginmanager.cpp
changeset 15 ccd8e69b5392
parent 2 b31261fd4e04
child 20 e8be2c2e049d
child 22 496ad160a278
--- a/mmsharing/mmshmanagersrv/src/musavailabilitypluginmanager.cpp	Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,765 +0,0 @@
-/*
-* Copyright (c) 2006-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:  ?Description
-*
-*/
-
-
-#include "musavailabilitypluginmanager.h"
-#include "musavasettings.h"
-#include "musunittesting.h"
-#include "musavainterface.h"
-#include "muslogger.h"
-#include "musavailabilitypluginmanagerobserver.h"
-#include "musmanagerservercommon.h"
-#include "musindicatorapi.h"
-#include "musapplicationmanager.h"
-
-#include <badesca.h>
-#include <bamdesca.h>
-#include <e32property.h>
-
-
-// CONSTANTS
-
-using namespace MultimediaSharing;
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusAvailabilityPluginManager* CMusAvailabilityPluginManager::NewL(
-                          MMusAvailabilityPluginManagerObserver& aObserver,
-                          CMusApplicationManager& aApplicationManager )
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::NewL()" )
-
-    CMusAvailabilityPluginManager* self =
-                          CMusAvailabilityPluginManager::NewLC( aObserver,
-                                                                aApplicationManager );
-
-    CleanupStack::Pop( self );
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::NewL()" )
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusAvailabilityPluginManager* CMusAvailabilityPluginManager::NewLC(
-                          MMusAvailabilityPluginManagerObserver& aObserver,
-                          CMusApplicationManager& aApplicationManager )
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::NewLC()" )
-
-    CMusAvailabilityPluginManager* self =
-                   new( ELeave ) CMusAvailabilityPluginManager( aObserver, 
-                                                                aApplicationManager );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::NewLC()" )
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusAvailabilityPluginManager::~CMusAvailabilityPluginManager()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-             ~CMusAvailabilityPluginManager()" )
-    delete iPlugin;
-    delete iSessionParameters;
-    delete iIndicator;
-    iIndicator = NULL;
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-             ~CMusAvailabilityPluginManager()" )
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusAvailabilityPluginManager::ConstructL()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::ConstructL()" )
-    iSessionParameters = new( ELeave ) CDesCArrayFlat( KParameterCount );
-    iPlugin = CMusAvaInterface::NewL();
-    iPlugin->SetObserver( *this );
-   	iPlugin->SetSettingsObserver( *this );
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::ConstructL()" )
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMusAvailabilityPluginManager::CMusAvailabilityPluginManager(
-                          MMusAvailabilityPluginManagerObserver& aObserver,
-                          CMusApplicationManager& aApplicationManager )
-    : iObserver( aObserver ), 
-      iApplicationManager( aApplicationManager )
-    {
-    iPluginStarted = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMusAvailabilityPluginManager::ApplicationAllowed()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        ApplicationAllowed()" )
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        ApplicationAllowed()" )
-    return ( iPlugin->MandatoryAvailability()
-        || iPlugin->AvailabilityState( EMusAvaNameRegistration ) == 
-            EMusAvaStatusInProgress
-        || iPlugin->AvailabilityState( EMusAvaNameRegistration ) == 
-            EMusAvaStatusAvailable );
-    }
-// -----------------------------------------------------------------------------
-// If minumum availability is available returning mandaroty level status
-// and if mandatory level status is available returning extension level status
-// -----------------------------------------------------------------------------
-//
-TMusAvailabilityStatus CMusAvailabilityPluginManager::Availability()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        Availability()" )
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        	Availability()" )
-    return MapAvailabilities( iPlugin->AvailabilityStatus() );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusAvailabilityPluginManager::InvestigateAvailabilityL()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-             InvestigateAvailabilityL()" )
-    if( !iPluginStarted )
-        {
-        iPlugin->StartL();
-        iPluginStarted = ETrue;
-        }
-
-
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-             InvestigateAvailabilityL()" )
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusAvailabilityPluginManager::InvitationReceivedL()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        InvitationReceivedL()" )
-
-    if( !iPluginStarted )
-        {
-        iPlugin->StartL();
-        iPluginStarted = ETrue;
-        }
-
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        InvitationReceivedL()" )
-    }
-
-// -----------------------------------------------------------------------------
-// CMusAvailabilityPluginManager::OptionsReceived
-// -----------------------------------------------------------------------------
-//
-void CMusAvailabilityPluginManager::OptionsReceivedL()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        OptionsReceivedL()" )
-
-    if( !iPluginStarted )
-        {
-        iPlugin->StartL();
-        iPluginStarted = ETrue;
-        }
-
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        OptionsReceivedL()" )
-    }
-
-// -----------------------------------------------------------------------------
-// CMusAvailabilityPluginManager::LoadPluginL
-// -----------------------------------------------------------------------------
-//
-void CMusAvailabilityPluginManager::LoadPluginL()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        LoadPluginL()" )
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        LoadPluginL()" )
-    }
-
-// -----------------------------------------------------------------------------
-// CMusAvailabilityPluginManager::UnloadPluginL
-// -----------------------------------------------------------------------------
-//
-void CMusAvailabilityPluginManager::StopPluginL()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        StopPluginL()" )
-    if( iPluginStarted )
-        {
-        iPlugin->Stop();
-        iPluginStarted = EFalse;
-        }
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        StopPluginL()" )
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-MDesCArray& CMusAvailabilityPluginManager::SessionParametersL()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        SessionParametersL()" )
-    // update the values
-    UpdateSessionParametersL();
-
-    // then pass them
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        SessionParametersL()" )
-    return *iSessionParameters;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusAvailabilityPluginManager::ManualQueryL()
-    {
-
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        ManualQueryL()" )
-  	MMusAvaSettings& settings = iPlugin->Settings();
-  	
-    MUS_LOG( "mus: [MUSSRV]    Status available" )
-    
-    settings.SetManualActivation( MMusAvaSettings::EActivationAllowed );
-    iPlugin->StartL();
-
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        ManualQueryL()" )  
-    }
-
-TBool CMusAvailabilityPluginManager::PossibleToLaunch()
-    {
-    return iPlugin->ExtensionAvailability() && 
-    	iPlugin->AvailabilityStatus() == 
-    		MMusAvaObserver::EMusAvaStatusAvailable;
-    }
-void CMusAvailabilityPluginManager::AvailabilityChanged( 
-                                            TAvailabilityName /*aName*/, 
-                                            TAvailabilityStatus aStatus )
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        AvailabilityChanged()" )
-	TRAPD( err , iObserver.AvailabilityChangedL( MapAvailabilities( aStatus ) ) );
-    if ( err )
-        {
-        // Not sure about what to do. Very rare situation.
-        MUS_LOG1( "mus: [MUSSRV] AvailabilityChangedL() leave code: %d",err )
-        }
-    // Do some indicator things...
-    TRAP( err, IndicateAvailabilityL() );
-    if ( err )
-        {
-        // Not sure about what to do. Very rare situation.
-        MUS_LOG1( "mus: [MUSSRV] IndicateAvailabilityL() leave code: %d",err )
-        }
-
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        AvailabilityChanged()" )	
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusAvailabilityPluginManager::AvailabilityError( 
-                                            TAvailabilityName /*aName*/, 
-                                            TAvailabilityStatus aStatus )
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        AvailabilityError()" )
-    TRAPD( err , iObserver.AvailabilityChangedL( MapAvailabilities( aStatus ) ) );
-    if ( err )
-        {
-        // Not sure about what to do. Very rare situation.
-        MUS_LOG1( "mus: [MUSSRV] AvailabilityChangedL() leave code: %d",err )
-        }
-
-    // Do some indicator things...
-    TRAP( err, IndicateAvailabilityL() );
-    if ( err )
-        {
-        MUS_LOG1( "mus: [MUSSRV] IndicateAvailabilityL() leave code: %d",err )
-        }
-
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        AvailabilityError()" )	
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-MMusAvaSettingsObserver::TApplicationState CMusAvailabilityPluginManager::
-    ApplicationState()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        ApplicationState()" )
-    MMusAvaSettingsObserver::TApplicationState ret = EApplicationStateNotDefined;   
-    if ( iApplicationManager.ApplicationRunning() )
-        {
-        ret = EApplicationIsRunning;
-        }
-    else
-        {
-        ret = EApplicationNotRunning;
-        }
-    
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        ApplicationState()" )
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMusAvailabilityPluginManager::OptionAllowed()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        OptionAllowed()" )
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        OptionAllowed()" )
-    // TBD: Check it out
-    return iPlugin->AvailabilityState( MMusAvaObserver::EMusAvaOptionHandler )
-        >= EMusAvaStatusNotExecuted;
-    }
-
-// -----------------------------------------------------------------------------
-// From MMusIndicatorObserver.
-// Starts live video sharing.
-// -----------------------------------------------------------------------------
-//
-void CMusAvailabilityPluginManager::StartLiveSharingL()
-    {
-    iObserver.StartLiveSharingL();
-    }
-
-// -----------------------------------------------------------------------------
-// This functions cross-links TAvailabilityStatus and
-// MultimediaSharing::TMusAvailabilityStatus
-// -----------------------------------------------------------------------------
-//
-MultimediaSharing::TMusAvailabilityStatus
-        CMusAvailabilityPluginManager::MapAvailabilities(
-                            TAvailabilityStatus aStatus )
-    {
-    MultimediaSharing::TMusAvailabilityStatus status;
-    switch( aStatus )
-        {
-        case EMusAvaStatusNotExecuted:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is \
-                EMultimediaSharingNotAvailable" )
-            status = EMultimediaSharingNotAvailable;
-            break;
-            }
-        case EMusAvaFailureCode:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is \
-                EMusAvaFailureCode" )
-            status = EMultimediaFailureCode;
-            break;
-            }
-        case EMusAvaStatusInProgress: // EMusAvaStatusRegistering:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is ESipRegistrationPending" )
-            if ( iPlugin->CurrentAvailability() > EMusAvaNameRegistration )
-                {
-                // SIP registration already performed, we're available
-                MUS_LOG( "mus: [MUSSRV]     that is \
-                    EMultimediaSharingAvailable - a" )
-                status = EMultimediaSharingAvailable;
-                }
-            else if ( 
-                iPlugin->CurrentAvailability() == EMusAvaNameRegistration )
-                {
-                // SIP register pending
-                MUS_LOG( "mus: [MUSSRV]     that is \
-                    ESipRegistrationPending - a" )
-                status = ESipRegistrationPending;
-                }
-            else
-                {
-                MUS_LOG( "mus: [MUSSRV]     that is \
-                    EMultimediaSharingNotAvailable - a" )
-                status = EMultimediaSharingNotAvailable;
-                }
-            break;
-            }
-        case EMusAvaStatusAvailable:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is EMultimediaSharingAvailable" )
-            status = EMultimediaSharingAvailable;
-            break;
-            }
-        case EMusAvaStatusNoSipProfile:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is EErrNoSipProfile" )
-            status = EErrNoSipProfile;
-            break;
-            }
-        case EMusAvaStatusNotRegistered:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is EErrSipRegistration" )
-            status = EErrSipRegistration;
-            break;
-            }
-        case EMusAvaStatusNoCall:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is EErrNoActiveCall" )
-            status = EErrNoActiveCall;
-            break;
-            }
-        case EMusAvaStatusCallOnHold:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is EErrCallOnHold" )
-            status = EErrCallOnHold;
-            break;
-            }
-        case EMusAvaOptionNotAvailable:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is EErrOptionAvailable" )
-            status = ESipOptionsNotCapable;
-            break;
-            }
-        case EMusAvaStatusConferenceCall:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is EErrConferenceCall" )
-            status = EErrConferenceCall;
-            break;
-            }
-        case EMusAvaStatusOptionsSent:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is ESipOptionsCapable" )
-            status = ESipOptionsSent;
-            break;
-            }
-        case EMusAvaStatusOptionsNotSent:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is ESipOptionsNotSent" )
-            status = ESipOptionsNotSent;
-            break;
-            }
-        case EMusAvaNetworkType:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is EErrNetwork" )
-            status = EErrNetwork;
-            break;
-            }
-        case EMusAvaRoamingError:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is EErrRoaming" )
-            status = EErrRoaming;
-            break;
-            }
-        case EMusAvaConnectionErr:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is EErrConnection" )
-            status = EErrConnection;
-            break;
-            }
-        case EMusActivationError:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is EErrActivation" )
-            status = EErrActivation;
-            break;
-            }
-        
-        case EMusAvaManualActivation:
-            {
-            MUS_LOG( "mus: [MUSSRV]     that is Manual Activation" )
-            status = EManualActivation;
-            break;
-            }
-
-        case EMusAvaEdgeDtmStatusUnknown:
-            {
-            MUS_LOG( "mus: [MUSSRV]     Edge/DTM support" )
-            status = EErrNetwork;
-            break;
-            }
-        default:
-            MUS_LOG( "mus: [MUSSRV]     that is unknown; returning \
-                KErrUnknown" )
-            status = ( TMusAvailabilityStatus ) KErrUnknown;
-        }
-    return status;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusAvailabilityPluginManager::UpdateSessionParametersL()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-             UpdateSessionParametersL()" )
-    // clear the table
-    iSessionParameters->Delete( 0, iSessionParameters->Count() );
-
-    HBufC* telNumber = TelNumberLC();
-    iSessionParameters->AppendL( *telNumber );
-    CleanupStack::PopAndDestroy( telNumber );
-
-    HBufC* sipAddresses = SipAddressesLC();
-    iSessionParameters->AppendL( *sipAddresses );
-    CleanupStack::PopAndDestroy( sipAddresses );
-
-    MMusAvaSettings& settings = iPlugin->Settings();
-
-    // append sip address proposal
-    iSessionParameters->AppendL( settings.SipAddressProposal() );
-
-    // Unsafe Magic number 16 is used but unsigned 32 bit integer (TInt32)
-    // can't go beyond 16 digits .
-    TBuf<16> contactIdBuf;
-    contactIdBuf.Num( settings.ContactId() );
-
-    // append contact id
-    iSessionParameters->AppendL( contactIdBuf );
-    
-    // append video codec
-    HBufC* videoCodecs = VideoCodecsLC();
-    iSessionParameters->AppendL( *videoCodecs );
-    CleanupStack::PopAndDestroy( videoCodecs );
-
-    // Unsafe Magic number 16 is used but unsigned 32 bit integer (TInt32)
-    // can't go beyond 16 digits .
-    TBuf<16> sipProfileIdBuf;
-    sipProfileIdBuf.Num( settings.SipProfileId() );
-
-    MUS_LOG1("iSessionParameters -> SIP Profile ID = %d ",
-        settings.SipProfileId() )
-
-    // append sip profile id
-    iSessionParameters->AppendL( sipProfileIdBuf );
-
-    HBufC* contactName = ContactNameLC();
-    iSessionParameters->AppendL( *contactName );
-    CleanupStack::PopAndDestroy( contactName );
-    
-    // append call privacy indication
-    MUS_LOG1("iSessionParameters -> Call Privacy = %d ",
-            settings.CallPrivacy() )
-    TBuf<16> callPrivacy;
-    callPrivacy.Num( settings.CallPrivacy() );
-    iSessionParameters->AppendL( callPrivacy );
-
-
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-             UpdateSessionParametersL()" )
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HBufC* CMusAvailabilityPluginManager::SipAddressesLC()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        SipAddressesLC()" )
-    HBufC* sipAddresses = NULL;
-
-    // We have to keep up with KMaxPropertySize since it is advertised through
-    // RProperty to UI process.
-    TBuf<RProperty::KMaxPropertySize> tbuf;
-    _LIT( KComma, "," );
-
-    MMusAvaSettings& settings = iPlugin->Settings();
-    const MDesCArray& addresses = settings.SipAddresses();
-    MUS_LOG1( "mus: [MUSSRV]    addresses.MdcaCount() %d", 
-        addresses.MdcaCount() )        
-    
-    for( TInt i=0;i<addresses.MdcaCount();i++ )
-        {             
-         // Check enough space available in tbuf
-        if ( tbuf.MaxSize()-tbuf.Size() >
-             addresses.MdcaPoint(i).Size()+KComma().Size())
-            {
-            if( i > 0) tbuf.Append( KComma() );                
-            tbuf.Append( addresses.MdcaPoint( i ) );                
-            }
-        else
-            {
-            // if no space just break and do not continue further.
-            break;
-            }            
-        }
-    sipAddresses = tbuf.AllocLC();
-
-    MUS_LOG_TDESC( "mus: [MUSSRV]       SIP Address: ", (*sipAddresses) );
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        SipAddressesLC()" )
-
-    return sipAddresses;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HBufC* CMusAvailabilityPluginManager::VideoCodecsLC()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        VideoCodecsLC()" )
-    HBufC* videoCodecs = NULL;
-
-    // We have to keep up with KMaxPropertySize since it is advertised through
-    // RProperty to UI process.
-    TBuf<RProperty::KMaxPropertySize> tbuf;
-    _LIT( KComma, "," );
-
-    MMusAvaSettings& settings = iPlugin->Settings();
-    const MDesCArray& codecs = settings.VideoCodecs();
-    MUS_LOG1( "mus: [MUSSRV]    addresses.MdcaCount() %d", 
-        codecs.MdcaCount() )        
-    
-    for( TInt i=0;i<codecs.MdcaCount();i++ )
-        {             
-         // Check enough space available in tbuf
-        if ( tbuf.MaxSize()-tbuf.Size() >
-             codecs.MdcaPoint(i).Size()+KComma().Size())
-            {
-            if( i > 0) tbuf.Append( KComma() );                
-            tbuf.Append( codecs.MdcaPoint( i ) );                
-            }
-        else
-            {
-            // if no space just break and do not continue further.
-            break;
-            }            
-        }
-    videoCodecs = tbuf.AllocLC();
-
-    MUS_LOG_TDESC( "mus: [MUSSRV]       Video codecs: ", (*videoCodecs) );
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        VideoCodecsLC()" )
-
-    return videoCodecs;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HBufC* CMusAvailabilityPluginManager::TelNumberLC()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        TelNumberLC()" )
-
-    MMusAvaSettings& settings = iPlugin->Settings();
-
-    HBufC* telNumber = settings.TelNumber().AllocLC();
-
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        TelNumberLC()" )
-
-    return telNumber;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HBufC* CMusAvailabilityPluginManager::ContactNameLC()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        ContactNameLC()" )
-
-    MMusAvaSettings& settings = iPlugin->Settings();
-
-    HBufC* contactName = settings.ContactName().AllocLC();
-
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        ContactNameLC()" )
-
-    return contactName;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusAvailabilityPluginManager::IndicateAvailabilityL()
-    {
-
-    MUS_LOG( "mus: [MUSSRV]  -> CMusAvailabilityPluginManager::\
-        IndicateAvailabilityL()" )
-
-    if( PossibleToLaunch() )
-        {
-        MUS_LOG( "mus: [MUSSRV]    Status available" )
-        if( !iIndicator )
-            {
-            MUS_LOG( "mus: [MUSSRV]    Create indicator" )
-            iIndicator = CMusIndicatorApi::NewL( *this );
-            iIndicator->IndicateAvailabilityL();
-            }
-        iApplicationManager.SetIndicatorStatusL( ETrue );
-        }
-    else
-        {
-        MUS_LOG( "mus: [MUSSRV]    Not available" )
-        iApplicationManager.SetIndicatorStatusL( EFalse );
-        delete iIndicator;
-        iIndicator = NULL;
-        }
-
-    MUS_LOG( "mus: [MUSSRV]  <- CMusAvailabilityPluginManager::\
-        IndicateAvailabilityL()" )
-    }
-