omadrm/drmhelper/src/DRMHelperDMgrWrapper.cpp
branchRCL_3
changeset 13 a20e54f39dd4
parent 12 8a03a285ab14
child 14 8cdda00a45da
--- a/omadrm/drmhelper/src/DRMHelperDMgrWrapper.cpp	Mon Mar 15 12:41:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,723 +0,0 @@
-/*
-* Copyright (c) 2006-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:  Dynamically loadable wrapper for Download manager
-*
-*/
-
-#include <centralrepository.h>
-#include <cdblen.h>
-
-#include <cmconnectionmethod.h>
-#include <cmdestination.h>
-#include <cmconnectionmethoddef.h>
-#include <cmmanager.h>
-
-#ifdef __SERIES60_NATIVE_BROWSER
-#include <browseruisdkcrkeys.h>
-#endif
-
-#ifdef RD_MULTIPLE_DRIVE
-#include <driveinfo.h>
-#endif
-
-#include <StringLoader.h>
-#include <data_caging_path_literals.hrh>
-
-#include <ConeResLoader.h>
-#include <apparc.h>
-
-#include <drmhelperdmgrwrapper.rsg>
-
-#include "RoapEng.h"
-#include "RoapSyncWrapper.h"
-#include "RoapDef.h"
-#include "DRMHelperDMgrWrapper.h"
-#include "DRMHelperDMgrWrapperLogger.h"
-
-// DEBUG macros
-#ifdef _DEBUG
-#define DRMDEBUGLIT( a, b ) \
-_LIT( a , b )
-#define DRMDEBUG( a ) \
-RDebug::Print( a )
-#define DRMDEBUG2( a, b ) \
-RDebug::Print( a, b )
-#else
-#define DRMDEBUGLIT( a, b )
-#define DRMDEBUG( a )
-#define DRMDEBUG2( a, b )
-#endif
-
-// CONSTANTS
-#ifndef __SERIES60_NATIVE_BROWSER
-const TUid KCRUidBrowser = {0x10008D39};
-const TUint32 KBrowserDefaultAccessPoint = 0x0000000E;
-const TUint32 KBrowserAccessPointSelectionMode = 0x0000001E;
-#endif
-
-// CONSTANTS
-#ifndef RD_MULTIPLE_DRIVE
-_LIT( KDriveZ, "z:" );
-_LIT( KHelperTriggerFilePath, "d:\\" );
-#endif
-
-_LIT( KCDRMHelperDMgrWrapperResFileName,"DRMHelperDMgrWrapper.rsc" );
-const TInt KProgressInfoFinalValue( 200 );
-const TInt KProgressInfoIncrementSmall( 5 );
-const TInt KProgressInfoIncrementMedium( 10 );
-const TInt KProgressInfoIncrementLarge( 30 );
-
-// ======== LOCAL FUNCTIONS ========
-LOCAL_C void DeleteHttpDowload( TAny* aDownload )
-    {
-    reinterpret_cast< RHttpDownload* >( aDownload )->Delete();
-    }
-
-// ---------------------------------------------------------------------------
-// IapIdOfDefaultSnapL
-// for trapping purposes only
-// ---------------------------------------------------------------------------
-//
-LOCAL_C TUint32 IapIdOfDefaultSnapL(
-    RCmManager& aCmManager,
-    const TUint32 aDefaultSnap )
-    {
-    RCmDestination dest( aCmManager.DestinationL( aDefaultSnap ) );
-    CleanupClosePushL( dest );
-    TUint32 iapIdOfDest( 0 );
-
-    if ( dest.ConnectionMethodCount() <= 0 )
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    RCmConnectionMethod cMeth( dest.ConnectionMethodL( 0 ) );
-    CleanupClosePushL( cMeth );
-
-    iapIdOfDest = cMeth.GetIntAttributeL( CMManager::ECmIapId );
-    CleanupStack::PopAndDestroy( &cMeth );
-    CleanupStack::PopAndDestroy( &dest );
-    return iapIdOfDest;
-    }
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CDRMHelperDMgrWrapper::CDRMHelperDMgrWrapper
-// ---------------------------------------------------------------------------
-//
-CDRMHelperDMgrWrapper::CDRMHelperDMgrWrapper() :
-    iUseCoeEnv( EFalse )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDRMHelperDMgrWrapper::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CDRMHelperDMgrWrapper::ConstructL()
-    {
-    CLOG_WRITE( "DMgrWrapper::ConstructL" );
-    const TInt KDrmHelperDMgrWrapperUid = 0x102823D9;
-    iDlMgr.ConnectL( TUid::Uid(KDrmHelperDMgrWrapperUid), *this, EFalse );
-    iProgressInfo = NULL;
-    iProgressNoteDialog = NULL;
-    iDialogDismissed = ETrue;
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CDRMHelperDMgrWrapper::NewL
-// ---------------------------------------------------------------------------
-//
-CDRMHelperDMgrWrapper* CDRMHelperDMgrWrapper::NewL()
-    {
-    CLOG_WRITE( "DMgrWrapper::NewL" );
-    CDRMHelperDMgrWrapper* self( CDRMHelperDMgrWrapper::NewLC() );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDRMHelperDMgrWrapper::NewLC
-// ---------------------------------------------------------------------------
-//
-CDRMHelperDMgrWrapper* CDRMHelperDMgrWrapper::NewLC()
-    {
-    CLOG_WRITE( "DMgrWrapper::NewLC" );
-    CDRMHelperDMgrWrapper* self( new( ELeave ) CDRMHelperDMgrWrapper() );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDRMHelperDMgrWrapper::~CDRMHelperDMgrWrapper
-// ---------------------------------------------------------------------------
-//
-CDRMHelperDMgrWrapper::~CDRMHelperDMgrWrapper()
-    {
-    CLOG_WRITE( "DMgrWrapper destructor" );
-    if ( iProgressNoteDialog )
-       {
-       // deletes the dialog
-       TRAPD( err, iProgressNoteDialog->ProcessFinishedL() );
-       if ( err )
-           {
-           delete iProgressNoteDialog;
-           }
-       iProgressNoteDialog = NULL;
-       }
-    delete iErrorUrl;
-    delete iPostResponseUrl;
-
-#ifdef _DEBUG
-
-    if ( iDlMgr.Handle() )
-        {
-        iDlMgr.Close();
-        }
-
-#else
-
-    iDlMgr.Close();
-
-#endif
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDRMHelperDMgrWrapper::DownloadAndHandleRoapTriggerL
-// ---------------------------------------------------------------------------
-//
-void CDRMHelperDMgrWrapper::DownloadAndHandleRoapTriggerL( const HBufC8* aUrl )
-    {
-    CLOG_WRITE( "DMgrWrapper::DownloadAndHandleRoapTriggerL" );
-    iUseCoeEnv = EFalse;
-    DoDownloadAndHandleRoapTriggerL( aUrl );
-    HandlePostResponseUrlL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDRMHelperDMgrWrapper::DownloadAndHandleRoapTriggerL
-// ---------------------------------------------------------------------------
-//
-void CDRMHelperDMgrWrapper::DownloadAndHandleRoapTriggerL(
-    const HBufC8* aUrl, CCoeEnv& aCoeEnv )
-    {
-    CLOG_WRITE( "DMgrWrapper::DownloadAndHandleRoapTriggerL" );
-    iCoeEnv = &aCoeEnv;
-    iUseCoeEnv = ETrue;
-    DoDownloadAndHandleRoapTriggerL( aUrl );
-    HandlePostResponseUrlL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDRMHelperDMgrWrapper::HandlePostResponseUrlL
-// ---------------------------------------------------------------------------
-//
-void CDRMHelperDMgrWrapper::HandlePostResponseUrlL()
-    {
-    if ( iPostResponseUrl )
-        {
-        DoDownloadAndHandleRoapTriggerL( iPostResponseUrl );
-        // prevent infinite post response fetches.
-        delete iPostResponseUrl;
-        iPostResponseUrl = NULL;
-
-        // Ensure progress note gets deleted.
-        // It remains open if prUrl initialted ROAP operation has PrUrl
-        // (unsupported chained metering report)
-        RemoveProgressNoteL();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDRMHelperDMgrWrapper::DoDownloadAndHandleRoapTriggerL
-// ---------------------------------------------------------------------------
-//
-void CDRMHelperDMgrWrapper::DoDownloadAndHandleRoapTriggerL(
-    const HBufC8* aUrl )
-    {
-    RFs fs;
-    RFile roapTrigger;
-    HBufC8* triggerBuf( NULL );
-    TBool result( EFalse );
-    TFileName triggerFileName;
-
-    CLOG_WRITE( "DMgrWrapper::DoDownloadAndHandleRoapTriggerL" );
-    User::LeaveIfError( fs.Connect() );
-    CleanupClosePushL( fs );
-    User::LeaveIfError( fs.ShareProtected() );
-
-
-#ifndef RD_MULTIPLE_DRIVE
-
-    User::LeaveIfError( roapTrigger.Temp(
-            fs, KHelperTriggerFilePath, triggerFileName, EFileWrite ) );
-
-#else //RD_MULTIPLE_DRIVE
-
-    _LIT( KDrive, "%c:\\");
-    TInt driveNumber( -1 );
-    TChar driveLetter;
-    DriveInfo::GetDefaultDrive( DriveInfo::EDefaultRam, driveNumber );
-    fs.DriveToChar( driveNumber, driveLetter );
-
-    TFileName helperTriggerFilePath;
-
-    helperTriggerFilePath.Format( KDrive, (TUint)driveLetter );
-
-    User::LeaveIfError( roapTrigger.Temp(
-            fs, helperTriggerFilePath, triggerFileName, EFileWrite ) );
-
-#endif
-
-    TPtrC8 KNullPtr8( NULL, 0 );
-    RHttpDownload* downloadPtr( iDlMgr.FindDownload( *aUrl, KNullPtr8 ) );
-    if ( downloadPtr )
-        {
-        // Stale download found.
-        // Remove it, and re-create a new download.
-        downloadPtr->Delete();
-        downloadPtr = NULL;
-        }
-
-    // create and start download
-    RHttpDownload& download = iDlMgr.CreateDownloadL( *aUrl, result );
-    // Put download for proper cleanup.
-    TCleanupItem item( DeleteHttpDowload, &download );
-    CleanupStack::PushL( item );
-
-    CleanupClosePushL( roapTrigger );
-
-    if ( !iPostResponseUrl )
-        {
-        // No post response retieval. Note must be created.
-        ShowProgressNoteL();
-        }
-
-    if ( result )
-        {
-        const TInt KReadBufSize( 512 );
-        TInt triggerFileSize( 0 );
-
-        CLOG_WRITE(
-            "DMgrWrapper::DoDownloadAndHandleRoapTriggerL: download created" );
-        iDownloadSuccess = EFalse;
-        iConnectionError = EFalse;
-
-        SetDefaultAccessPointL();
-
-        User::LeaveIfError( download.SetFileHandleAttribute( roapTrigger ) );
-        User::LeaveIfError(
-            download.SetBoolAttribute( EDlAttrNoContentTypeCheck, ETrue ) );
-        User::LeaveIfError( download.Start() );
-
-        // wait until download is finished
-        iWait.Start();
-
-        // Check success of download
-        CLOG_WRITE(
-            "DMgrWrapper::DoDownloadAndHandleRoapTriggerL: download finished" );
-
-        CleanupStack::Pop( &roapTrigger );
-        roapTrigger.Close();
-        if ( !iDownloadSuccess )
-            {
-            RemoveProgressNoteL();
-            if ( iConnectionError )
-                {
-                User::Leave( KErrCouldNotConnect );
-                }
-            else
-                {
-                User::Leave( KErrGeneral );
-                }
-            }
-        User::LeaveIfError( roapTrigger.Open( fs,
-                                              triggerFileName,
-                                              EFileShareReadersOrWriters ) );
-        CleanupClosePushL( roapTrigger );
-
-        // Get filehandle of ROAP trigger
-        // Read file to buffer
-        User::LeaveIfError( roapTrigger.Size( triggerFileSize ) );
-        triggerBuf = HBufC8::NewLC( triggerFileSize );
-
-        RBuf8 readBuf;
-        readBuf.CleanupClosePushL();
-        readBuf.CreateL( KReadBufSize );
-
-        User::LeaveIfError( roapTrigger.Read( readBuf, KReadBufSize ) );
-        triggerBuf->Des().Copy( readBuf );
-        while ( readBuf.Length() == KReadBufSize )
-            {
-            User::LeaveIfError( roapTrigger.Read( readBuf, KReadBufSize ) );
-            triggerBuf->Des().Append( readBuf );
-            }
-
-        CleanupStack::PopAndDestroy( &readBuf );
-
-        if ( iUseCoeEnv && iProgressInfo )
-            {
-            iProgressInfo->IncrementAndDraw( KProgressInfoIncrementMedium );
-            }
-
-        // And let ROAP handle it...
-        CRoapSyncWrapper* roapWrapper( CRoapSyncWrapper::NewL() );
-        CleanupStack::PushL( roapWrapper );
-        TRAPD( err, roapWrapper->HandleTriggerL( *triggerBuf ) );
-        if ( err )
-            {
-            TInt errorType( 0 );
-            TRAPD( err2, iErrorUrl =
-                roapWrapper->GetErrorUrlL( err, errorType ) );
-            if ( err2 )
-                {
-                RemoveProgressNoteL();
-                delete iErrorUrl;
-                iErrorUrl = NULL;
-                User::Leave( err2 );
-                }
-            else if ( errorType != KErrRoapTemporary )
-                {
-                RemoveProgressNoteL();
-                delete iErrorUrl;
-                iErrorUrl = NULL;
-                User::Leave( err );
-                }
-            else
-                {
-                RemoveProgressNoteL();
-                User::Leave( err );
-                }
-            }
-        if ( iPostResponseUrl )
-            {
-            delete iPostResponseUrl;
-            iPostResponseUrl = NULL;
-            }
-        iPostResponseUrl = roapWrapper->GetPostResponseUrlL();
-        CleanupStack::PopAndDestroy( 2, triggerBuf );
-
-        if ( iUseCoeEnv && iProgressInfo && !iPostResponseUrl )
-            {
-            // No PrUrl found. Progess is complete.
-            iProgressInfo->SetAndDraw( KProgressInfoFinalValue );
-            }
-        }
-
-    // Trick to keep note open long enough during prUrl retrieval
-    if ( !iPostResponseUrl )
-        {
-        RemoveProgressNoteL();
-        }
-    else
-        {
-        if ( iUseCoeEnv && iProgressInfo )
-            {
-            iProgressInfo->IncrementAndDraw( KProgressInfoIncrementMedium );
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &roapTrigger );
-    CleanupStack::PopAndDestroy( &download );
-
-    fs.Delete(triggerFileName);
-    CleanupStack::PopAndDestroy(&fs);
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDRMHelperDMgrWrapper::SetDefaultAccessPointL
-// ---------------------------------------------------------------------------
-//
-void CDRMHelperDMgrWrapper::SetDefaultAccessPointL()
-    {
-    const TInt KDestinationSelectionMode( 2 );
-    CRepository* repository( NULL );
-    TInt ap( 0 );
-    TInt alwaysAsk( 0 );
-    TUint32 iapd32( 0 );
-    TInt defaultSnap( 0 );
-    TInt err( KErrNone );
-
-    CLOG_WRITE( "DMgrWrapper::SetDefaultAccessPointL" );
-    repository = CRepository::NewL( KCRUidBrowser );
-    CleanupStack::PushL( repository );
-    repository->Get( KBrowserDefaultAccessPoint, ap );
-    repository->Get( KBrowserAccessPointSelectionMode, alwaysAsk );
-    repository->Get( KBrowserNGDefaultSnapId, defaultSnap );
-
-    if ( ap <= KErrNotFound && defaultSnap <= KErrNotFound )
-        {
-        alwaysAsk = ETrue;
-        }
-    else
-        {
-        RCmManager cmManager;
-        cmManager.OpenLC();
-        if ( !alwaysAsk )
-            {
-            TRAP( err, iapd32 = cmManager.GetConnectionMethodInfoIntL(
-                    ap, CMManager::ECmIapId ) );
-            }
-        else if ( alwaysAsk == KDestinationSelectionMode )
-            {
-            TRAP( err, iapd32 =
-                IapIdOfDefaultSnapL( cmManager, defaultSnap ) );
-            }
-        CleanupStack::PopAndDestroy( &cmManager );
-        }
-    if ( !err && ( !alwaysAsk || alwaysAsk == KDestinationSelectionMode ) )
-        {
-        err = iDlMgr.SetIntAttribute( EDlMgrIap, iapd32 );
-        }
-    CleanupStack::PopAndDestroy( repository );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDRMHelperDMgrWrapper::GetErrorUrlL
-// ---------------------------------------------------------------------------
-//
-HBufC8* CDRMHelperDMgrWrapper::GetErrorUrlL()
-    {
-    if( iErrorUrl )
-        {
-        return iErrorUrl->AllocL();
-        }
-    return NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class MHttpDownloadMgrObserver
-// ---------------------------------------------------------------------------
-//
-void CDRMHelperDMgrWrapper::HandleDMgrEventL(
-    RHttpDownload& aDownload,
-    THttpDownloadEvent aEvent )
-    {
-    _LIT8( KDRMHelperMimeTypeROAPTrigger,
-        "application/vnd.oma.drm.roap-trigger+xml" );
-
-    CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL" );
-    CLOG_WRITE_FORMAT( "iDownLoadState = %d", aEvent.iDownloadState );
-    CLOG_WRITE_FORMAT( "iProgressState = %d", aEvent.iProgressState );
-
-    if ( aEvent.iProgressState == EHttpContentTypeReceived )
-        {
-        // check received mimetype
-        RBuf8 contentType;
-        contentType.CleanupClosePushL();
-        contentType.CreateL( KMaxContentTypeLength );
-        User::LeaveIfError(
-            aDownload.GetStringAttribute( EDlAttrContentType, contentType ) );
-        if ( !contentType.FindF( KDRMHelperMimeTypeROAPTrigger ) )
-            {
-            // ROAP trigger found, continue download
-            User::LeaveIfError( aDownload.Start() );
-            }
-        else
-            {
-            // wrong MIME type, so stop download
-            iDownloadSuccess = EFalse;
-            User::LeaveIfError( aDownload.Delete() );
-            }
-        CleanupStack::PopAndDestroy( &contentType );
-        }
-
-    if ( aEvent.iDownloadState == EHttpDlCreated )
-        {
-        CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EHttpDlCreated" );
-        if ( iUseCoeEnv )
-            {
-        iProgressInfo->IncrementAndDraw( KProgressInfoIncrementMedium );
-            }
-        }
-    else if ( aEvent.iProgressState == EHttpProgDisconnected )
-        {
-        CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EHttpProgDisconnected" );
-        // store failure
-        iDownloadSuccess = EFalse;
-        iConnectionError = ETrue;
-        // finished
-        iWait.AsyncStop();
-        }
-    else if ( aEvent.iDownloadState == EHttpDlInprogress )
-        {
-        CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EHttpDlInprogress" );
-        if ( iUseCoeEnv )
-            {
-        iProgressInfo->IncrementAndDraw( KProgressInfoIncrementSmall );
-            }
-        }
-    else if ( aEvent.iDownloadState == EHttpDlCompleted )
-        {
-        // store success
-        CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EHttpDlCompleted" );
-        iDownloadSuccess = ETrue;
-        if ( iUseCoeEnv )
-            {
-        iProgressInfo->IncrementAndDraw( KProgressInfoIncrementLarge );
-            }
-        // finished
-        iWait.AsyncStop();
-        }
-    else if ( aEvent.iDownloadState == EHttpDlFailed )
-        {
-        TInt32 err( KErrNone );
-
-        CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EHttpDlFailed" );
-        // store failure
-        iDownloadSuccess = EFalse;
-        User::LeaveIfError( aDownload.GetIntAttribute( EDlAttrErrorId, err ) );
-        CLOG_WRITE_FORMAT( "EDlAttrErrorId = %d", err );
-
-        if ( err == EConnectionFailed ||
-             err == ETransactionFailed)
-            {
-            CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EConnectionFailed" );
-            iConnectionError = ETrue;
-            }
-
-        // finished
-        iWait.AsyncStop();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDRMHelperDMgrWrapper::ShowProgressNoteL
-// ---------------------------------------------------------------------------
-//
-void CDRMHelperDMgrWrapper::ShowProgressNoteL( )
-    {
-    TFileName resFileName;
-
-    CLOG_WRITE( "DMgrWrapper::ShowProgressNoteL" );
-    if ( iUseCoeEnv )
-        {
-        // Initialize the progress note dialog, it's values,
-        // and execute it
-
-#ifndef RD_MULTIPLE_DRIVE
-
-        resFileName.Copy( KDriveZ );
-
-#else //RD_MULTIPLE_DRIVE
-
-        _LIT( KDrive, "%c:");
-        TInt driveNumber( -1 );
-        TChar driveLetter;
-        DriveInfo::GetDefaultDrive( DriveInfo::EDefaultRom, driveNumber );
-
-        iCoeEnv->FsSession().DriveToChar( driveNumber, driveLetter );
-
-        resFileName.Format( KDrive, (TUint)driveLetter );
-
-#endif
-
-        resFileName.Append( KDC_RESOURCE_FILES_DIR );
-        resFileName.Append( KCDRMHelperDMgrWrapperResFileName );
-        RConeResourceLoader loader( *iCoeEnv );
-        loader.OpenL( resFileName );
-
-        iProgressNoteDialog = new (ELeave) CAknProgressDialog(
-            reinterpret_cast< CEikDialog** >( &iProgressNoteDialog ) );
-        iProgressNoteDialog->PrepareLC( R_SILENT_PROGRESS_NOTE );
-        iProgressNoteDialog->SetCallback( this );
-        iProgressInfo = iProgressNoteDialog->GetProgressInfoL();
-        iProgressInfo->SetFinalValue( KProgressInfoFinalValue );
-        iDialogDismissed = EFalse;
-        iProgressNoteDialog->RunLD();
-
-        loader.Close();
-        }
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDRMHelperDMgrWrapper::RemoveProgressNoteL
-// ---------------------------------------------------------------------------
-//
-void CDRMHelperDMgrWrapper::RemoveProgressNoteL( )
-    {
-
-    if ( iUseCoeEnv )
-        {
-        if (iProgressNoteDialog && !iDialogDismissed)
-            {
-            // deletes the dialog
-            TRAPD(err, iProgressNoteDialog->ProcessFinishedL());
-            if (err != KErrNone)
-                {
-                delete iProgressNoteDialog;
-                }
-            iProgressNoteDialog = NULL;
-            }
-        }
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class MAknProgressDialogCallback
-// ---------------------------------------------------------------------------
-//
-void CDRMHelperDMgrWrapper::DialogDismissedL( TInt /*aButtonId*/ )
-    {
-    iDialogDismissed = ETrue;
-
-    // Already freed, just set to NULL
-    iProgressNoteDialog = NULL;
-    iProgressInfo = NULL;
-
-    if( iWait.IsStarted() )
-        {
-        iWait.AsyncStop();
-        }
-
-    }
-
-
-// ======== GLOBAL FUNCTIONS ========
-
-//------------------------------------------------------------------------------
-// GateFunctionDRM
-// DRM gate function
-//------------------------------------------------------------------------------
-EXPORT_C TAny* GateFunctionDMgr()
-    {
-    CDRMHelperDMgrWrapper* launcher = NULL;
-    TRAPD( err, launcher = CDRMHelperDMgrWrapper::NewL() );
-    if( err != KErrNone )
-        {
-        return NULL;
-        }
-
-    return launcher;
-    }
-