diff -r 95243422089a -r 491b3ed49290 filemanager/schbkup/src/filemanagerschbackupmain.cpp --- a/filemanager/schbkup/src/filemanagerschbackupmain.cpp Thu Aug 19 09:42:45 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,127 +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: Launches file manager scheduled backup task -* -*/ - - - -// INCLUDE FILES -#include -#include -#include -#include -#include "FileManagerDebug.h" -#include "filemanagerschbackuptask.h" - - -// CONSTANTS -_LIT_SECURE_ID( KTaskSchedulerSID, 0x10005399 ); - - -// ======== LOCAL FUNCTIONS ======== - -// --------------------------------------------------------------------------- -// StartSchTaskL -// --------------------------------------------------------------------------- -// -LOCAL_C void StartSchTaskL( RFile& aTaskFile ) - { - INFO_LOG( "StartSchTaskL()-Started" ) - - // Create and install the active scheduler we need - CActiveScheduler* scheduler = new ( ELeave ) CActiveScheduler(); - CleanupStack::PushL( scheduler ); - CActiveScheduler::Install( scheduler ); - - // Get scheduled task parameters - CFileStore* store = CDirectFileStore::FromLC( aTaskFile ); - RStoreReadStream instream; - instream.OpenLC( *store, store->Root() ); - - TInt count( instream.ReadInt32L() ); - if ( !count ) - { - User::Leave( KErrNotFound ); - } - - // Create the task to be started - CScheduledTask* task = CScheduledTask::NewLC( instream ); - CFileManagerSchBackupTask* fmTask = - CFileManagerSchBackupTask::NewL( *task ); - CleanupStack::PopAndDestroy( task ); - CleanupStack::PopAndDestroy( &instream ); - CleanupStack::PopAndDestroy( store ); - - // Start scheduler to handle the backup launch. - // This call exists after backup launch has finished. - CActiveScheduler::Start(); - - // Cleanup the task and scheduler - delete fmTask; - CleanupStack::PopAndDestroy( scheduler ); - - INFO_LOG( "StartSchTaskL()-Finished" ) - } - - -// ======== GLOBAL FUNCTIONS ======== - -// --------------------------------------------------------------------------- -// E32Main -// --------------------------------------------------------------------------- -// -GLDEF_C TInt E32Main() - { - __UHEAP_MARK; - - INFO_LOG( "FileManagerSchBackup-E32Main()-Started" ) - - TInt err( KErrPermissionDenied ); - - // Check process creator and start scheduled task - if( User::CreatorSecureId() == KTaskSchedulerSID ) - { - CTrapCleanup* cleanupStack = CTrapCleanup::New(); - if ( cleanupStack ) - { - INFO_LOG( "FileManagerSchBkup-E32Main()-Adopt task file" ) - - RFile file; - err = file.AdoptFromCreator( - TScheduledTaskFile::FsHandleIndex(), - TScheduledTaskFile::FileHandleIndex() ); - if ( err == KErrNone ) - { - TRAP( err, StartSchTaskL( file ) ); - file.Close(); - } - delete cleanupStack; - } - else - { - err = KErrNoMemory; - } - } - - LOG_IF_ERROR1( err, "FileManagerSchBackup-E32Main()-Error=%d", err ) - - INFO_LOG( "FileManagerSchBackup-E32Main()-Finished" ) - - __UHEAP_MARKEND; - - return err; - } - -// End of file