--- 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