homesync/contentmanager/mediaservant/applicationengine/src/msengineao.cpp
branchIOP_Improvements
changeset 40 08b5eae9f9ff
parent 39 6369bfd1b60d
child 41 b4d83ea1d6e2
--- a/homesync/contentmanager/mediaservant/applicationengine/src/msengineao.cpp	Mon Nov 01 13:44:24 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,536 +0,0 @@
-/*
-* Copyright (c) 2008 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:  CMSEngineAO class implementation
-*
-*/
-
-
-
-//  Include Files
-#include "msengineobserver.h"
-#include "msengineao.h"
-#include "msengine.h"
-#include "msdebug.h"
-
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::CMSEngineAO
-// ---------------------------------------------------------------------------
-//
-CMSEngineAO::CMSEngineAO( CMSEngine* aEngine )
-            : CActive( CActive::EPriorityStandard ),
-              iEngine( aEngine )
-    {
-    LOG( _L( "[MediaServant ENG]\t CMSEngineAO::CMSEngineAO" ) );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::NewL
-// ---------------------------------------------------------------------------
-//
-CMSEngineAO* CMSEngineAO::NewL( CMSEngine* aEngine )
-    {
-    LOG(_L("[MediaServant ENG]\t CMSEngineAO::NewL"));
-
-    CMSEngineAO* self = new ( ELeave ) CMSEngineAO( aEngine );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CMSEngineAO::ConstructL()
-    {
-    LOG( _L("[MediaServant]\t CMSEngineAO::ConstructL") );
-
-    // Add this active object to the active scheduler.
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::~CMSEngineAO
-// ---------------------------------------------------------------------------
-//
-CMSEngineAO::~CMSEngineAO()
-    {
-    LOG( _L("[MediaServant ENG]\t CMSEngineAO::~CMSEngineAO") );
-
-    // cancel any ongoing operation
-    Cancel();
-    }
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::RunL
-// ---------------------------------------------------------------------------
-//
-void CMSEngineAO::RunL()
-    {
-    TRACE( Print( _L("[MediaServant ENG]\t CMSEngineAO::RunL \
-    iStatus = %d" ), iStatus.Int() ) );
-
-    switch ( iState )
-        {
-        case EMSEngineStore:
-            {
-            // stop if error occurs
-            if ( iStatus.Int() == KErrNone  )
-                {
-                LOG(_L("[MediaServant ENG]\t CMSEngineAO::RunL start store"));
-                // Store ok, continue by executing fill operation.
-                ExecuteFillL();
-                }
-            else
-                {
-                // Close server session due to error.
-                CloseServerSession();
-                // Inform the observer about error.
-                iObserver->ReadyL( iCurrentService, iStatus.Int() );
-                }
-            break;
-            }
-        case EMSEngineFill:
-        // fall through
-        case EMSEngineHarvest:
-        // fall through
-        case EMSEngineDeleteFiles:
-        // fall through
-        case EMSEnginePreprocess:
-        // fall through
-        case EMSEngineGetMetadata:
-        // fall through
-        case EMSEnginePreprocessList:
-        // fall through
-        case EMSEngineDeleteMetadata:
-        // fall through
-        case EMSUpdateFillLists:
-            {
-            CloseServerSession();
-            // report for application
-            iObserver->ReadyL( iCurrentService, iStatus.Int() );
-            LOG( _L("[MediaServant ENG]\t CMSEngineAO::RunL close session") );
-            break;
-            }
-        default:
-            {
-            LOG( _L("[MediaServant ENG]\t CMSEngineAO::RunL \
-            not valid state") );
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CMSEngineAO::DoCancel()
-    {
-    LOG( _L( "[MediaServant ENG]\t CMSEngineAO::DoCancel" ) );
-
-    iContentManager.Cancel();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::ScanMediaServersL
-// ---------------------------------------------------------------------------
-//
-TInt CMSEngineAO::ScanMediaServersL()
-    {
-    LOG( _L( "[MediaServant ENG]\t CMSEngineAO::ScanMediaServersL" ) );
-
-    // Open content manager session.
-    TInt error = OpenServerSession();
-
-    if ( !error )
-        {
-        // Session created. Update state variables and execute service.
-        iCurrentService = ECmServiceHarvest;
-        iState = EMSEngineHarvest;
-        iContentManager.ExecuteService( ECmServiceHarvest, iStatus );
-
-        if ( IsActive() )
-            {
-            User::Leave( KErrInUse );
-            }
-        else
-            {
-            // Enable active object
-            SetActive();
-            }
-        }
-
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::ExecuteFillL
-// ---------------------------------------------------------------------------
-//
-void CMSEngineAO::ExecuteFillL()
-    {
-    LOG( _L("[MediaServant ENG]\t CMSEngineAO::ExecuteFillL") );
-
-    // Update state variables and execute fill service.
-    iCurrentService = ECmServiceFill;
-    iState = EMSEngineFill;
-    iContentManager.ExecuteService( ECmServiceFill, iStatus );
-
-    if ( IsActive() )
-        {
-        User::Leave( KErrInUse );
-        }
-    else
-        {
-        // Enable active object
-        SetActive();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::ExecuteStoreL
-// ---------------------------------------------------------------------------
-//
-TInt CMSEngineAO::ExecuteStoreL()
-    {
-    LOG( _L("[MediaServant ENG]\t CMSEngineAO::ExecuteStoreL") );
-
-    iCurrentService = ECmServiceStore;
-    iState = EMSEngineStore;
-
-    // Open content manager session.
-    TInt error = OpenServerSession();
-
-    if ( !error )
-        {
-        iContentManager.ExecuteService( ECmServiceStore, iStatus );
-
-        if ( IsActive() )
-            {
-            User::Leave( KErrInUse );
-            }
-        else
-            {
-            // Enable active object
-            SetActive();
-            }
-        }
-
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::DeleteFilledFilesL()
-// ---------------------------------------------------------------------------
-//
-TInt CMSEngineAO::DeleteFilledFilesL()
-    {
-    LOG( _L("[MediaServant ENG]\t CMSEngineAO::DeleteFilledFilesL") );
-
-    // Open content manager session.
-    TInt error = OpenServerSession();
-    iState = EMSEngineDeleteFiles;
-    if ( !error )
-        {
-        // Session created. Update state variables and execute service.
-        iCurrentService = ECmServiceDeleteFilledFiles;
-        iState = EMSEngineDeleteFiles;
-        error = iContentManager.ExecuteService( ECmServiceDeleteFilledFiles,
-                                                iStatus );
-
-        if ( IsActive() )
-            {
-            User::Leave( KErrInUse );
-            }
-        else
-            {
-            // Enable active object
-            SetActive();
-            }
-        }
-
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::ExecuteStorePreProcessingL()
-// ---------------------------------------------------------------------------
-//
-TInt CMSEngineAO::ExecuteStorePreProcessingL()
-    {
-    LOG( _L("[MediaServant ENG]\t CMSEngineAO::ExecuteStorePreProcessingL") );
-
-    // Open content manager session.
-    TInt error = OpenServerSession();
-
-    if ( !error )
-        {
-        iCurrentService = ECmServicePreProcessingStore;
-        iState = EMSEnginePreprocess;
-        error = iContentManager.ExecuteService( ECmServicePreProcessingStore,
-                                                iStatus );
-
-        if ( IsActive() )
-            {
-            User::Leave( KErrInUse );
-            }
-        else
-            {
-            // Enable active object
-            SetActive();
-            }
-        }
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::ExecuteFillPreProcessingL()
-// ---------------------------------------------------------------------------
-//
-TInt CMSEngineAO::ExecuteFillPreProcessingL()
-    {
-    LOG( _L("[MediaServant ENG]\t CMSEngineAO::ExecuteFillPreProcessingL") );
-
-    // Open content manager session.
-    TInt error = OpenServerSession();
-
-    if ( !error )
-        {
-        iCurrentService = ECmServicePreProcessingFill;
-        iState = EMSEnginePreprocess;
-        error = iContentManager.ExecuteService( ECmServicePreProcessingFill,
-                                                iStatus );
-
-        if ( IsActive() )
-            {
-            User::Leave( KErrInUse );
-            }
-        else
-            {
-            // Enable active object
-            SetActive();
-            }
-        }
-    return error;
-    }
-
-// --------------------------------------------------------------------------
-// CMSEngine::GetFilteredMetadataL
-// --------------------------------------------------------------------------
-//
-void CMSEngineAO::GetFilteredMetadataL(
-                            CCmSqlPropertyCollector*& aCollector )
-    {
-    LOG(_L("[MediaServant ENG]\t CMSEngine::GetFilteredMetadataL"));
-
-    // Open content manager session.
-    User::LeaveIfError( OpenServerSession() );
-
-    iCurrentService = ECmServiceFill;
-    iState = EMSEngineGetMetadata;
-    iContentManager.GetFilteredMetadataL( iCurrentService,
-                                          aCollector,
-                                          iStatus );
-
-    if ( IsActive() )
-        {
-        User::Leave( KErrInUse );
-        }
-    else
-        {
-        // Enable active object
-        SetActive();
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CMSEngineAO::PreProcessFillList
-// --------------------------------------------------------------------------
-//
-TInt CMSEngineAO::PreProcessFillListL( const TDesC8& aListName )
-    {
-    LOG( _L("[MediaServant ENG]\t CMSEngineAO::PreProcessFillListL") );
-
-    // Open content manager session.
-    TInt error = OpenServerSession();
-
-    if ( !error )
-        {
-        iCurrentService = ECmServicePreProcessingFilllist;
-        iState = EMSEnginePreprocessList;
-        error = iContentManager.PreProcessFillList( aListName, iStatus );
-
-        if ( IsActive() )
-            {
-            User::Leave( KErrInUse );
-            }
-        else
-            {
-            // Enable active object
-            SetActive();
-            }
-        }
-    return error;
-    }
-
-// --------------------------------------------------------------------------
-// CMSEngineAO::UpdateFillListsL
-// --------------------------------------------------------------------------
-//
-void CMSEngineAO::UpdateFillListsL()
-    {
-    LOG( _L("[MediaServant ENG]\t CMSEngineAO::UpdateFillListsL") );
-
-    // Open content manager session.
-    User::LeaveIfError( OpenServerSession() );
-
-    iCurrentService = ECmServiceUpdateFillLists;
-    iState = EMSUpdateFillLists;
-    iContentManager.UpdateFillListsL( iStatus );
-
-    if ( IsActive() )
-        {
-        User::Leave( KErrInUse );
-        }
-    else
-        {
-        // Enable active object
-        SetActive();
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CMSEngineAO::DeleteMetadataL
-// --------------------------------------------------------------------------
-//
-void CMSEngineAO::DeleteMetadataL()
-    {
-    LOG( _L("[MediaServant ENG]\t CMSEngineAO::DeleteMetadataL") );
-
-    // Open content manager session.
-    User::LeaveIfError( OpenServerSession() );
-
-    iCurrentService = ECmServiceDeleteMetadata;
-    iState = EMSEngineDeleteMetadata;
-    iContentManager.DeleteMetadataL( iStatus );
-
-    if ( IsActive() )
-        {
-        User::Leave( KErrInUse );
-        }
-    else
-        {
-        // Enable active object
-        SetActive();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::OpenServerSession
-// ---------------------------------------------------------------------------
-//
-TInt CMSEngineAO::OpenServerSession()
-    {
-    LOG( _L("[MediaServant ENG]\t CMSEngineAO::OpenServerSession") );
-
-    TInt error( KErrInUse );
-    // Enable active object
-    if ( !IsActive() )
-        {
-        error = iContentManager.Connect();
-        }
-
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::CloseServerSession
-// ---------------------------------------------------------------------------
-//
-TInt CMSEngineAO::CloseServerSession()
-    {
-    LOG( _L("[MediaServant ENG]\t CMSEngineAO::CloseServerSession") );
-
-    TInt error = KErrNone;
-    iContentManager.Close();
-
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::ApplicationExit
-// ---------------------------------------------------------------------------
-//
-void CMSEngineAO::ApplicationExit()
-    {
-    LOG( _L("[MediaServant ENG]\t CMSEngineAO::ApplicationExit") );
-
-    if ( !IsActive() )
-        {
-        OpenServerSession();
-        }
-    iContentManager.ApplicationExit();
-    if ( IsActive() || iContentManager.Handle() )
-        {
-        CloseServerSession();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::StopOperation
-// ---------------------------------------------------------------------------
-//
-void CMSEngineAO::StopOperation()
-    {
-    LOG(_L("[MediaServant ENG]\t CMSEngineAO::StopOperation"));
-
-    if ( IsActive() )
-        {
-        LOG(_L("[MediaServant ENG]\t CMSEngineAO::StopOperation active \
-        cancelled"));
-        Cancel();
-        }
-    else
-        {
-        LOG( _L("[MediaServant ENG]\t CMSEngineAO::StopOperation \
-        contentmanager cancelled") );
-        // This is used to cancel scheduler initiated operation
-        // Open server session first
-        OpenServerSession();
-        iContentManager.Cancel();
-        }
-
-    LOG( _L("[MediaServant ENG]\t CMSEngineAO::StopOperation Server \
-    cancelled") );
-    CloseServerSession();
-    }
-
-// ---------------------------------------------------------------------------
-// CMSEngineAO::SetObserver
-// ---------------------------------------------------------------------------
-//
-void CMSEngineAO::SetObserver( MMSEngineObserver* aObserver )
-    {
-    LOG( _L("[MediaServant ENG]\t CMSEngineAO::SetObserver") );
-
-    iObserver = aObserver;
-    }
-    
-// End of file