wmdrm/camese/wmdrmdladefaultuiplugin/src/wmdrmdladefaultuiplugin.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:52:27 +0200
changeset 0 95b198f216e5
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* 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:  WMDRM DLA Default UI Plugin
*
*/


#include <wmdrmdlautils.rsg>
#include <wmdrmdlatypes.h>
#include <wmdrmdlacancelobserver.h>
#include "wmdrmdlaui.h"
#include "wmdrmdladefaultuiplugin.h"

#define _LOGGING_FILE L"wmdrmdladefaultuiplugin.txt"
#include "logfn.h"

// ======== LOCAL FUNCTIONS ========

// ======== MEMBER FUNCTIONS ========

// ---------------------------------------------------------------------------
// CWmDrmDlaDefaultUiPlugin::ConstructL
// ---------------------------------------------------------------------------
//
void CWmDrmDlaDefaultUiPlugin::ConstructL()
    {
    LOGFN( "CWmDrmDlaDefaultUiPlugin::ConstructL" );
    }

// ---------------------------------------------------------------------------
// CWmDrmDlaDefaultUiPlugin::CWmDrmDlaDefaultUiPlugin
// ---------------------------------------------------------------------------
//
CWmDrmDlaDefaultUiPlugin::CWmDrmDlaDefaultUiPlugin()
    {
    LOGFN( "CWmDrmDlaDefaultUiPlugin::CWmDrmDlaDefaultUiPlugin" );
    TRAP_IGNORE( iUi = CWmDrmDlaUi::NewL() );
    }

// ---------------------------------------------------------------------------
// CWmDrmDlaDefaultUiPlugin::NewL
// ---------------------------------------------------------------------------
//
CWmDrmDlaDefaultUiPlugin* CWmDrmDlaDefaultUiPlugin::NewL()
    {
    LOGFN( "CWmDrmDlaDefaultUiPlugin::NewL" );
    CWmDrmDlaDefaultUiPlugin* self = new( ELeave ) CWmDrmDlaDefaultUiPlugin;
    CleanupStack::PushL( self );
    self->ConstructL();
    CleanupStack::Pop( self );
    return self;
    }

// ---------------------------------------------------------------------------
// CWmDrmDlaDefaultUiPlugin::~CWmDrmDlaDefaultUiPlugin
// ---------------------------------------------------------------------------
//
CWmDrmDlaDefaultUiPlugin::~CWmDrmDlaDefaultUiPlugin()
    {
    LOGFN( "CWmDrmDlaDefaultUiPlugin::~CWmDrmDlaDefaultUiPlugin" );
    delete iUi;
    }

// ---------------------------------------------------------------------------
// CWmDrmDlaDefaultUiPlugin::SetCancelObserver
// ---------------------------------------------------------------------------
//
void CWmDrmDlaDefaultUiPlugin::SetCancelObserver( 
    MWmDrmDlaCancelObserver* aObserver )
    {
    LOGFN( "CWmDrmDlaDefaultUiPlugin::SetCancelObserver" );
    iObserver = aObserver;
    }

// ---------------------------------------------------------------------------
// CWmDrmDlaDefaultUiPlugin::SetSilent
// ---------------------------------------------------------------------------
//
void CWmDrmDlaDefaultUiPlugin::SetSilent( 
    TBool /*aSilent*/ )
    {
    LOGFN( "CWmDrmDlaDefaultUiPlugin::SetSilent" );
    }

// ---------------------------------------------------------------------------
// CWmDrmDlaDefaultUiPlugin::SetProgress
// ---------------------------------------------------------------------------
//
void CWmDrmDlaDefaultUiPlugin::SetProgress( 
    TInt aState )
    {
    TInt err( KErrNone );
    
    LOGFNR( "CWmDrmDlaDefaultUiPlugin::SetProgress", err );

    switch( aState )
        {
        case EProcessingDRMHeader:
            if ( iUi )
                {
                TRAP( err, 
                    iUi->ShowWaitNoteL( R_WMDRMDLA_WAIT_NOTE_ACQUIRING_LICENSE,
                                        this ) );
                }
            break;

        case EProcessingMeteringChallenge:
            if ( iUi )
                {
                TRAP( err, 
                    iUi->ShowWaitNoteL( R_WMDRMDLA_WAIT_NOTE_METERING, 
                                        this ) );
                }
            break;

        case EIdle:
            if ( iUi )
                {
                iUi->RemoveWaitNote();
                }
            break;

        default:
            break;
        }
    }

// ---------------------------------------------------------------------------
// CWmDrmDlaDefaultUiPlugin::HandleErrorL
// ---------------------------------------------------------------------------
//
void CWmDrmDlaDefaultUiPlugin::HandleErrorL( 
    TInt /*aError*/ )
    {
    LOGFN( "CWmDrmDlaDefaultUiPlugin::HandleErrorL" );
    if ( iUi )
        {
        iUi->RemoveWaitNote();
        }
    User::Leave( KErrNotSupported );
    }

// ---------------------------------------------------------------------------
// CWmDrmDlaDefaultUiPlugin::UserWaitNoteCancellation
// ---------------------------------------------------------------------------
//
void CWmDrmDlaDefaultUiPlugin::UserWaitNoteCancellation()
    {
    LOGFN( "CWmDrmDlaDefaultUiPlugin::UserWaitNoteCancellation" );
    if ( iObserver )
        {
        iObserver->UserCancellation();
        }
    }