mmsharing/mmshmanagersrv/src/musmanagerservercore.cpp
changeset 15 ccd8e69b5392
parent 2 b31261fd4e04
child 20 e8be2c2e049d
child 22 496ad160a278
--- a/mmsharing/mmshmanagersrv/src/musmanagerservercore.cpp	Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,360 +0,0 @@
-/*
-* Copyright (c) 2006 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 "musunittesting.h"
-
-#include "musmanagerservercore.h"
-#include "musapplicationmanager.h"
-#include "musavailabilitypluginmanager.h"
-#include "musmonitoravailabilityobserver.h"
-#include "muslogger.h"
-#include "musmanagerservercoreobserver.h"
-#include "musmanager.h"
-
-using namespace MultimediaSharing;
-
-// CONSTANTS
-
-// -----------------------------------------------------------------------------
-// CMusManagerServerCore::NewL
-// -----------------------------------------------------------------------------
-//
-CMusManagerServerCore* CMusManagerServerCore::NewL(
-    MMusManagerServerCoreObserver& aObserver )
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::NewL()" );
-
-    CMusManagerServerCore* self = CMusManagerServerCore::NewLC( aObserver );
-    CleanupStack::Pop( self );
-    MUS_LOG( "mus: [MUSSRV]  <- CMusManagerServerCore::NewL()" );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CMusManagerServerCore::NewLC
-// -----------------------------------------------------------------------------
-//
-CMusManagerServerCore* CMusManagerServerCore::NewLC(
-    MMusManagerServerCoreObserver& aObserver )
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::NewLC()" );
-
-    CMusManagerServerCore* self
-        = new( ELeave ) CMusManagerServerCore( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    MUS_LOG( "mus: [MUSSRV]  <- CMusManagerServerCore::NewLC()" );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CMusManagerServerCore::CMusManagerServerCore
-// -----------------------------------------------------------------------------
-//
-CMusManagerServerCore::CMusManagerServerCore( MMusManagerServerCoreObserver& aObserver )
-    : iObserver( aObserver )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CMusManagerServerCore::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CMusManagerServerCore::ConstructL()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::ConstructL" );
-    
-    iApplicationManager = CMusApplicationManager::NewL();
-    
-    iPluginManager = CMusAvailabilityPluginManager::NewL( *this, *iApplicationManager );
-
-    MUS_LOG( "mus: [MUSSRV]  <- CMusManagerServerCore::ConstructL" );
-    }
-
-// -----------------------------------------------------------------------------
-// CMusManagerServerCore::~CMusManagerServerCore
-// -----------------------------------------------------------------------------
-//
-CMusManagerServerCore::~CMusManagerServerCore()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::CMusManagerServerCore" );
-
-     // inform ui via application manager (via session api)
-    
-    delete iPluginManager;
-
-    delete iApplicationManager;
-    
-     // go through interested client sessions
-    StopMonitoring();
-    iAvailabilityMonitors.Close();
-    
-    MUS_LOG( "mus: [MUSSRV]  <- CMusManagerServerCore::CMusManagerServerCore" );
-    }
-
-// -----------------------------------------------------------------------------
-// CMusManagerServerCore::~CMusManagerServerCore
-// -----------------------------------------------------------------------------
-//
-MultimediaSharing::TMusAvailabilityStatus CMusManagerServerCore::AvailabilityQueryL()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::AvailabilityQueryL" );
-    MultimediaSharing::TMusAvailabilityStatus status
-            = iPluginManager->Availability();
-   
-    MUS_LOG( "mus: [MUSSRV]  <- CMusManagerServerCore::AvailabilityQueryL" );
-    return status;
-    }
- // -----------------------------------------------------------------------------
-// CMusManagerServerCore::InvestigateAvailability
-// -----------------------------------------------------------------------------
-//
-void CMusManagerServerCore::CommandL( MultimediaSharing::TCommandType aCommandType )
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::CommandL" );
-     if ( aCommandType == MultimediaSharing::ECommandManualActivation )
-		{
-		MUS_LOG( "mus: [MUSSRV]    Manual Activation is started" )
-		iPluginManager->ManualQueryL();
-		}
-    MUS_LOG( "mus: [MUSSRV]  <- CMusManagerServerCore::CommandL" );
-    }
-
-// -----------------------------------------------------------------------------
-// CMusManagerServerCore::InvestigateAvailability
-// -----------------------------------------------------------------------------
-//
-void CMusManagerServerCore::InvestigateAvailabilityL()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::InvestigateAvailabilityL" );
-    iPluginManager->InvestigateAvailabilityL();
-    MUS_LOG( "mus: [MUSSRV]  <- CMusManagerServerCore::InvestigateAvailabilityL" );
-    }
-
-// -----------------------------------------------------------------------------
-// CMusManagerServerCore::InvitationReceived
-// -----------------------------------------------------------------------------
-//
-void CMusManagerServerCore::InvitationReceivedL( TUid aChannelId )
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::InvitationReceivedL" );
-
-    TInt uid = aChannelId.iUid;
-
-    if( uid == CMusManager::ESipInviteDesired &&
-        iPluginManager->ApplicationAllowed() )
-        {
-        // write session boundary values
-        iApplicationManager->WriteSessionPropertiesL(
-                                    MultimediaSharing::EMusReceive,
-                                    iPluginManager->Availability(),
-                                    iPluginManager->SessionParametersL() );
-
-        iApplicationManager->StartApplicationL();
-        }
-    else if( uid == CMusManager::ESipInviteNotDesired )
-        {
-        iPluginManager->InvitationReceivedL();
-        }
-    else
-        {
-        User::Leave( KErrNotReady );
-        }
-
-    MUS_LOG( "mus: [MUSSRV]  <- CMusManagerServerCore::InvitationReceivedL" );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusManagerServerCore::OptionsReceivedL( TUid /*aChannelId*/ )
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::OptionsReceivedL" );
-    iPluginManager->OptionsReceivedL();
-    MUS_LOG( "mus: [MUSSRV]  <- CMusManagerServerCore::OptionsReceivedL" );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusManagerServerCore::StartMultimediaSharingL( MultimediaSharing::TMusUseCase aUseCase )
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::StartMultimediaSharingL" );
-    if( !iApplicationManager->ApplicationRunning() &&
-        iPluginManager->ApplicationAllowed() )
-        {
-        // write session boundary values
-        iApplicationManager->WriteSessionPropertiesL(
-                                aUseCase,
-                                iPluginManager->Availability(),
-                                iPluginManager->SessionParametersL() );
-
-        // start actual application
-        iApplicationManager->StartApplicationL();
-        }
-    else
-        {
-        iApplicationManager->ShowApplicationL();
-        }
-    MUS_LOG( "mus: [MUSSRV]  <- CMusManagerServerCore::StartMultimediaSharingL" );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusManagerServerCore::StopMultimediaSharingL()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::StopMultimediaSharingL" );
-    iApplicationManager->StopApplicationL();
-    MUS_LOG( "mus: [MUSSRV]  <- CMusManagerServerCore::StopMultimediaSharingL" );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusManagerServerCore::EventNoSessions()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::EventNoSessions" );
-    TRAPD( error, iPluginManager->StopPluginL() );
-    if( error )
-        {
-        // iObserver.StopServer();
-        }
-    iObserver.StopServer();
-    MUS_LOG( "mus: [MUSSRV]  <- CMusManagerServerCore::EventNoSessions" );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusManagerServerCore::PluginStopped()
-    {
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::PluginStopped" );
-    if( iObserver.SessionCount() == 0 )
-        {
-        iObserver.StopServer();
-        }
-    MUS_LOG( "mus: [MUSSRV]  <- CMusManagerServerCore::PluginStopped" );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusManagerServerCore::AvailabilityChangedL(
-    MultimediaSharing::TMusAvailabilityStatus aAvailability )
-    {
-    MUS_LOG1( "mus: [MUSSRV]  -> CMusManagerServerCore::AvailabilityChangedL( %d )",
-              aAvailability );
-    // inform ui via application manager (via session api)
-
-    iApplicationManager->WriteSessionPropertiesL(
-                            aAvailability,
-                            iPluginManager->SessionParametersL() );
-    
-    if( iAvailabilityMonitors.Count() )
-    	{	
-    	// go through interested client sessions
-	    for( TInt i=0; i<iAvailabilityMonitors.Count(); i++ )
-	        {
-	        // and inform each about the new status
-	       	iAvailabilityMonitors[i]->AvailabilityChangedL( 
-	       		aAvailability );
-	        }
-    	}
-    
-    MUS_LOG( "mus: [MUSSRV]  <- CMusManagerServerCore::AvailabilityChangedL" );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusManagerServerCore::CancelMonitoring( MMusMonitorAvailabilityObserver* aObserver )
-	{
-	TInt index = iAvailabilityMonitors.Find( aObserver );
-		
-	if( index != KErrNotFound )
-		{
-		iAvailabilityMonitors[index]->RequestComplete();
-		iAvailabilityMonitors.Remove( index );
-		}	
-	}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusManagerServerCore::RegisterObserverL( 
-									MMusMonitorAvailabilityObserver* aObserver )
-	{
-    if( iAvailabilityMonitors.Find( aObserver ) == KErrNotFound )
-		{
-		iAvailabilityMonitors.AppendL( aObserver );
-		}
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::RegisterObserver" );	
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//	
-void CMusManagerServerCore::RemoveObserver( MMusMonitorAvailabilityObserver* aObserver )
-	{
-	MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::RemoveObserver" );
-    TInt index = iAvailabilityMonitors.Find( aObserver );
-		
-	if( index != KErrNotFound )
-		{
-		iAvailabilityMonitors.Remove( index );
-		}
-    MUS_LOG( "mus: [MUSSRV]  -> CMusManagerServerCore::RemoveObserver" );	
-	}
-
-// -----------------------------------------------------------------------------
-// From MMusAvailabilityPluginManagerObserver.
-// Starts live video sharing.
-// -----------------------------------------------------------------------------
-//
-void CMusManagerServerCore::StartLiveSharingL()
-    {
-    StartMultimediaSharingL( MultimediaSharing::EMusLiveVideo );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMusManagerServerCore::StopMonitoring()
-	{
-	// go through interested client sessions
-    for( TInt i=0; i<iAvailabilityMonitors.Count(); i++ )
-        {
-        // and inform each about the new status
-       	iAvailabilityMonitors[i]->RequestComplete();
-       	iAvailabilityMonitors.Remove( i );
-        }			
-    }
-
-//  End of File