mmsharing/mmshmanagercli/src/musmanagerimpl.cpp
changeset 15 ccd8e69b5392
parent 2 b31261fd4e04
child 20 e8be2c2e049d
child 22 496ad160a278
--- a/mmsharing/mmshmanagercli/src/musmanagerimpl.cpp	Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,415 +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 "musmanagerimpl.h"
-#include "musmanager.h"
-#include "musmanageripccommon.h"
-#include "musmanagerserverstarter.h"
-#include "muslogger.h"
-#include "musavailabilityobserver.h"
-
-// ---------------------------------------------------------------------------
-// CMusManagerImpl::CMusManagerImpl
-// ---------------------------------------------------------------------------
-//
-CMusManagerImpl::CMusManagerImpl()
-    : iConnected( EFalse )
-    {
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CMusManagerImpl::CMusManagerImpl
-// ---------------------------------------------------------------------------
-//
-CMusManagerImpl::CMusManagerImpl( MMusAvailabilityObserver* aObserver )
-    : iConnected( EFalse ), iAvailabilityObserver( aObserver )
-    {
-    }      
-
-
-// ---------------------------------------------------------------------------
-// CMusManagerImpl::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CMusManagerImpl::ConstructL()
-    {
-    if ( iAvailabilityObserver )
-        {
-        iListener = CMusManagerImplListener::NewL( this ); 
-        }    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMusManagerImpl::NewL
-// ---------------------------------------------------------------------------
-//
-CMusManagerImpl* CMusManagerImpl::NewL()
-    {
-    CMusManagerImpl* self = CMusManagerImpl::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMusManagerImpl::NewLC
-// ---------------------------------------------------------------------------
-//
-CMusManagerImpl* CMusManagerImpl::NewLC()
-    {
-    CMusManagerImpl* self = new( ELeave ) CMusManagerImpl;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CMusManagerImpl::NewL 
-// ---------------------------------------------------------------------------
-//
-CMusManagerImpl* CMusManagerImpl::NewL( MMusAvailabilityObserver* aObserver )
-    {
-    CMusManagerImpl* self = CMusManagerImpl::NewLC( aObserver );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMusManagerImpl::NewLC
-// ---------------------------------------------------------------------------
-//
-CMusManagerImpl* CMusManagerImpl::NewLC( MMusAvailabilityObserver* aObserver )
-    {
-    CMusManagerImpl* self = new( ELeave ) CMusManagerImpl( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }      
-
-
-// ---------------------------------------------------------------------------
-// CMusManagerImpl::~CMusManagerImpl
-// ---------------------------------------------------------------------------
-//
-CMusManagerImpl::~CMusManagerImpl()
-    {
-    MUS_LOG( "mus: [MUSCLI]  -> CMusManagerImpl::~CMusManagerImpl()" );
-    delete iListener;
-    iSession.Disconnect();
-    MUS_LOG( "mus: [MUSCLI]  <- CMusManagerImpl::~CMusManagerImpl()" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMusManagerImpl::~CMusManagerImpl
-// ---------------------------------------------------------------------------
-//
-void CMusManagerImpl::StartServer()
-    {
-    MUS_LOG( "mus: [MUSCLI]  -> CMusManagerImpl::StartServer()" );
-    TInt error = MusManagerServerStarter::Start();
-    MUS_LOG( "mus: [MUSCLI]  <- CMusManagerImpl::StartServer()" );
-    }
-
-// ---------------------------------------------------------------------------
-// CMusManagerImpl::~CMusManagerImpl
-// ---------------------------------------------------------------------------
-//
-TBool CMusManagerImpl::ServerStarted()
-    {
-    return MusManagerServerStarter::Started();
-    }
-
-// ---------------------------------------------------------------------------
-// CMusManagerImpl::~CMusManagerImpl
-// ---------------------------------------------------------------------------
-//
-void CMusManagerImpl::ExamineAvailabilityL()
-    {
-    MUS_LOG( "mus: [MUSCLI]  -> CMusManagerImpl::ExamineAvailabilityL()" );
-    // ensure server and connection are ok
-    InitSessionL();
-
-    iSession.InvestigateAvailabilityL();
-    MUS_LOG( "mus: [MUSCLI]  <- CMusManagerImpl::ExamineAvailabilityL()" );
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the current availability of MultimediaSharing.
-// ---------------------------------------------------------------------------
-//
-MultimediaSharing::TMusAvailabilityStatus CMusManagerImpl::AvailabilityL()
-    {
-    MUS_LOG( "mus: [MUSCLI]  -> CMusManagerImpl::AvailabilityL()" );
-
-    MultimediaSharing::TMusAvailabilityStatus status;
-
-    if( !ServerStarted() )
-        {
-        status = ( MultimediaSharing::TMusAvailabilityStatus ) KErrNotReady;
-        }
-    else
-        {
-        status = QueryAvailabilityL();
-        }
-    MUS_LOG( "mus: [MUSCLI]  <- CMusManagerImpl::AvailabilityL()" );
-
-    return status;
-    }
-    
-// ---------------------------------------------------------------------------
-// Forwards command to executed by MultimediaSharing.
-// ---------------------------------------------------------------------------
-//
-void CMusManagerImpl::HandleCommandL( 
-								MultimediaSharing::TCommandType aCommandType )
-	{
-	MUS_LOG( "mus: [MUSCLI]  -> CMusManagerImpl::HandleCommandL()" );
-	    // ensure server and connection are ok
-    InitSessionL();
-    
-    iSession.HandleCommandL( aCommandType );
-    MUS_LOG( "mus: [MUSCLI]  <- CMusManagerImpl::HandleCommandL()" );	
-	}
-// ---------------------------------------------------------------------------
-// Forwards a SIP request to be handled by MultimediaSharing.
-// ---------------------------------------------------------------------------
-//
-void CMusManagerImpl::HandleSipRequestL( TInt aChannelId )
-    {
-    MUS_LOG( "mus: [MUSCLI]  -> CMusManagerImpl::HandleSipRequestL()" );
-    // ensure server and connection are ok
-    InitSessionL();
-
-    iSession.HandleSipRequestL( aChannelId );
-    MUS_LOG( "mus: [MUSCLI]  <- CMusManagerImpl::HandleSipRequestL()" );
-    }
-
-// ---------------------------------------------------------------------------
-// Starts the MultimediaSharing application.
-// ---------------------------------------------------------------------------
-//
-void CMusManagerImpl::StartApplicationL( MultimediaSharing::TMusUseCase aUseCase )
-    {
-    MUS_LOG( "mus: [MUSCLI]  -> CMusManagerImpl::StartApplicationL()" );
-    // ensure server and connection are ok
-    InitSessionL();
-
-    MultimediaSharing::TMusAvailabilityStatus status =
-        iSession.QueryAvailabilityL();
-
-    if( status < KErrNone || status >= MultimediaSharing::EErrSipRegistration )
-        {
-        MUS_LOG1( "mus: [MUSCLI]     <- CMusManagerImpl::StartApplicationL( leave: %d )",
-                 status );
-        User::Leave( status );
-        }
-
-    iSession.StartL( aUseCase );
-
-    MUS_LOG( "mus: [MUSCLI]  <- CMusManagerImpl::StartApplicationL()" );
-    }
-
-// ---------------------------------------------------------------------------
-// Stops the MultimediaSharing application.
-// ---------------------------------------------------------------------------
-//
-void CMusManagerImpl::StopApplicationL()
-    {
-    MUS_LOG( "mus: [MUSCLI]  -> CMusManagerImpl::StopApplicationL()" );
-    // ensure server and connection are ok
-    InitSessionL();
-
-    iSession.StopL();
-    MUS_LOG( "mus: [MUSCLI]  <- CMusManagerImpl::StopApplicationL()" );
-    }
-
-// ---------------------------------------------------------------------------
-// Starts investigating the current availability of MultimediaSharing.
-// ---------------------------------------------------------------------------
-//
-MultimediaSharing::TMusAvailabilityStatus CMusManagerImpl::QueryAvailabilityL()
-    {
-    MUS_LOG( "mus: [MUSCLI]  -> CMusManagerImpl::QueryAvailabilityL()" );
-    // ensure server and connection are ok
-    InitSessionL();
-
-    MultimediaSharing::TMusAvailabilityStatus status
-                            = iSession.QueryAvailabilityL();
-
-    MUS_LOG( "mus: [MUSCLI]  <- CMusManagerImpl::QueryAvailabilityL()" );
-    return status;
-    }
-
-// ---------------------------------------------------------------------------
-// Starts to monitor availability
-// ---------------------------------------------------------------------------
-//
-void CMusManagerImpl::MonitorAvailabilityL( TRequestStatus& aRequestStatus )
-    {
-    MUS_LOG( "mus: [MUSCLI]  -> CMusManagerImpl::MonitorAvailabilityL()" );
-    
-    iPcArgs.Set( EMusManagerIpcArgAvailabilityStatus, &iPckg );
-    iSession.MonitorAvailabilityL( aRequestStatus, iPcArgs );
- 
-    MUS_LOG( "mus: [MUSCLI]  <- CMusManagerImpl::MonitorAvailabilityL()" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Starts server process, if needed, and then opens a session to it.
-// ---------------------------------------------------------------------------
-//
-void CMusManagerImpl::InitSessionL()
-    {
-    MUS_LOG( "mus: [MUSCLI]  -> CMusManagerImpl::InitSessionL()" );
-    // if server not started, start it
-    if( !ServerStarted() )
-        {
-        StartServer();
-        }
-
-    // if no session, connect
-    if( !iConnected )
-        {
-        ConnectL();
-        }
-    MUS_LOG( "mus: [MUSCLI]  <- CMusManagerImpl::InitSessionL()" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Connects this client to the server process; opens a session.
-// ---------------------------------------------------------------------------
-//
-void CMusManagerImpl::ConnectL()
-    {
-    MUS_LOG( "mus: [MUSCLI]  -> CMusManagerImpl::ConnectL()" );
-    iSession.ConnectL();
-
-    iConnected = ETrue;
-    MUS_LOG( "mus: [MUSCLI]  <- CMusManagerImpl::ConnectL()" );
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMusManagerImpl::CancelMonitoring()
-    {
-    MUS_LOG( "mus: [MUSCLI]  -> CMusManagerImpl::CancelMonitoring()" );
-    TRAP_IGNORE( iSession.CancelMonitoringL() );
-    MUS_LOG( "mus: [MUSCLI]  <- CMusManagerImpl::CancelMonitoring()" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Creates listener
-// ---------------------------------------------------------------------------
-//    
-CMusManagerImpl::CMusManagerImplListener* 
-    CMusManagerImpl::CMusManagerImplListener::NewL( 
-        CMusManagerImpl* aMusManagerImpl )
-    {
-    CMusManagerImplListener* self = 
-        new ( ELeave ) CMusManagerImplListener( aMusManagerImpl );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    } 
-  
-// ---------------------------------------------------------------------------
-// Constructs listener
-// ---------------------------------------------------------------------------
-//    
-CMusManagerImpl::CMusManagerImplListener::CMusManagerImplListener( 
-        CMusManagerImpl* aMusManagerImpl ) : 
-        CActive(0), iMusManagerImpl( aMusManagerImpl )
-    {
-    CActiveScheduler::Add(this);
-    }
-    
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//    
-void CMusManagerImpl::CMusManagerImplListener::ConstructL()
-    {
-    iMusManagerImpl->InitSessionL();
-    iMusManagerImpl->iSession.StartObservingAvailabilityL();
-    ListenL();
-    }    
-    
-// ---------------------------------------------------------------------------
-// Destructs listener
-// ---------------------------------------------------------------------------
-//
-CMusManagerImpl::CMusManagerImplListener::~CMusManagerImplListener() 
-    {
-    Cancel();
-    }
-
-// ---------------------------------------------------------------------------
-// Start listening availability events
-// ---------------------------------------------------------------------------
-//
-void CMusManagerImpl::CMusManagerImplListener::ListenL()
-    {
-    iMusManagerImpl->MonitorAvailabilityL( iStatus );
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-// RunL
-// ---------------------------------------------------------------------------
-//    
-void CMusManagerImpl::CMusManagerImplListener::RunL()
-    {
-    iMusManagerImpl->iAvailabilityObserver->MusAvailabilityChangedL( 
-                iMusManagerImpl->iPckg() );  
-                
-    // restart monitoring                  
-    ListenL();
-    }
-    
-// ---------------------------------------------------------------------------
-// RunL
-// ---------------------------------------------------------------------------
-//        
-TInt CMusManagerImpl::CMusManagerImplListener::RunError( TInt aError )
-    {
-    MUS_LOG1( "mus: [MUSCLI]     CMusManagerImplListener::RunError: %d", \
-                 aError );
-    return aError;
-    }
-
-// ---------------------------------------------------------------------------
-// Cancel
-// ---------------------------------------------------------------------------
-//    
-void CMusManagerImpl::CMusManagerImplListener::DoCancel()
-    {
-    iMusManagerImpl->CancelMonitoring();
-    }