# HG changeset patch # User hgs # Date 1277372398 -10800 # Node ID 69d8e75812b76e674fc830f37825fe2d5706d3cd # Parent c68061d56109561fc025d187e0aaf058af08b6f7 201025_01 diff -r c68061d56109 -r 69d8e75812b7 commondrm/commondrm.pro --- a/commondrm/commondrm.pro Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/commondrm.pro Thu Jun 24 12:39:58 2010 +0300 @@ -18,4 +18,8 @@ SYMBIAN_PLATFORMS = WINSCW ARMV5 -SUBDIRS += drmqtencryptor/qt_drmencryptor.pro \ No newline at end of file +SUBDIRS += drmbrowserlauncher/drmbrowserlauncher.pro +SUBDIRS += drmqtencryptor/qt_drmencryptor.pro +SUBDIRS += drmutility/group/qt/drmutilitydmgrwrapper.pro +SUBDIRS += drmutility/group/qt/drmuihandlingimpl.pro +SUBDIRS += drmui/drmuinotifications/drmuinotifications.pro diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmbrowserlauncher/bwinscw/DRMBrowserLauncheru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmbrowserlauncher/bwinscw/DRMBrowserLauncheru.def Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,5 @@ +EXPORTS + ?LaunchUrlL@CDrmBrowserLauncher@DRM@@QAEXAAVTDesC16@@@Z @ 1 NONAME ; void DRM::CDrmBrowserLauncher::LaunchUrlL(class TDesC16 &) + ?NewLC@CDrmBrowserLauncher@DRM@@SAPAV12@XZ @ 2 NONAME ; class DRM::CDrmBrowserLauncher * DRM::CDrmBrowserLauncher::NewLC(void) + ?NewL@CDrmBrowserLauncher@DRM@@SAPAV12@XZ @ 3 NONAME ; class DRM::CDrmBrowserLauncher * DRM::CDrmBrowserLauncher::NewL(void) + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmbrowserlauncher/drmbrowserlauncher.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmbrowserlauncher/drmbrowserlauncher.pro Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,52 @@ +# +# Copyright (c) 2010 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: +# + + +TEMPLATE = lib +TARGET = drmbrowserlauncher + +symbian: +{ +TARGET.UID1 = 0x1000008D +TARGET.UID3 = 0x200315BC + +TARGET.CAPABILITY = CAP_GENERAL_DLL +TARGET.VID = VID_DEFAULT +TARGET.EPOCALLOWDLLDATA = 1 + +defBlock = \ + "$${LITERAL_HASH}if defined(ARMCC)" \ + "DEFFILE ./eabi/" \ + "$${LITERAL_HASH}elif defined( WINSCW )" \ + "DEFFILE ./bwinscw/" \ + "$${LITERAL_HASH}elif defined( WINS )" \ + "DEFFILE ./bwins/" \ + "$${LITERAL_HASH}else" \ + "DEFFILE ./bmarm/" \ + "$${LITERAL_HASH}endif" + + MMP_RULES += defBlock + + MMP_RULES -= "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl" +} + +DEPENDPATH += . +DEPENDPATH += ./src + +INCLUDEPATH += ../../inc + +SOURCES += drmbrowserlauncher.cpp + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmbrowserlauncher/eabi/DRMBrowserLauncheru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmbrowserlauncher/eabi/DRMBrowserLauncheru.def Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,5 @@ +EXPORTS + _ZN3DRM19CDrmBrowserLauncher10LaunchUrlLER7TDesC16 @ 1 NONAME + _ZN3DRM19CDrmBrowserLauncher4NewLEv @ 2 NONAME + _ZN3DRM19CDrmBrowserLauncher5NewLCEv @ 3 NONAME + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmbrowserlauncher/src/drmbrowserlauncher.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmbrowserlauncher/src/drmbrowserlauncher.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2006-2009 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: DRM Browser Launcher class +* +*/ + + +// INCLUDE FILES +#include "drmbrowserlauncher.h" +#include +#include +#include + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// Default constructor +// ----------------------------------------------------------------------------- +// +DRM::CDrmBrowserLauncher::CDrmBrowserLauncher() + { + } + +// ----------------------------------------------------------------------------- +// Destructor +// ----------------------------------------------------------------------------- +// +DRM::CDrmBrowserLauncher::~CDrmBrowserLauncher() + { + } + +// ----------------------------------------------------------------------------- +// CDrmBrowserLauncher::NewLC +// First phase constructor +// ----------------------------------------------------------------------------- +// +EXPORT_C DRM::CDrmBrowserLauncher* DRM::CDrmBrowserLauncher::NewLC() + { + DRM::CDrmBrowserLauncher* self( new( ELeave ) CDrmBrowserLauncher ); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +// ----------------------------------------------------------------------------- +// CDrmBrowserLauncher::NewL +// First phase constructor +// ----------------------------------------------------------------------------- +// +EXPORT_C DRM::CDrmBrowserLauncher* DRM::CDrmBrowserLauncher::NewL() + { + DRM::CDrmBrowserLauncher* self( NewLC() ); + CleanupStack::Pop(); + return self; + } + +// ----------------------------------------------------------------------------- +// CDrmBrowserLauncher::LaunchUrlL +// Static method for launching the Browser with a given URL. +// ----------------------------------------------------------------------------- +// +EXPORT_C void DRM::CDrmBrowserLauncher::LaunchUrlL(TDesC &aUrl) + { + // convert given URL to QUrl format + QString urlString = QString::fromUtf16(aUrl.Ptr(), aUrl.Length()); + QUrl* url = new QUrl(urlString); + bool ret = QDesktopServices::openUrl(*url); + if(!ret) + { + User::Leave(KErrNotFound); + } + + } + +void DRM::CDrmBrowserLauncher::ConstructL() + { + } + + + +// End of File diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmqtencryptor/drmencryptor.h --- a/commondrm/drmqtencryptor/drmencryptor.h Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmqtencryptor/drmencryptor.h Thu Jun 24 12:39:58 2010 +0300 @@ -60,6 +60,7 @@ void getDRMClock(); void startEncrypt(); void deleteWmDrmDB(); + void launchBrowser(); TUint EncryptL(TUint& aEncryptedCount, TUint& aRightsCount, TUint& aMessagesProcessed); //void onDateTimeChanged(const QDateTime & datetime ); @@ -73,6 +74,7 @@ QAction *iGetDRMClockAct; QAction *iEncryptAct; QAction *iDeleteWMDRMDBAct; + QAction *iLaunchBrowserAct; DateTimeDialog *iDateTimeDialog; QDateTime iDatetime; diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmqtencryptor/drmencyptor.cpp --- a/commondrm/drmqtencryptor/drmencyptor.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmqtencryptor/drmencyptor.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -41,8 +41,11 @@ #include #include #include +#include +//#include #include "drmserviceapi.h" +#include "DRMTypes.h" const TInt KBufferSize = 20000; @@ -74,6 +77,9 @@ iEncryptAct = new QAction(tr("&Encrypt"), this); iEncryptAct->setStatusTip(tr("Encrypt")); + iLaunchBrowserAct = new QAction(tr("&Launch Browser"), this); + iLaunchBrowserAct->setStatusTip(tr("Launch Browser")); + iDeleteWMDRMDBAct = new QAction(tr("&Delete WMDRM DB"), this); iDeleteWMDRMDBAct->setStatusTip(tr("Delete WMDRM Database rights.")); @@ -81,11 +87,13 @@ menuBar()->addAction(iGetDRMClockAct); menuBar()->addAction(iEncryptAct); menuBar()->addAction(iDeleteWMDRMDBAct); + menuBar()->addAction(iLaunchBrowserAct); connect(iSetDRMClockAct, SIGNAL(triggered()), this, SLOT(setDRMClock())); connect(iGetDRMClockAct, SIGNAL(triggered()), this, SLOT(getDRMClock())); connect(iEncryptAct, SIGNAL(triggered()), this, SLOT(startEncrypt())); connect(iDeleteWMDRMDBAct, SIGNAL(triggered()), this, SLOT(deleteWmDrmDB())); + connect(iLaunchBrowserAct, SIGNAL(triggered()), this, SLOT(launchBrowser())); //setDRMClockButton = new QPushButton("Set DRM Clock", this); //connect(setDRMClockButton, SIGNAL(clicked()), this, SLOT(setDRMClock())); @@ -116,17 +124,37 @@ void DRMEncryptor::getDRMClock() { - TTime time; + TTime time; TInt timeZone; TDateTime date; DRMClock::ESecurityLevel level; TInt error( KErrNone ); TBuf< 80 > buf; - DRM::CDrmServiceApi* service = DRM::CDrmServiceApi::NewLC(); + DRM::CDrmServiceApi* service = NULL; + + TRAPD(err, service = DRM::CDrmServiceApi::NewL()); + if(err!=KErrNone) + { + QMessageBox::information(this, tr("DRM Clock"),tr("Error creating CDrmServiceApi.")); + buf.AppendNum(error); + QString string((QChar*)buf.Ptr(),buf.Length()); + QMessageBox::information(this, tr("DRM Clock"),string); + delete service; // service + return; + } + error = service->GetSecureTime( time, timeZone, level ); - - CleanupStack::PopAndDestroy(); // service + if(!error==KErrNone) + { + QMessageBox::information(this, tr("DRM Clock"),tr("Error getting secure time.")); + + buf.AppendNum(error); + QString string((QChar*)buf.Ptr(),buf.Length()); + QMessageBox::information(this, tr("DRM Clock"),string); + delete service; + return; + } date = time.DateTime(); @@ -164,7 +192,6 @@ drmClockTime->setWindowTitle(tr("DRM Clock")); drmClockTime->setText(datetimeString); - layout->addWidget(drmClockTime); drmClockTime->show(); @@ -581,6 +608,38 @@ QMessageBox::information(this, tr("WMDRM DB"),tr("Error deleting WMDRM rights.")); } } + +void DRMEncryptor::launchBrowser() + { + /*_LIT( KTestDrmFile, "c:\\data\\others\\sd_water003.dcf" ); + TInt urlLength = 256; + TFileName fileName(KTestDrmFile); + RFile file; + RFs fs; + + User::LeaveIfError(fs.Connect()); + TInt result = 0; + + result = file.Open(fs, fileName, EFileRead | EFileShareReadersOrWriters); + + CData* content = CData::NewLC( file, KDefaultContentObject, EPeek ); + + HBufC* rightsIssuerBuf = HBufC::NewLC( urlLength ); // Content issuer max URL length + TPtr rightsIssuer(const_cast(rightsIssuerBuf->Ptr()), 0, urlLength); + + // Get value of rights-issuer header field + TInt error = content->GetStringAttribute( ERightsIssuerUrl, rightsIssuer ); + rightsIssuer.TrimAll(); + + rightsIssuer.Insert(0, _L("http://")); + + HBufC* finalUrl = rightsIssuer.AllocLC(); + + DRM::CDrmBrowserLauncher::LaunchUrlL(*finalUrl); + + CleanupStack::PopAndDestroy(3); // finalUrl, rightsIssuerBuf, content;*/ + } + /* void DRMEncryptorsetDRMClock() { @@ -646,7 +705,6 @@ okButton->show(); cancelButton->show(); this->show(); - this->raise(); } DateTimeDialog::~DateTimeDialog() @@ -656,7 +714,19 @@ void DateTimeDialog::setDRMClock() { - DRM::CDrmServiceApi* service = DRM::CDrmServiceApi::NewLC(); + DRM::CDrmServiceApi* service = NULL; + TBuf<5> buf; + TRAPD(err, service = DRM::CDrmServiceApi::NewL()); + if(err!=KErrNone) + { + QMessageBox::information(this, tr("DRM Clock"),tr("Error creating CDrmServiceApi.")); + buf.AppendNum(err); + QString string((QChar*)buf.Ptr(),buf.Length()); + QMessageBox::information(this, tr("DRM Clock"),string); + delete service; // service + return; + } + QString datetimeString = iDateEdit->dateTime().toString("yyyy.mm.dd hh.mm.ss"); // datetime in format YYYYMMDD:HHMMSS for TTime @@ -665,10 +735,24 @@ datetimeString.append(".000000"); TPtrC datetimePtr(reinterpret_cast(datetimeString.constData())); - HBufC *datetimeBuf = datetimePtr.AllocLC(); + HBufC *datetimeBuf = NULL; + TBuf<5> errorBuf; + TRAPD(errorCode, datetimeBuf = datetimePtr.AllocL()); + if(errorCode!=KErrNone) + { + QMessageBox::information(this, tr("DRM Clock"),tr("Error in datetimePtr.AllocL.")); + errorBuf.AppendNum(errorCode); + QString string((QChar*)buf.Ptr(),buf.Length()); + QMessageBox::information(this, tr("DRM Clock"),string); + delete service; + delete datetimeBuf; + return; + } + TTime inputTime(*datetimeBuf); TInt timezone = 0; + delete datetimeBuf; // Get secure time from service api to get timezone DRMClock::ESecurityLevel level; @@ -689,20 +773,8 @@ return; } - CleanupStack::PopAndDestroy(2); // datetimeBuf, service - QMessageBox::information(this, tr("DRM Clock"),tr("DRM Clock Set")); + delete service; - /* - QGridLayout *layout = new QGridLayout; - layout->setAlignment(Qt::AlignTop); - QLabel *secureTimeSetComplete = new QLabel("DRM Clock Set"); - layout->addWidget(secureTimeSetComplete); - QPushButton *button = new QPushButton("Ok"); - layout->addWidget(button); - button->show(); - secureTimeSetComplete->show(); - connect(button, SIGNAL(clicked()), this, SLOT(close())); - */ - + QMessageBox::information(this, tr("DRM Clock"),tr("DRM Clock Set")); } diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmqtencryptor/qt_drmencryptor.pro --- a/commondrm/drmqtencryptor/qt_drmencryptor.pro Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmqtencryptor/qt_drmencryptor.pro Thu Jun 24 12:39:58 2010 +0300 @@ -1,14 +1,33 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Mon 7. Jun 08:20:39 2010 -###################################################################### +# +# Copyright (c) 2003-2009 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: DRM Encryption tool project file. +# +# TEMPLATE = app TARGET = drmencryptor DEPENDPATH += . -INCLUDEPATH += . +INCLUDEPATH += . +INCLUDEPATH += ../../inc + +symbian: +{ +TARGET.CAPABILITY += DRM +} # Input HEADERS += drmencryptor.h FORMS += drmencryptor.ui SOURCES += drmencyptor.cpp main.cpp -LIBS += -lplatformenv -ldrmserviceapi -ldcfrep -ldrmparsers -lfbscli -lcone -lestor -lcaf \ No newline at end of file +LIBS += -lplatformenv -ldrmserviceapi -ldcfrep -ldrmparsers -lfbscli -lcone -lestor -lcaf -lefsrv diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmrightsmanagerui/group/DRMRightsManager.mmp --- a/commondrm/drmrightsmanagerui/group/DRMRightsManager.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmrightsmanagerui/group/DRMRightsManager.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -59,7 +59,6 @@ LIBRARY aknskins.lib commonui.lib servicehandler.lib LIBRARY dcfrep.lib caf.lib cafutils.lib LIBRARY ecom.lib -LIBRARY commondialogs.lib LIBRARY directorylocalizer.lib LIBRARY drmparsers.lib diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmrightsmanagerui/loc/DRMRightsManager.loc --- a/commondrm/drmrightsmanagerui/loc/DRMRightsManager.loc Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmrightsmanagerui/loc/DRMRightsManager.loc Thu Jun 24 12:39:58 2010 +0300 @@ -1260,4 +1260,4 @@ //w: //r:9.1 // -#define qtn_drm_mgr_det_ex_unlimited "Unlimited" \ No newline at end of file +#define qtn_drm_mgr_det_ex_unlimited "Unlimited" diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmrightsmanagerui/src/DRMRightsMgrAppUi.cpp --- a/commondrm/drmrightsmanagerui/src/DRMRightsMgrAppUi.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmrightsmanagerui/src/DRMRightsMgrAppUi.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -33,6 +33,8 @@ #include // for resource reader #include #include +#include + #include @@ -241,7 +243,8 @@ // void CDRMRightsMgrAppUi::HandleCommandL( TInt aCommand ) { - + CEikAppServer* server = iEikonEnv->AppServer(); + switch ( aCommand ) { case EEikCmdExit: @@ -250,6 +253,17 @@ Exit(); break; } + case EAknSoftkeyClose: + { + + if (server) + { + server->NotifyServerExit(EAknSoftkeyClose); + } + + Exit(); + break; + } default: break; } @@ -1082,7 +1096,7 @@ if ( i == 0 ) { // No need to check if the parent UID is a duplicate - parentUidList.Append( permissionList[i]->iParentUID ); + parentUidList.AppendL ( permissionList[i]->iParentUID ); } else { @@ -1118,7 +1132,7 @@ for ( k = 0; k < permissionTempList.Count(); k++ ) { // Store the pointer to the main list of permissions - permissionList.Append( permissionTempList[k] ); + permissionList.AppendL ( permissionTempList[k] ); } // Close the temporary pointer array so that the referenced diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmrightsmanagerui/src/DRMRightsMgrDetailsView.cpp --- a/commondrm/drmrightsmanagerui/src/DRMRightsMgrDetailsView.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmrightsmanagerui/src/DRMRightsMgrDetailsView.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -184,7 +184,7 @@ if ( aCommand == EAknSoftkeyOk ) { - appUi.HandleCommandL( EEikCmdExit ); // Ok softkey was pressed + appUi.HandleCommandL( EAknSoftkeyClose ); // Ok softkey was pressed } else { diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuidialogs/bwinscw/drmuidialogsu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuidialogs/bwinscw/drmuidialogsu.def Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,5 @@ +EXPORTS + ?NewL@CDrmUIDialogs@@SAPAV1@XZ @ 1 NONAME ; class CDrmUIDialogs * CDrmUIDialogs::NewL(void) + ?ShowNoteL@CDrmUIDialogs@@QAEHHABVTDesC16@@H@Z @ 2 NONAME ; int CDrmUIDialogs::ShowNoteL(int, class TDesC16 const &, int) + ?NewLC@CDrmUIDialogs@@SAPAV1@XZ @ 3 NONAME ; class CDrmUIDialogs * CDrmUIDialogs::NewLC(void) + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuidialogs/eabi/drmuidialogsu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuidialogs/eabi/drmuidialogsu.def Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,5 @@ +EXPORTS + _ZN13CDrmUIDialogs4NewLEv @ 1 NONAME + _ZN13CDrmUIDialogs5NewLCEv @ 2 NONAME + _ZN13CDrmUIDialogs9ShowNoteLEiRK7TDesC16i @ 3 NONAME + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuidialogs/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuidialogs/group/bld.inf Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2010 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: Build information for DRM UI dialogs +* +* +*/ + +#include + +PRJ_PLATFORMS +default + +PRJ_EXPORTS +//drmuidialogs iby files +../rom/drmuidialogs.iby CORE_MW_LAYER_IBY_EXPORT_PATH(drmuidialogs.iby) + +PRJ_MMPFILES +../group/drmuidialogs.mmp diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuidialogs/group/drmuidialogs.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuidialogs/group/drmuidialogs.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,49 @@ +/* +* Copyright (c) 2010 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: Project definition file for DRM UI dialogs +* +*/ + +#include +#include + + +TARGET drmuidialogs.dll +TARGETTYPE dll +UID 0x1000008D 0x20026836 + +CAPABILITY CAP_GENERAL_DLL +VENDORID VID_DEFAULT + +USERINCLUDE ../inc +USERINCLUDE ../../../../inc // ADo level inc dir + +// Default system include paths for middleware layer modules. +MW_LAYER_SYSTEMINCLUDE + +#ifdef __DRM +SOURCE ../src/drmuidialogs.cpp +#endif + +LIBRARY euser.lib +LIBRARY sysutil.lib +LIBRARY HbCore.lib + +#if defined(ARMCC) +deffile ../eabi/ +#elif defined( WINSCW ) +deffile ../bwinscw/ +#endif + +// end of file \ No newline at end of file diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuidialogs/inc/drmuidialogs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuidialogs/inc/drmuidialogs.h Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,96 @@ +/* +* Copyright (c) 2010 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: CDrmUIDialogs API can be used to show UI dialogs via +* notification dialog plugin. +*/ + + +#ifndef C_DRMUIDIALOGS_H +#define C_DRMUIDIALOGS_H + +#include // CActive +#include // MHbDeviceDialogObserver + +class CHbSymbianVariantMap; +class CActiveSchedulerWait; + +/** + * CDrmUIDialogs manages and controls DRM UI notes and queries. + * An Orbit device dialog plugin implements the UI dialogs. + * + * @dll drmuidialogs.dll + * @since 10.1 + */ +NONSHARABLE_CLASS( CDrmUIDialogs ) : public CActive, + public MHbDeviceDialogObserver + { + public: // constructor and destructor + /** + * Creates new CDrmUIDialogs object and pushes it into cleanup stack. + * @returns CDrmUIDialogs* -- new CDrmUIDialogs object + */ + IMPORT_C static CDrmUIDialogs* NewLC(); + + /** + * Creates new CDrmUIDialogs object. + * @returns CDrmUIDialogs* -- new CDrmUIDialogs object + */ + IMPORT_C static CDrmUIDialogs* NewL(); + + /** + * Destructor. + */ + CDrmUIDialogs::~CDrmUIDialogs(); + + public: + /** + * Displays a note or query dialog synchronously. Synchronous function. + * Returns after the user has accepted or cancelled the query. + * @param aDialogId dialog id of dialog to be displayed + * @param aString string that replaces %U in resource string + * @param aValue integer that replaces %N in resource string + * @return EOk if user accepted the query, ECancelled otherwise + */ + IMPORT_C TInt ShowNoteL( TInt aDialogId, + const TDesC& aString = KNullDesC, + TInt aValue = -1 ); + + protected: // from CActive + void DoCancel(); + void RunL(); + + private: // from MHbDeviceDialogObserver + void DataReceived( CHbSymbianVariantMap& aData ); + void DeviceDialogClosed( TInt aCompletionCode ); + + private: + CDrmUIDialogs(); + void ConstructL(); + void ClearParamsL(); + void ClearParamsAndSetDialogIdL( TInt aDialogId ); + void AddParamL( const TDesC& aKey, TInt aValue ); + void AddParamL( const TDesC& aKey, const TDesC& aValue ); + void DisplayDeviceDialogL(); + TInt WaitUntilDeviceDialogClosed(); + + private: // data + CHbDeviceDialogSymbian* iDeviceDialog; // own + CHbSymbianVariantMap* iVariantMap; // own + CActiveSchedulerWait* iWait; // own + TBool iIsDisplayingDialog; + TInt iCompletionCode; + TInt iReturnValue; + }; + +#endif // C_DRMUIDIALOGS_H diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuidialogs/rom/drmuidialogs.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuidialogs/rom/drmuidialogs.iby Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,25 @@ +/* +* Copyright (c) 2010 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: +* +*/ + +#ifndef __DRMUIDIALOGS_IBY__ +#define __DRMUIDIALOGS_IBY__ + +#include + +file=ABI_DIR\BUILD_DIR\drmuidialogs.dll SHARED_LIB_DIR\drmuidialogs.dll + +#endif//__DRMUIDIALOGS_IBY__ diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuidialogs/src/drmuidialogs.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuidialogs/src/drmuidialogs.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,255 @@ +/* +* Copyright (c) 2010 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: Implementation of CDrmUIDialogs class. +* +*/ + +#include "drmuidialogs.h" // CDrmUIDialogs +#include // CHbSymbianVariantMap + +// Identifier of DRM UI device notification dialog plugin +_LIT( KDrmUIDeviceDialogPlugin, "com.nokia.hb.drmuidialog/1.0" ); + +// Keys for the parameters passed to notification dialog plugin +_LIT( KDrmUIDialogId, "dialogId" ); +_LIT( KDrmUIInsertText, "insertText" ); +_LIT( KDrmUIInsertInt, "insertInt" ); + +// Keys name for result sent from notification dialog plugin +_LIT( KDrmUIDialogResult, "result"); + + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::NewLC() +// --------------------------------------------------------------------------- +// +EXPORT_C CDrmUIDialogs* CDrmUIDialogs::NewLC() + { + CDrmUIDialogs* self = new( ELeave ) CDrmUIDialogs(); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::NewL() +// --------------------------------------------------------------------------- +// +EXPORT_C CDrmUIDialogs* CDrmUIDialogs::NewL() + { + CDrmUIDialogs* self = CDrmUIDialogs::NewLC(); + CleanupStack::Pop( self ); + return self; + } + + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::~CDrmUIDialogs() +// --------------------------------------------------------------------------- +// +CDrmUIDialogs::~CDrmUIDialogs() + { + Cancel(); + delete iWait; + delete iDeviceDialog; + delete iVariantMap; + } + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::ShowNoteL() +// --------------------------------------------------------------------------- +EXPORT_C TInt CDrmUIDialogs::ShowNoteL( TInt aDialogId, const TDesC& aString, TInt aValue ) + { + // Add the dialog id to the variant map + AddParamL( KDrmUIDialogId, aDialogId ); + + // Add the string to the variant map if it exists + if ( aString.Compare( KNullDesC ) ) + { + AddParamL( KDrmUIInsertText, aString ); + } + + // Add the int to the variant map + if ( aValue >= 0 ) + { + AddParamL( KDrmUIInsertInt, aValue ); + } + + DisplayDeviceDialogL(); + + TInt error = WaitUntilDeviceDialogClosed(); + User::LeaveIfError( error ); + + return iReturnValue; + } + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::DoCancel() +// --------------------------------------------------------------------------- +// +void CDrmUIDialogs::DoCancel() + { + if( iWait && iWait->IsStarted() && iWait->CanStopNow() ) + { + iCompletionCode = KErrCancel; + iWait->AsyncStop(); + } + } + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::RunL() +// --------------------------------------------------------------------------- +// +void CDrmUIDialogs::RunL() + { + if( iWait ) + { + iWait->AsyncStop(); + } + } + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::DataReceived() +// --------------------------------------------------------------------------- +// +void CDrmUIDialogs::DataReceived( CHbSymbianVariantMap& aData ) + { + const CHbSymbianVariant* resultVariant = aData.Get( KDrmUIDialogResult ); + + if( resultVariant ) + { + TInt* result = resultVariant->Value(); + + if( result ) + { + iReturnValue = *result; + } + } + } + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::DeviceDialogClosed() +// --------------------------------------------------------------------------- +// +void CDrmUIDialogs::DeviceDialogClosed( TInt aCompletionCode ) + { + iCompletionCode = aCompletionCode; + iIsDisplayingDialog = EFalse; + + TRequestStatus* status( &iStatus ); + User::RequestComplete( status, KErrNone ); + } + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::CDrmUIDialogs() +// --------------------------------------------------------------------------- +// +CDrmUIDialogs::CDrmUIDialogs() : CActive( CActive::EPriorityStandard ) + { + CActiveScheduler::Add( this ); + } + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::ConstructL() +// --------------------------------------------------------------------------- +// +void CDrmUIDialogs::ConstructL() + { + iReturnValue = KErrNone; + iWait = new( ELeave ) CActiveSchedulerWait; + iDeviceDialog = CHbDeviceDialogSymbian::NewL(); + iVariantMap = CHbSymbianVariantMap::NewL(); + } + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::ClearParamsL() +// --------------------------------------------------------------------------- +// +void CDrmUIDialogs::ClearParamsL() + { + if( iVariantMap ) + { + delete iVariantMap; + iVariantMap = NULL; + } + iVariantMap = CHbSymbianVariantMap::NewL(); + } + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::ClearParamsAndSetDialogIdL() +// --------------------------------------------------------------------------- +// +void CDrmUIDialogs::ClearParamsAndSetDialogIdL( TInt aDialogId ) + { + ClearParamsL(); + AddParamL( KDrmUIDialogId, aDialogId ); + } + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::AddParamL() +// --------------------------------------------------------------------------- +// +void CDrmUIDialogs::AddParamL( const TDesC& aKey, TInt aValue ) + { + CHbSymbianVariant* variant = NULL; + variant = CHbSymbianVariant::NewL( &aValue, CHbSymbianVariant::EInt ); + iVariantMap->Add( aKey, variant ); // Takes ownership of variant + } + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::AddParamL() +// --------------------------------------------------------------------------- +// +void CDrmUIDialogs::AddParamL( const TDesC& aKey, const TDesC& aValue ) + { + CHbSymbianVariant* variant = NULL; + variant = CHbSymbianVariant::NewL( &aValue, CHbSymbianVariant::EDes ); + iVariantMap->Add( aKey, variant ); // Takes ownership of variant + } + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::DisplayDeviceDialogL() +// --------------------------------------------------------------------------- +// +void CDrmUIDialogs::DisplayDeviceDialogL() + { + if( iIsDisplayingDialog ) + { + iDeviceDialog->Update( *iVariantMap ); + } + else + { + iDeviceDialog->Show( KDrmUIDeviceDialogPlugin, *iVariantMap, this ); + iIsDisplayingDialog = ETrue; + } + } + +// --------------------------------------------------------------------------- +// CDrmUIDialogs::WaitUntilDeviceDialogClosed() +// --------------------------------------------------------------------------- +// +TInt CDrmUIDialogs::WaitUntilDeviceDialogClosed() + { + iCompletionCode = KErrInUse; + + if( !IsActive() && iWait && !iWait->IsStarted() ) + { + iStatus = KRequestPending; + SetActive(); + iWait->Start(); + } + return iCompletionCode; + } diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/DRMUINotifications.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/DRMUINotifications.rss Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,21 @@ +// ============================================================================ +// * Generated by qmake (2.01a) (Qt 4.6.3) on: 2010-05-24T18:48:20 +// * This file is generated by qmake and should not be modified by the +// * user. +// ============================================================================ + +#include +#include + +RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info + { + short_caption = STRING_r_short_caption; + caption_and_icon = + CAPTION_AND_ICON_INFO + { + caption = STRING_r_caption; + number_of_icons = 0; + icon_file = ""; + }; + } + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/drmuinotifications.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/drmuinotifications.pro Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,41 @@ +TEMPLATE = lib +TARGET = drmuinotifications +CONFIG += hb \ + plugin +INCLUDEPATH += . \ + ../../../inc +DEPENDPATH += . +DESTDIR = $${HB_BUILD_DIR}/plugins/devicedialogs +MOC_DIR = moc +OBJECTS_DIR = obj + +# dependencies +HEADERS += inc/drmuidialogsbuilder.h \ + inc/drmuidialogpluginkeys.h \ + inc/drmuidialogplugin.h +SOURCES += src/drmuidialogsbuilder.cpp \ + src/drmuidialogplugin.cpp \ + DRMUINotifications_reg.rss +FORMS += +symbian:TARGET.UID3 = 0x20026835 +RESOURCES += resource/drmuinotifications.qrc +symbian: { + SYMBIAN_PLATFORMS = WINSCW \ + ARMV5 + TARGET.EPOCALLOWDLLDATA = 1 + TARGET.CAPABILITY = CAP_GENERAL_DLL + TARGET.UID3 = 20026835 + hblib.sources = Hb.dll + hblib.path = \sys\bin + hblib.depends = "(0xEEF9EA38), 1, 0, 0, {\"Hb\"}" + pluginstub.sources = drmuinotifications.dll + pluginstub.path = /resource/plugins/devicedialogs + DEPLOYMENT += pluginstub +} +!local { + target.path = $${HB_PLUGINS_DIR}/devicedialogs + INSTALLS += target +} +BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include " \ + "rom/drmuinotifications.iby CORE_MW_LAYER_IBY_EXPORT_PATH(drmuinotifications.iby)" \ + "qmakepluginstubs/drmuinotifications.qtplugin /epoc32/data/z/pluginstub/drmuinotifications.qtplugin" diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/inc/drmuidialogplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/inc/drmuidialogplugin.h Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2010 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: Plugin error constants + * + */ + +#ifndef DRMUIDIALOGPLUGIN_H +#define DRMUIDIALOGPLUGIN_H + +#include +#include + +#include + + +class DrmUIDialogPlugin : public HbDeviceDialogPlugin + + { +Q_OBJECT + +public: + + DrmUIDialogPlugin(); + ~DrmUIDialogPlugin(); + + // from base HbDeviceDialogPluginInterface + virtual HbDeviceDialogInterface *createDeviceDialog( + const QString &deviceDialogType, const QVariantMap ¶meters); + + // from base HbDeviceDialogPlugin + virtual bool + accessAllowed(const QString &deviceDialogType, + const QVariantMap ¶meters, + const QVariantMap &securityInfo) const; + virtual bool deviceDialogInfo(const QString &deviceDialogType, + const QVariantMap ¶meters, DeviceDialogInfo *info) const; + virtual QStringList deviceDialogTypes() const; + virtual PluginFlags pluginFlags() const; + virtual int error() const; + +private: + Q_DISABLE_COPY(DrmUIDialogPlugin) + + }; + +#endif diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/inc/drmuidialogpluginkeys.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/inc/drmuidialogpluginkeys.h Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,33 @@ +/* +* Copyright (c) 2010 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: DrmUi notification keys. +* +*/ + +#ifndef DRMUIPLUGINKEYS_H +#define DRMUIPLUGINKEYS_H + +#include + + +// Keys for the parameters passed to notification framework plugin +const QString KDrmUIDialogId("dialogId"); +const QString KDrmUIInsertText("insertText"); +const QString KDrmUIInsertInt("insertInt"); +// Keys name for result sent from notification dialog plugin +const QString KDrmUIDialogResult("result"); + + +#endif // DRMUIPLUGINKEYS_H diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/inc/drmuidialogsbuilder.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/inc/drmuidialogsbuilder.h Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2010 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: + * + */ + +#ifndef DRUMUIDIALOGSBUILDER_H +#define DRUMUIDIALOGSBUILDER_H + +#include +#include +#include + +class HbDocumentLoader; +class HbDialog; + +class DrmUiDialogsBuilder : public QObject, public HbDeviceDialogInterface + { +Q_OBJECT +public: + DrmUiDialogsBuilder(const QVariantMap ¶meters); + ~DrmUiDialogsBuilder(); + +public: + // from HbDeviceDialogInterface + virtual bool setDeviceDialogParameters(const QVariantMap ¶meters); + virtual int deviceDialogError() const; + virtual void closeDeviceDialog(bool byClient); + virtual HbPopup *deviceDialogWidget() const; + virtual QObject *signalSender() const; + + +public slots: + void cancelDialog(); + void confirmDialog(); + +private: + bool constructDialog(const QVariantMap ¶meters); + +signals: + // signlas needed by HbDeviceDialogInterface + void deviceDialogClosed(); + void deviceDialogData(QVariantMap data); + +private: + HbDocumentLoader *mLoader; + HbDialog * mDialog; + + Q_DISABLE_COPY(DrmUiDialogsBuilder) + }; + +#endif /* DRUMUIDIALOGSBUILDER_H */ diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/Registeringprog.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/Registeringprog.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/accountupdatequery.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/accountupdatequery.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/acquiringlicenceprog.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/acquiringlicenceprog.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/copyobjectsquery.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/copyobjectsquery.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/deletedrmfilequery.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/deletedrmfilequery.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/deregisteredconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/deregisteredconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/deregisteringprog.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/deregisteringprog.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/drmuinotifications.qrc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/drmuinotifications.qrc Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,154 @@ + + + + norightsobjectquery.docml + + + + rightsobjectexpiredquery.docml + + + + simnotallowedquery.docml + + + + waitingforrightsobjconf.docml + + + + copyobjectsquery.docml + + + + filedeletedconf.docml + + + + deletedrmfilequery.docml + + + + moveobjectsquery.docml + + + + nocountquery.docml + + + + nousagequery.docml + + + + objectlockedconf.docml + + + + unabletocopyconf.docml + + + + unabletomoveconf.docml + + + + unsupportedconf.docml + + + + noconnectiondefinednote.docml + + + + invalidornoapnote.docml + + + + openingfailpermnote.docml + + + + deregisteredconf.docml + + + + forwardprotectedconf.docml + + + + licenceexpiredconf.docml + + + + notrecognizedconf.docml + + + + registeredconf.docml + + + + registerfailureconf.docml + + + + unabletoderegisterconf.docml + + + + unabletosendconf.docml + + + + updatedconf.docml + + + + updatefailureconf.docml + + + + viewrestrictionconf.docml + + + + accountupdatequery.docml + + + + getnewlicencequery.docml + + + + retryforlicencequery.docml + + + + unabletosendquery.docml + + + + rightsobjectsrecievednote.docml + + + + waitingforlicenceconf.docml + + + + acquiringlicenceprog.docml + + + + deregisteringprog.docml + + + + Registeringprog.docml + + + + updatingprog.docml + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/filedeletedconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/filedeletedconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/forwardprotectedconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/forwardprotectedconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/getnewlicencequery.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/getnewlicencequery.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/infoexpiredornoronote.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/infoexpiredornoronote.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/invalidornoapnote.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/invalidornoapnote.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/licenceexpiredconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/licenceexpiredconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/moveobjectsquery.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/moveobjectsquery.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/noconnectiondefinednote.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/noconnectiondefinednote.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/nocountquery.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/nocountquery.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/norightsobjectquery.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/norightsobjectquery.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/notrecognizedconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/notrecognizedconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/nousagequery.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/nousagequery.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/objectlockedconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/objectlockedconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/openingfailpermnote.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/openingfailpermnote.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/registeredconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/registeredconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/registerfailureconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/registerfailureconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/retryforlicencequery.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/retryforlicencequery.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/rightsobjectexpiredquery.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/rightsobjectexpiredquery.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/rightsobjectsrecievednote.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/rightsobjectsrecievednote.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/simnotallowedquery.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/simnotallowedquery.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/unabletocopyconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/unabletocopyconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/unabletoderegisterconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/unabletoderegisterconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/unabletomoveconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/unabletomoveconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/unabletosendconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/unabletosendconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/unabletosendquery.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/unabletosendquery.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/unsupportedconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/unsupportedconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/updatedconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/updatedconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/updatefailureconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/updatefailureconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/updatingprog.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/updatingprog.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/viewrestrictionconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/viewrestrictionconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/waitingforlicenceconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/waitingforlicenceconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/resource/waitingforrightsobjconf.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/resource/waitingforrightsobjconf.docml Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/rom/drmuinotifications.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/rom/drmuinotifications.iby Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,28 @@ +/* +* Copyright (c) 2003-2010 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: Image description file for project +* +*/ + + +#ifndef DRMUINOTIFICATIONS_IBY +#define DRMUINOTIFICATIONS_IBY + +#include + +file=ABI_DIR/BUILD_DIR/drmuinotifications.dll SHARED_LIB_DIR/drmuinotifications.dll +data=/epoc32/data/z/pluginstub/drmuinotifications.qtplugin resource/plugins/devicedialogs/drmuinotifications.qtplugin + + +#endif // drmuinotifications_IBY \ No newline at end of file diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/src/drmuidialogplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/src/drmuidialogplugin.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2010 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: DrmUIDialogPlugin class implementation. + * + */ + +#include "DrmUIDialogPlugin.h" +#include +#include +#include "drmuidialogsbuilder.h" +#include "drmuidialogpluginkeys.h" + +Q_EXPORT_PLUGIN2(DrmUIDialogPlugin, DrmUIDialogPlugin) + +const int NmMaxDialogCount = 10; +static const QString drmUiDialog = "com.nokia.hb.drmuidialog/1.0"; + +/*! + DrmUIDialogPlugin Constructor + */ +DrmUIDialogPlugin::DrmUIDialogPlugin() + { + + } + +/*! + Destructor + */ +DrmUIDialogPlugin::~DrmUIDialogPlugin() + { + + } + +/*! + Check if client is allowed to use device dialog widget + */ +bool DrmUIDialogPlugin::accessAllowed(const QString &deviceDialogType, + const QVariantMap ¶meters, const QVariantMap &securityInfo) const + { + Q_UNUSED (deviceDialogType) + Q_UNUSED(parameters) + Q_UNUSED(securityInfo) + + // This plugin doesn't perform operations that may compromise security. + // All clients are allowed to use. + return true; + } + +/*! + From interface class. + Use the dialog type in the parameter to create widget. + */ +HbDeviceDialogInterface *DrmUIDialogPlugin::createDeviceDialog( + const QString &deviceDialogType, const QVariantMap ¶meters) + { + Q_UNUSED(deviceDialogType) + return new DrmUiDialogsBuilder(parameters); + } + +/*! + Return information of device dialog the plugin creates + Currently only supporting 1 device dialog type, so no need to check the type. + */ +bool DrmUIDialogPlugin::deviceDialogInfo(const QString &deviceDialogType, + const QVariantMap ¶meters, DeviceDialogInfo *info) const + { + Q_UNUSED(parameters) + Q_UNUSED(deviceDialogType) + // set return values + info->group = GenericDeviceDialogGroup; + info->flags = NoDeviceDialogFlags; + info->priority = DefaultPriority; + return true; + } + +/*! + Return device dialog types this plugin implements + Function will work fine (unchanged) when new dialogs are added. + */ +QStringList DrmUIDialogPlugin::deviceDialogTypes() const + { + QStringList types; + types.append(drmUiDialog); + return types; + + } + +/*! + Return plugin flags + */ +HbDeviceDialogPlugin::PluginFlags DrmUIDialogPlugin::pluginFlags() const + { + return NoPluginFlags; + } + +/*! + Return last error + */ +int DrmUIDialogPlugin::error() const + { + return 0; + } + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/drmuinotifications/src/drmuidialogsbuilder.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/drmuinotifications/src/drmuidialogsbuilder.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,439 @@ +/* + * Copyright (c) 2010 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: + * + */ +#include "drmuidialogsbuilder.h" +#include +#include "drmuidialogpluginkeys.h" +#include +#include +#include +#include +#include +#include + +static const QString DOCML_NO_RIGHTS_OBJECT_DIALOG_QUERY = + ":/xml/norightsobjectquery.docml"; +static const QString DOCML_SIM_NOT_ALLOWED_QUERY = + ":/xml/simnotallowedquery.docml"; +static const QString DOCML_RIGHTS_OBJECT_EXPIRED_QUERY = + ":/xml/rightsobjectexpiredquery.docml"; +static const QString DOCML_WAITING_FOR_RIGHTS_OBJECT_CONF = + ":/xml/waitingforrightsobjconf.docml"; +static const QString DOCML_COPY_OBJECTS_QUERY = + ":/xml/copyobjectsquery.docml"; +static const QString DOCML_DELETED_CONF = ":/xml/filedeletedconf.docml"; +static const QString DOCML_DELETED_DRM_FILE_QUERY = + ":/xml/deletedrmfilequery.docml"; +static const QString DOCML_MOVE_OBJECTS_QUERY = + ":/xml/moveobjectsquery.docml"; +static const QString DOCML_NO_COUNT_QUERY = ":/xml/nocountquery.docml"; +static const QString DOCML_NO_USAGE_QUERY = ":/xml/nousagequery.docml"; +static const QString DOCML_OBJECT_LOCKED_CONF = + ":/xml/objectlockedconf.docml"; +static const QString DOCML_UNABLE_TO_COPY_CONF = + ":/xml/unabletocopyconf.docml"; +static const QString DOCML_UNABLE_TO_MOVE_CONF = + ":/xml/unabletomoveconf.docml"; +static const QString DOCML_UNSUPPORTED_CONF = ":/xml/unsupportedconf.docml"; +static const QString DOCML_DEREGISTERED_CONF = ":/xml/deregisteredconf.docml"; +static const QString DOCML_FILEDELETED_CONF = ":/xml/filedeletedconf.docml"; +static const QString DOCML_FORWARD_PROTECTED_CONF = + ":/xml/forwardprotectedconf.docml"; +static const QString DOCML_LICENCE_EXPIRED_CONF = + ":/xml/licenceexpiredconf.docml"; +static const QString DOCML_NOT_RECOGNIZED_CONF = + ":/xml/notrecognizedconf.docml"; +static const QString DOCML_REGISTERED_CONF = ":/xml/registeredconf.docml"; +static const QString DOCML_REGISTER_FAILURE_CONF = + ":/xml/registerfailureconf.docml"; +static const QString DOCML_UNABLE_TO_DEREGISTER_CONF = + ":/xml/unabletoderegisterconf.docml"; +static const QString DOCML_UNABLE_TO_SEND_CONF = + ":/xml/unabletosendconf.docml"; +static const QString DOCML_UPDATED_CONF = ":/xml/updatedconf.docml"; +static const QString DOCML_UPDATE_FAILURE_CONF = + ":/xml/updatefailureconf.docml"; +static const QString DOCML_VIEW_RESTRICTION_CONF = + ":/xml/viewrestrictionconf.docml"; +static const QString DOCML_ACCOUNT_UPDATE_QUERY = + ":/xml/accountupdatequery.docml"; +static const QString DOCML_GET_LICENCE_QUERY = + ":/xml/getnewlicencequery.docml"; +static const QString DOCML_RETRY_FOR_LICENCE_QUERY = + ":/xml/retryforlicencequery.docml"; +static const QString DOCML_UNABLE_TO_SEND_QUERY = + ":/xml/unabletosendquery.docml"; +static const QString DOCML_RIGHTS_OBJECTS_RECIEVED_NOTE = + ":/xml/rightsobjectsrecievednote.docml"; +static const QString DOCML_WAITING_FOR_LICENCE_CONF = + ":/xml/waitingforlicenceconf.docml"; +static const QString DOCML_ACQUIRING_LICENCE_PROG = + ":/xml/acquiringlicenceprog.docml"; +static const QString DOCML_REGISTERING_PROG = + ":/xml/Registeringprog.docml"; +static const QString DOCML_UPDATING_PROG = + ":/xml/updatingprog.docml"; +static const QString DOCML_DEREGISTERING_PROG = + ":/xml/deregisteringprog.docml"; + +// Notes have not been defined in the XLS document yet hence commented out +/* + static const QString DOCML_NO_CONNECTION_DEFINED = + ":/xml/noconnectiondefined.docml"; + static const QString DOCML_INVALID_OR_NO_AP = ":/xml/invalidornoap.docml"; + static const QString DOCML_OPENING_FAIL_PERM = ":/xml/openingfailperm.docml"; + */ + +/*! + class Constructor + */ +DrmUiDialogsBuilder::DrmUiDialogsBuilder(const QVariantMap ¶meters) : + QObject() + { + constructDialog(parameters); + } + +DrmUiDialogsBuilder::~DrmUiDialogsBuilder() + { + delete mLoader; + mLoader = NULL; + } + +/*! + Get error, implementation of interface + */ +int DrmUiDialogsBuilder::deviceDialogError() const + { + return 0; + } + +/*! + Set parameters, implementation of interface + Invoked when HbDeviceDialog::update calls. + */ +bool DrmUiDialogsBuilder::setDeviceDialogParameters( + const QVariantMap ¶meters) + { + constructDialog(parameters); + return true; + } + +/*! + Close notification, implementation of interface + */ +void DrmUiDialogsBuilder::closeDeviceDialog(bool byClient) + { + Q_UNUSED(byClient); + emit deviceDialogClosed(); + } +/*! + Return display widget, implementation of interface + */ +QObject *DrmUiDialogsBuilder::signalSender() const + { + return const_cast (this); + } + +/*! + Return display widget, implementation of interface + */ +HbPopup* DrmUiDialogsBuilder::deviceDialogWidget() const + { + return mDialog; + } + +/*! + Construct display widget + */ +bool DrmUiDialogsBuilder::constructDialog(const QVariantMap ¶meters) + { + if (mLoader == 0) + { + mLoader = new HbDocumentLoader(); + } + bool ok = false; + int mQueryType; + if (parameters.contains(KDrmUIDialogId)) + { + + mQueryType = parameters.value(KDrmUIDialogId).toInt(); + //switch cases to set load docml files for the parameters + switch (mQueryType) + { + case EQueryNoRightsObj: + mLoader->load(DOCML_NO_RIGHTS_OBJECT_DIALOG_QUERY, &ok); + break; + + case EQueryFileLockedForSim: + mLoader->load(DOCML_SIM_NOT_ALLOWED_QUERY, &ok); + break; + + case EQueryRightsObjExpired: + mLoader->load(DOCML_RIGHTS_OBJECT_EXPIRED_QUERY, &ok); + break; + + case EConfWaitingForLicence: + mLoader->load(DOCML_WAITING_FOR_LICENCE_CONF, &ok); + break; + + case EConfDeleted: + mLoader->load(DOCML_DELETED_CONF, &ok); + break; + + case EConfObjLocked: + mLoader->load(DOCML_OBJECT_LOCKED_CONF, &ok); + break; + + case EConfUnableToCopy: + mLoader->load(DOCML_UNABLE_TO_COPY_CONF, &ok); + break; + case EConfUnableToMove: + mLoader->load(DOCML_UNABLE_TO_MOVE_CONF, &ok); + break; + + case EConfUnsupportedObj: + mLoader->load(DOCML_UNSUPPORTED_CONF, &ok); + break; + + case EQueryCopyObjects: + mLoader->load(DOCML_COPY_OBJECTS_QUERY, &ok); + break; + + case EQueryDeleteDRMFile: + mLoader->load(DOCML_DELETED_DRM_FILE_QUERY, &ok); + break; + + case EQueryMoveObjects: + mLoader->load(DOCML_MOVE_OBJECTS_QUERY, &ok); + break; + + case EQueryNoCount: + mLoader->load(DOCML_NO_COUNT_QUERY, &ok); + break; + + case EQueryNoUsage: + mLoader->load(DOCML_NO_USAGE_QUERY, &ok); + break; + + case EQuerySendUnprotectedObjs: + mLoader->load(DOCML_UNABLE_TO_SEND_QUERY, &ok); + break; + + case EQueryAccountUpdate: + mLoader->load(DOCML_ACCOUNT_UPDATE_QUERY, &ok); + break; + + case EQueryRetryForLicence: + mLoader->load(DOCML_RETRY_FOR_LICENCE_QUERY, &ok); + break; + + case EQueryGetNewLicence: + mLoader->load(DOCML_GET_LICENCE_QUERY, &ok); + break; + + case EConfLicenceExpired: + mLoader->load(DOCML_LICENCE_EXPIRED_CONF, &ok); + break; + + case EConfForwardProtected: + mLoader->load(DOCML_FORWARD_PROTECTED_CONF, &ok); + break; + + case EConfUnableToSend: + mLoader->load(DOCML_UNABLE_TO_SEND_CONF, &ok); + break; + + case EConfViewRestriction: + mLoader->load(DOCML_VIEW_RESTRICTION_CONF, &ok); + break; + + case EConfUnableToDeregister: + mLoader->load(DOCML_UNABLE_TO_DEREGISTER_CONF, &ok); + break; + + case EConfPhoneDeregistered: + mLoader->load(DOCML_DEREGISTERED_CONF, &ok); + break; + + case EConfRegUpdateFailure: + mLoader->load(DOCML_UPDATE_FAILURE_CONF, &ok); + break; + + case EConfAccountNotRecognized: + mLoader->load(DOCML_NOT_RECOGNIZED_CONF, &ok); + break; + + case EConfPhoneRegistered: + mLoader->load(DOCML_REGISTERED_CONF, &ok); + break; + + case EConfRegistrationUpdated: + mLoader->load(DOCML_UPDATED_CONF, &ok); + break; + + case EConfRegistrationFailure: + mLoader->load(DOCML_REGISTER_FAILURE_CONF, &ok); + break; + + case ENoteRightsObjReceived: + mLoader->load(DOCML_RIGHTS_OBJECTS_RECIEVED_NOTE, &ok); + break; + + case EProgDeregisteringPhone: + mLoader->load(DOCML_DEREGISTERING_PROG, &ok); + break; + + case EProgAcquiringLicence: + mLoader->load(DOCML_ACQUIRING_LICENCE_PROG, &ok); + break; + + case EProgRegisteringPhone: + mLoader->load(DOCML_REGISTERING_PROG, &ok); + break; + case EProgUpdatingRegistration: + mLoader->load(DOCML_UPDATING_PROG, &ok); + break; + + //Notes are not defined in the locatization xls hence commented out + /*case ENoteNoConnectionDefined: + mLoader->load(DOCML_NO_CONNECTION_DEFINED, &ok); + break; + + case ENoteInvalidOrNoAP: + mLoader->load(DOCML_INVALID_OR_NO_AP, &ok); + break; + + case ENoteOpeningFailPerm: + mLoader->load(DOCML_OPENING_FAIL_PERM, &ok); + break;*/ + default: + break; + + } + if (ok) + { + QGraphicsWidget *widget = mLoader->findWidget(QString("dialog")); + mDialog = qobject_cast (widget); + switch (mQueryType) + { + //Cases for two push button dialogs + case EQueryNoRightsObj: + case EQueryFileLockedForSim: + case EQueryRightsObjExpired: + case EQueryCopyObjects: + case EQueryDeleteDRMFile: + case EQueryMoveObjects: + case EQueryNoCount: + case EQueryNoUsage: + case EQuerySendUnprotectedObjs: + case EQueryAccountUpdate: + case EQueryRetryForLicence: + case EQueryGetNewLicence: + connect(qobject_cast (mLoader->findObject( + "secondary")), SIGNAL( + triggered()), this, SLOT(cancelDialog())); + connect(qobject_cast (mLoader->findObject( + "primary")), SIGNAL( + triggered()), this, SLOT(confirmDialog())); + mDialog->setTimeout(HbPopup::NoTimeout); + mDialog->setDismissPolicy(HbPopup::NoDismiss); + mDialog->setModal(true); + break; + + //Cases single push button dialogs + case EConfWaitingForLicence: + case EConfDeleted: + case EConfObjLocked: + case EConfUnableToCopy: + case EConfUnableToMove: + case EConfUnsupportedObj: + case EConfLicenceExpired: + case EConfForwardProtected: + case EConfUnableToSend: + case EConfViewRestriction: + case EConfUnableToDeregister: + case EConfPhoneDeregistered: + case EConfRegUpdateFailure: + case EConfAccountNotRecognized: + case EConfPhoneRegistered: + case EConfRegistrationUpdated: + case EConfRegistrationFailure: + connect(qobject_cast (mLoader->findObject( + "primary")), SIGNAL( + triggered()), this, SLOT(confirmDialog())); + mDialog->setTimeout(HbPopup::NoTimeout); + mDialog->setDismissPolicy(HbPopup::NoDismiss); + mDialog->setModal(true); + break; + + // Cases for progress bar or wait notes + case EProgDeregisteringPhone: + case EProgAcquiringLicence: + case EProgRegisteringPhone: + case EProgUpdatingRegistration: + connect(qobject_cast (mLoader->findObject( + "primary")), SIGNAL( + triggered()), this, SLOT(cancelDialog())); + mDialog->setTimeout(HbPopup::NoTimeout); + mDialog->setDismissPolicy(HbPopup::NoDismiss); + mDialog->setModal(true); + break; + + //DrmUi Notes + //Notes are not defined in the locatization xls hence commented out + // case ENoteNoConnectionDefined: + // case ENoteInvalidOrNoAP: + // case ENoteOpeningFailPerm: + case ENoteRightsObjReceived: + mDialog->setTimeout(HbPopup::StandardTimeout); + mDialog->setDismissPolicy(HbPopup::NoDismiss); + break; + default: + break; + + } + } + else + { + qFatal("Unable to load %S"); + return EFalse; + } + } + + return ETrue; + } +/*! + Handle secondary push button triggered + */ +void DrmUiDialogsBuilder::cancelDialog() + { + QVariantMap val; + QVariant index(ECancelled); + val.insert("result", index); + emit deviceDialogData(val); + emit deviceDialogClosed(); + } +/*! + Handle Primary push button triggered + */ +void DrmUiDialogsBuilder::confirmDialog() + { + QVariantMap val; + QVariant index(EOk); + val.insert("result", index); + emit deviceDialogData(val); + emit deviceDialogClosed(); + } diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmui/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmui/group/bld.inf Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,31 @@ +/* +* Copyright (c) 2010 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: +* +*/ + + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +PRJ_MMPFILES + +#include "../drmuidialogs/group/bld.inf" + + +PRJ_TESTMMPFILES + +// End of File diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/eabi/DrmUtilityDmgrWrapperu.def --- a/commondrm/drmutility/eabi/DrmUtilityDmgrWrapperu.def Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmutility/eabi/DrmUtilityDmgrWrapperu.def Thu Jun 24 12:39:58 2010 +0300 @@ -1,5 +1,3 @@ -EXPORTS +EXPORTS _Z16GateFunctionDMgrv @ 1 NONAME - _ZTI22CDrmUtilityDmgrWrapper @ 2 NONAME ; ## - _ZTV22CDrmUtilityDmgrWrapper @ 3 NONAME ; ## diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/group/DRMUiHandlingImpl.mmp --- a/commondrm/drmutility/group/DRMUiHandlingImpl.mmp Fri Jun 11 15:44:45 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -/* -* Copyright (c) 2006-2007 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: Project definition file for DRM Utility -* -*/ - -#include -#include - -TARGET DRMUiHandlingImpl.dll -TARGETTYPE dll -UID 0x1000008D 0x10205CBE - -CAPABILITY CAP_GENERAL_DLL DRM -VENDORID VID_DEFAULT - -#ifdef __DRM -SOURCE ../src/DrmUiHandlingImpl.cpp -SOURCE ../src/drmuihandlingdata.cpp -SOURCE ../src/DrmUtilityDownloadManager.cpp -#endif - -USERINCLUDE ../inc -USERINCLUDE ../../../omadrm/drmengine/roap/inc -USERINCLUDE ../../../omadrm/drmengine/roapstorage/inc -USERINCLUDE ../../../omadrm/drmengine/server/inc -USERINCLUDE ../../../inc // ADo level inc dir - -// Default system include paths for middleware layer modules. -APP_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/ecom // needed because of SchemeHandler - -LIBRARY euser.lib -LIBRARY apparc.lib // for launching rights mgr ui embedded -LIBRARY avkon.lib -LIBRARY efsrv.lib // for launching rights mgr ui embedded -LIBRARY apgrfx.lib -LIBRARY ws32.lib -LIBRARY centralrepository.lib -LIBRARY servicehandler.lib -LIBRARY caf.lib -LIBRARY cafutils.lib -LIBRARY charconv.lib -LIBRARY ecom.lib // for scheme handling -LIBRARY cmmanager.lib - -#ifdef __DRM -LIBRARY drmutilitycommon.lib -LIBRARY drmutility.lib -LIBRARY roaphandler.lib -LIBRARY drmparsers.lib -LIBRARY drmdcf.lib -LIBRARY dcfrep.lib -LIBRARY drmrights.lib -LIBRARY drmserverinterfaces.lib -LIBRARY drmcommon.lib -#endif - -DOCUMENT bld.inf - -#if defined(ARMCC) -deffile ../eabi/ -#elif defined( WINSCW ) -deffile ../bwinscw/ -#elif defined( WINS ) -deffile ../bwins/ -#else -deffile ../bmarm/ -#endif - -SMPSAFE diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/group/bld.inf --- a/commondrm/drmutility/group/bld.inf Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmutility/group/bld.inf Thu Jun 24 12:39:58 2010 +0300 @@ -33,8 +33,6 @@ #if (defined __WINDOWS_MEDIA_DRM) drmutilitywmdrmwrapper.mmp #endif // __WINDOWS_MEDIA_DRM -DrmUtilityDmgrWrapper.mmp -DRMUiHandlingImpl.mmp DRMAutomatedUsageImpl.mmp DrmRightsInfoImpl.mmp diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/group/drmutilitycommon.mmp --- a/commondrm/drmutility/group/drmutilitycommon.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmutility/group/drmutilitycommon.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -42,6 +42,7 @@ USERINCLUDE ../inc USERINCLUDE ../../../omadrm/drmengine/server/inc USERINCLUDE ../../../inc // ADo level inc dir +USERINCLUDE ../../drmui/drmuidialogs/inc // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE @@ -61,6 +62,7 @@ LIBRARY aknnotify.lib LIBRARY drmrights.lib // Permission, Constraint LIBRARY drmserverinterfaces.lib // DrmClockClient, DrmRightsClient +LIBRARY drmuidialogs.lib DOCUMENT bld.inf diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/group/qt/drmuihandlingimpl.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmutility/group/qt/drmuihandlingimpl.pri Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,23 @@ + +# +# Copyright (c) 2010 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: +# + + +# Input +HEADERS += ../../inc/DrmUiHandlingImpl.h \ + ../../inc/drmuihandlingdata.h \ + ../../inc/DrmUtilityDownloadManager.h + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/group/qt/drmuihandlingimpl.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmutility/group/qt/drmuihandlingimpl.pro Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,96 @@ + +# +# Copyright (c) 2010 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: +# + +include ( drmuihandlingimpl.pri ) + +IncludeBlock = \ + "$${LITERAL_HASH}include " \ + "$${LITERAL_HASH}include " +MMP_RULES += IncludeBlock + +TEMPLATE = lib +TARGET = DRMUiHandlingImpl + +SrcIfdefBlock = \ + "$${LITERAL_HASH}ifdef __DRM" \ + "SOURCE ../../src/DrmUiHandlingImpl.cpp" \ + "SOURCE ../../src/drmuihandlingdata.cpp" \ + "SOURCE ../../src/DrmUtilityDownloadManager.cpp" \ + "$${LITERAL_HASH}endif" + +MMP_RULES += SrcIfdefBlock + +symbian: { + TARGET.CAPABILITY = CAP_GENERAL_DLL DRM + TARGET.VID = VID_DEFAULT + TARGET.UID3 = 0x10205CBE + TARGET.EPOCALLOWDLLDATA = 1 + INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE + INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + INCLUDEPATH += ../../inc + INCLUDEPATH += ../../../../omadrm/drmengine/roap/inc + INCLUDEPATH += ../../../../omadrm/drmengine/roapstorage/inc + INCLUDEPATH += ../../../../omadrm/drmengine/server/inc + INCLUDEPATH += ../../../../inc // ADo level inc dir + INCLUDEPATH += /epoc32/include/platform/mw/cwrt + INCLUDEPATH += /epoc32/include/ecom + + LIBS += -leuser + LIBS += -lapparc // for launching rights mgr ui embedded + LIBS += -lavkon + LIBS += -lefsrv // for launching rights mgr ui embedded + LIBS += -lapgrfx + LIBS += -lws32 + LIBS += -lcentralrepository + LIBS += -lservicehandler + LIBS += -lcaf + LIBS += -lcafutils + LIBS += -lcharconv + LIBS += -lecom // for scheme handling + LIBS += -lcmmanager + LIBS += -ldrmbrowserlauncher + + IfdefLibBlock = \ + "$${LITERAL_HASH}ifdef __DRM" \ + "LIBRARY drmutilitycommon.lib" \ + "LIBRARY drmutility.lib" \ + "LIBRARY roaphandler.lib" \ + "LIBRARY drmparsers.lib" \ + "LIBRARY drmdcf.lib" \ + "LIBRARY dcfrep.lib" \ + "LIBRARY drmrights.lib" \ + "LIBRARY drmserverinterfaces.lib" \ + "LIBRARY drmcommon.lib" \ + "$${LITERAL_HASH}endif" + + MMP_RULES += IfdefLibBlock + + defBlock = \ + "$${LITERAL_HASH}if defined(ARMCC)" \ + "DEFFILE ../../eabi/" \ + "$${LITERAL_HASH}elif defined( WINSCW )" \ + "DEFFILE ../../bwinscw/" \ + "$${LITERAL_HASH}elif defined( WINS )" \ + "DEFFILE ../../bwins/" \ + "$${LITERAL_HASH}else" \ + "DEFFILE ../../bmarm/" \ + "$${LITERAL_HASH}endif" + + MMP_RULES += defBlock + + } + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/group/qt/drmutilitydmgrwrapper.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmutility/group/qt/drmutilitydmgrwrapper.pri Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,25 @@ + +# +# Copyright (c) 2010 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: +# + + +# Input +HEADERS += ../../../../inc/DrmUtilityDmgrWrapper.h \ + ../../inc/drmutilityconnection.h \ + ../../inc/qdrmutilitydmgreventhandler.h + + + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/group/qt/drmutilitydmgrwrapper.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmutility/group/qt/drmutilitydmgrwrapper.pro Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,81 @@ + +# +# Copyright (c) 2010 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: +# + +include ( drmutilitydmgrwrapper.pri ) + +TEMPLATE = lib +TARGET = DrmUtilityDmgrWrapper + +SrcIfdefBlock = \ + "$${LITERAL_HASH}ifdef __DRM" \ + "SOURCE ../../src/DrmUtilityDmgrWrapper.cpp" \ + "SOURCE ../../src/drmutilityconnection.cpp" \ + "SOURCE ../../src/qdrmutilitydmgreventhandler.cpp" \ + "$${LITERAL_HASH}endif" + +MMP_RULES += SrcIfdefBlock + +symbian: { + TARGET.CAPABILITY = CAP_GENERAL_DLL + TARGET.VID = VID_DEFAULT + TARGET.UID3 = 0x102830FE + TARGET.EPOCALLOWDLLDATA = 1 + INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE + INCLUDEPATH += ../../inc + INCLUDEPATH += ../../../../omadrm/drmengine/roap/inc + INCLUDEPATH += ../../../../inc // ADo level inc dir + INCLUDEPATH += ../../traces // OST definitions + INCLUDEPATH += /epoc32/include/platform/mw/cwrt + + LIBS += -leuser + LIBS += -lcmmanager // RCmManager CCmApplicationSettingsUi + LIBS += -lesock // RConnection, RSocketServ + LIBS += -lextendedconnpref + LIBS += -lnetmeta // TExtendedConnPref + LIBS += -lWrtDownloadMgr + LIBS += -lroaphandler + LIBS += -lefsrv + LIBS += -lavkon + LIBS += -lcommonengine + LIBS += -leikctl + LIBS += -lplatformenv + LIBS += -lflogger + + ResourceBlock = \ + "START RESOURCE ../../data/DrmUtilityDmgrWrapper.rss" \ + "HEADER" \ + "TARGETPATH RESOURCE_FILES_DIR" \ + "LANGUAGE_IDS" \ + "END" + + MMP_RULES += ResourceBlock + + defBlock = \ + "$${LITERAL_HASH}if defined(ARMCC)" \ + "DEFFILE ../../eabi/" \ + "$${LITERAL_HASH}elif defined( WINSCW )" \ + "DEFFILE ../../bwinscw/" \ + "$${LITERAL_HASH}elif defined( WINS )" \ + "DEFFILE ../../bwins/" \ + "$${LITERAL_HASH}else" \ + "DEFFILE ../../bmarm/" \ + "$${LITERAL_HASH}endif" + + MMP_RULES += defBlock + + } + diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/inc/DrmUiHandlingImpl.h --- a/commondrm/drmutility/inc/DrmUiHandlingImpl.h Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmutility/inc/DrmUiHandlingImpl.h Thu Jun 24 12:39:58 2010 +0300 @@ -32,7 +32,6 @@ //*** forward declarations go here: class CCoeEnv; class CDRMConstraint; -class CSchemeHandler; namespace ContentAccess { @@ -856,9 +855,6 @@ // Wait for the notes and queries CActiveSchedulerWait iWait; - // Schemehandler for url handling - CSchemeHandler* iSchemeHandler; - // Operation Queue: CDrmUiHandlingData* iFirst; CDrmUiHandlingData* iLast; diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/inc/qdrmutilitydmgreventhandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmutility/inc/qdrmutilitydmgreventhandler.h Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,54 @@ +/* +* Copyright (c) 2010 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: +* +*/ + + +#ifndef QDRMUTILITYDMGREVENTHANDLER_H +#define QDRMUTILITYDMGREVENTHANDLER_H + +#include + +namespace WRT + { + class Download; + class DownloadEvent; + } + +class CDrmUtilityDmgrWrapper; + +class QDrmUtilityDmgrEventHandler : public QObject + { + Q_OBJECT + + public: + QDrmUtilityDmgrEventHandler( CDrmUtilityDmgrWrapper& aDrmUtilityDmgrWrapper , WRT::Download& aDownload ); + + public slots: + + /** + * Handle download manager events + * + * @param aEvent the event + */ + void HandleDownloadEventL( WRT::DownloadEvent* aEvent ); + + private: + WRT::Download& iDownload; + CDrmUtilityDmgrWrapper& iDrmUtilityDmgrWrapper; + + }; + +#endif // QDRMUTILITYDMGREVENTHANDLER_H diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/src/DrmUiHandlingImpl.cpp --- a/commondrm/drmutility/src/DrmUiHandlingImpl.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmutility/src/DrmUiHandlingImpl.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -38,12 +38,13 @@ #include #include +// DCF repository +#include +#include + // character conversions #include -// handling urls -#include - // resources #include #include @@ -58,6 +59,7 @@ #include #include #include +#include //connectivity logic #include // RCmConnectionMethod @@ -87,6 +89,7 @@ #include "DRMDomainContext.h" #include "DrmUtilityInternalcrkeys.h" // Cenrep extension for OmaBased +#include "drmuidialogids.h" // CONSTANTS const TInt KCommandHandleErrorFile( 1 ); @@ -119,6 +122,8 @@ const TInt KresOmaBasedBuf( 512 ); const TInt KNameBuf( 256 ); +const TInt KNoValue = -1; + #ifdef _DEBUG // debug panic _LIT( KDRMUtilityDebugPanicMessage, "DrmUiHandlingDebugPanic" ); @@ -214,6 +219,69 @@ return found; } +// --------------------------------------------------------- +// UpdateDCFRepositoryL() +// Update saved file to DCFRepository +// --------------------------------------------------------- + +LOCAL_C void UpdateDCFRepositoryL( TDesC& aFullFileName ) + { + CDcfEntry* dcfEntry( NULL ); + CDcfRep* dcfRep( NULL ); + + dcfEntry = CDcfEntry::NewL(); + CleanupStack::PushL( dcfEntry ); + + dcfRep = CDcfRep::NewL(); + CleanupStack::PushL( dcfRep ); + + dcfEntry->SetLocationL( aFullFileName, 0 ); + dcfRep->UpdateL( dcfEntry ); + CleanupStack::PopAndDestroy( dcfRep ); + CleanupStack::PopAndDestroy( dcfEntry ); + } + +// --------------------------------------------------------- +// FindFullFileNameAndUpdateDCFRepositoryL() +// Find full file name for the content and update saved +// file to DCFRepository +// --------------------------------------------------------- + +LOCAL_C void FindFullFileNameAndUpdateDCFRepositoryL( + const RFile& aFileHandle ) + { + HBufC* fullPath( NULL ); + TPtr fullPathPtr( NULL, 0 ); + + fullPath = HBufC::NewLC( KUrlMaxLen ); + fullPathPtr.Set( fullPath->Des() ); + + aFileHandle.FullName( fullPathPtr ); + UpdateDCFRepositoryL( fullPathPtr ); + CleanupStack::PopAndDestroy( fullPath ); + } + +// --------------------------------------------------------- +// FindFullFileNameAndUpdateDCFRepositoryL() +// Find full file name for the content and update saved +// file to DCFRepository +// --------------------------------------------------------- + +LOCAL_C void FindFullFileNameAndUpdateDCFRepositoryL( + const ContentAccess::CData& aFileData ) + { + HBufC* fullPath( NULL ); + TPtr fullPathPtr( NULL, 0 ); + + fullPath = HBufC::NewLC( KUrlMaxLen ); + fullPathPtr.Set( fullPath->Des() ); + + aFileData.GetStringAttribute( DRM::EDrmFullName, + fullPathPtr ); + + UpdateDCFRepositoryL( fullPathPtr ); + CleanupStack::PopAndDestroy( fullPath ); + } // ============================ MEMBER FUNCTIONS =============================== @@ -369,8 +437,6 @@ delete iDrmUtilityUi; - delete iSchemeHandler; - delete iWrapperLoader; delete iOmaBasedAgentName; @@ -1455,6 +1521,9 @@ if ( ( !agent.Compare( DRM::KDrmOmaAgentName ) ) || ( iOmaBasedAgentName && !agent.Compare( *iOmaBasedAgentName ) ) ) { + // To embed Domain RO in superdistribution case, register the content + TRAP_IGNORE( FindFullFileNameAndUpdateDCFRepositoryL( *aData.iFile ) ); + HandleOmaErrorL( *content, aData.iIntent, aData.iError, aData.iErrorObserver, aData.iOperationId ); } @@ -1476,6 +1545,7 @@ void DRM::CDrmUiHandlingImpl::PerformHandleErrorDataL( DRM::CDrmUiHandlingData& aData ) { + DRM::TDrmAgentUid agentUid( DRM::EDrmOmaAgent ); IsProtectedL( aData.iFileData, agentUid ); IsProperErrorL( aData.iError ); @@ -1484,7 +1554,11 @@ switch ( agentUid ) { case DRM::EDrmOmaAgent: - + + // To embed Domain RO in superdistribution case, register the content + TRAP_IGNORE( FindFullFileNameAndUpdateDCFRepositoryL( + *aData.iFileData ) ); + HandleOmaErrorL( *aData.iFileData, aData.iIntent, aData.iError, aData.iErrorObserver, aData.iOperationId ); @@ -1592,7 +1666,10 @@ HBufC* riUrl( NULL ); HBufC* domainRiUrl( NULL ); DRM::TDrmUiUrlType urlType( DRM::EUHRightsIssuerUrl ); - + + // To embed Domain RO in superdistribution case, register the content + TRAP_IGNORE( FindFullFileNameAndUpdateDCFRepositoryL( aContent ) ); + User::LeaveIfError( GetContentIdLC( aContent, contentId ) ); GetOmaSilentRightsUrlLC( aContent, silentUrl ); GetOmaRightsIssuerLC( aContent, riUrl ); @@ -1749,7 +1826,7 @@ TInt previewType( ContentAccess::ENoPreview ); TUint32 reason( 0 ); TBool handled( EFalse ); - + User::LeaveIfError( GetContentIdLC( aContent, contentId ) ); // Check that this really is an error situation @@ -1759,8 +1836,8 @@ TBool onlyMeteringRejection( reason == DRM::EURejectionMetering ); if ( onlyMeteringRejection ) { - iDrmUtilityUi->DisplayQueryWithIdL( R_DRM_QUERY_METERING_DISABLED, - R_DRMUTILITY_WAITING_RIGHTS_CONFIRMATION_QUERY ); + // Qt dialog not implemented yet + iDrmUtilityUi->DisplayNoteL( EConfUnableToOpen ); CleanupStack::PopAndDestroy( contentId ); return; @@ -2891,9 +2968,8 @@ if ( RejectReason( aReason ) == DRM::EURejectionMetering ) { // Show that only reason for error was rejected metering. - iDrmUtilityUi->DisplayQueryWithIdL( - R_DRM_QUERY_METERING_DISABLED, - R_DRMUTILITY_WAITING_RIGHTS_CONFIRMATION_QUERY ); + // Qt dialog not implemented yet + iDrmUtilityUi->DisplayNoteL( EConfUnableToOpen ); } else { @@ -3414,7 +3490,7 @@ HBufC* etaBuf( NULL ); TBool isRegistered( EFalse ); TBool isJoined( EFalse ); - TInt ret( 0 ); + TInt ret( ECancelled ); TInt err( KErrNone ); TInt eta( 0 ); TFileName fileName; @@ -3440,16 +3516,13 @@ // rights should have come already if ( aRightsUrl ) { - ret = iDrmUtilityUi->DisplayQueryWithIdL( - R_DRMUTILITY_RIGHTS_SHOULD_HAVE_COME, - R_DRMUTILITY_CONFIRMATION_QUERY ); + ret = iDrmUtilityUi->DisplayQueryL( EQueryGetNewLicence, KNoValue ); } else { // no rights issuer - iDrmUtilityUi->DisplayQueryWithIdL( - R_DRMUTILITY_RIGHTS_SHOULD_HAVE_COME_NO_RI, - R_DRMUTILITY_WAITING_RIGHTS_CONFIRMATION_QUERY ); + // Qt dialog not implemented yet + iDrmUtilityUi->DisplayNoteL( EConfLicenceNotReceived ); } } else if ( !eta || err || eta == -1 ) @@ -3463,17 +3536,13 @@ if ( aRightsUrl && isRegistered && !isJoined ) // Domain ro case { - ret = iDrmUtilityUi->DisplayQueryWithIdL( - R_DRMUTILITY_ACTIVATE_ACCOUNT, - R_DRMUTILITY_CONFIRMATION_QUERY ); + ret = iDrmUtilityUi->DisplayQueryL( EQueryAccountUpdate, KNoValue ); } else if ( aRightsUrl ) // Device ro case { if ( aReason & EConstraintIndividual ) { - ret = iDrmUtilityUi->DisplayQueryWithIdL( - R_DRMUTILITY_INVALID_SIM, - R_DRMUTILITY_CONFIRMATION_QUERY ); + ret = iDrmUtilityUi->DisplayQueryL( EQueryFileLockedForSim, KNoValue ); } else { @@ -3481,19 +3550,20 @@ User::LeaveIfError( aContent.GetStringAttribute( EFileName, fileName ) ); - ret = iDrmUtilityUi->DisplayQueryL( - R_DRM_QUERY_EXPIRED_OR_NO_RO, fileName ); + // Qt dialog not implemented yet + ret = iDrmUtilityUi->DisplayQueryL( EQueryFileWithNoRightsObj, fileName ); } } else // no rights issuer { if ( aReason & EConstraintIndividual ) { - iDrmUtilityUi->DisplayNoteL( R_DRM_INFO_SIM_NOT_ALLOWED ); + // Qt dialog not implemented yet + iDrmUtilityUi->DisplayNoteL( EConfFileLockedForSim ); } else { - iDrmUtilityUi->DisplayNoteL( R_DRM_INFO_EXPIRED_OR_NO_RO ); + iDrmUtilityUi->DisplayNoteL( EConfLicenceExpired ); } } } @@ -3503,31 +3573,25 @@ if ( eta != KErrCAPendingRights ) { // rights expected to arrive in eta seconds - iDrmUtilityUi->DisplayQueryWithIdL( - R_DRMUTILITY_WAITING_FOR_RIGHTS, - R_DRMUTILITY_WAITING_RIGHTS_CONFIRMATION_QUERY ); + iDrmUtilityUi->DisplayNoteL( EConfWaitingForLicence ); } else { // rights should have come if ( aRightsUrl ) { - ret = iDrmUtilityUi->DisplayQueryWithIdL( - R_DRMUTILITY_RIGHTS_SHOULD_HAVE_COME, - R_DRMUTILITY_CONFIRMATION_QUERY ); + ret = iDrmUtilityUi->DisplayQueryL( EQueryGetNewLicence, KNoValue ); } else { // no rights issuer - iDrmUtilityUi->DisplayQueryWithIdL( - R_DRMUTILITY_RIGHTS_SHOULD_HAVE_COME_NO_RI, - R_DRMUTILITY_WAITING_RIGHTS_CONFIRMATION_QUERY ); + // Qt dialog not implemented yet + iDrmUtilityUi->DisplayNoteL( EConfLicenceNotReceived ); } } } } - - if ( ret == EAknSoftkeyYes || ret == EAknSoftkeyOk ) + if ( ret == EOk ) { rightsRenewalWanted = ETrue; } @@ -4006,25 +4070,11 @@ ptrc.Set( *newUrl ); } - CSchemeHandler* schemeHandler( CSchemeHandler::NewL( ptrc ) ); - CleanupStack::PushL( schemeHandler ); - if ( iCoeEnv ) - { - embeddedLaunch = ETrue; - // launch embedded - schemeHandler->Observer( this ); - schemeHandler->HandleUrlEmbeddedL(); - CleanupStack::Pop( schemeHandler ); - iSchemeHandler = schemeHandler; - iWait.Start(); - } - else - { - // no CoeEnv, launch standalone with scheme app - schemeHandler->HandleUrlStandaloneL(); - CleanupStack::PopAndDestroy( schemeHandler ); - } - schemeHandler = NULL; + CDrmBrowserLauncher* browserLauncher = CDrmBrowserLauncher::NewLC(); + + browserLauncher->LaunchUrlL(ptrc); + + CleanupStack::PopAndDestroy(); // browserLauncher // delete newUrl if needed if ( newUrl ) @@ -4043,31 +4093,29 @@ const TBool aShowNotes ) { TInt r( KErrCancel ); - TInt buttonCode( EAknSoftkeyYes ); + TInt buttonCode( EOk ); HBufC8* url( NULL ); if ( !SilentRightsAllowedL() ) { - buttonCode = EAknSoftkeyNo; + buttonCode = ECancelled; if ( aShowNotes ) { - buttonCode = iDrmUtilityUi->DisplayQueryWithIdL( - R_DRM_QRY_CONNECT_TO_ACTIVATE, - R_DRMUTILITY_CONFIRMATION_QUERY ); + // Qt dialog not implemented yet + buttonCode = iDrmUtilityUi->DisplayQueryL( EQueryConnectToActivate, KNoValue ); } } else if ( !(HasDefConn()) ) { - buttonCode = EAknSoftkeyNo; + buttonCode = ECancelled; if ( aShowNotes ) { - buttonCode = iDrmUtilityUi->DisplayQueryWithIdL( - R_DRM_QRY_CONNECT_TO_ACTIVATE, - R_DRMUTILITY_CONFIRMATION_QUERY ); + // Qt dialog not implemented yet + buttonCode = iDrmUtilityUi->DisplayQueryL( EQueryConnectToActivate, KNoValue ); } } - if ( buttonCode == EAknSoftkeyYes || buttonCode == EAknSoftkeyOk ) + if ( buttonCode == EOk ) { TBool APs( HasAccessPointsL() ); if ( !APs ) @@ -4075,7 +4123,8 @@ // No AP defined if ( aShowNotes ) { - iDrmUtilityUi->DisplayNoteL( R_DRM_WARN_NO_CONN_DEFINED ); + // Qt dialog not implemented yet + iDrmUtilityUi->DisplayNoteL( EConfNoAccessPoint ); } r = KErrCANoRights; } @@ -4109,8 +4158,8 @@ // Connection failed with selected AP if ( aShowNotes ) { - iDrmUtilityUi->DisplayNoteL( - R_DRM_WARN_INVALID_OR_NO_AP ); + // Qt dialog not implemented yet + iDrmUtilityUi->DisplayNoteL( EConfConnectionFailed ); } r = KErrCANoRights; } @@ -4127,13 +4176,10 @@ if ( errorUrl ) { // ask user whether error url should be opened - buttonCode - = iDrmUtilityUi->DisplayQueryWithIdL( - R_DRM_QUERY_OPEN_ERROR_URL, - R_DRMUTILITY_CONFIRMATION_QUERY ); - - if ( buttonCode == EAknSoftkeyYes - || buttonCode == EAknSoftkeyOk ) + // Qt dialog not implemented yet + buttonCode = iDrmUtilityUi->DisplayQueryL( EQueryOpenErrorUrl, KNoValue ); + + if ( buttonCode == EOk ) { // Launch browser LaunchBrowserL( errorUrl ); @@ -4141,8 +4187,8 @@ } else { - iDrmUtilityUi->DisplayNoteL( - R_DRM_ERR_OPENING_FAIL_PERM ); + // Qt dialog not implemented yet + iDrmUtilityUi->DisplayNoteL( EConfUnableToUnlock ); } CleanupStack::PopAndDestroy( errorUrl ); } @@ -4174,17 +4220,11 @@ // void DRM::CDrmUiHandlingImpl::HandleServerAppExit( TInt aReason ) { - if ( aReason == EAknCmdExit && !iSchemeHandler ) + if ( aReason == EAknCmdExit) { CAknEnv::RunAppShutter(); } - if ( iSchemeHandler ) - { - delete iSchemeHandler; - iSchemeHandler = NULL; - } - if ( iWait.IsStarted() ) { iWait.AsyncStop(); diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/src/DrmUtilityDmgrWrapper.cpp --- a/commondrm/drmutility/src/DrmUtilityDmgrWrapper.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmutility/src/DrmUtilityDmgrWrapper.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -26,7 +26,6 @@ #include #include -#include //download manager #include // tconnectioninfo #include // TConnectionInfoV2 #include // rconnection rsocket @@ -41,6 +40,13 @@ #include #include +// including files related to qt changes +#include +#include +#include +#include +#include + #include "RoapSyncWrapper.h" #include "RoapDef.h" #include "DrmUtilityDmgrWrapper.h" @@ -49,6 +55,7 @@ #include "buffercontainers.h" //CnameContainer etc. #include "cleanupresetanddestroy.h" #include "buffercontainers.h" +#include "qdrmutilitydmgreventhandler.h" #include "OstTraceDefinitions.h" #ifdef OST_TRACE_COMPILER_IN_USE @@ -68,6 +75,8 @@ const TInt KProgressInfoIncrementMedium(10); const TInt KProgressInfoIncrementLarge(30); +using namespace WRT; + // ======== LOCAL FUNCTIONS ======== // --------------------------------------------------------------------------- @@ -93,13 +102,76 @@ // --------------------------------------------------------------------------- -// DeleteHttpDowload +// Calls the appropriate member function of the object during object cleanup // --------------------------------------------------------------------------- // -LOCAL_C void DeleteHttpDowload(TAny* aDownload) - { - reinterpret_cast (aDownload)->Delete(); - } +template class mem_auto_ptr + { + public: + explicit mem_auto_ptr(_Ty _P = 0, _Tf _F = 0) + : _Owns(_P != 0), _Ptr(_P), _Fn(_F) + {} + + mem_auto_ptr(const mem_auto_ptr<_Ty,_Tf>& _Y) + : _Owns(_Y._Owns), _Ptr(_Y.release()), _Fn(_Y.function()) + {} + + mem_auto_ptr<_Ty,_Tf>& operator=(const mem_auto_ptr<_Ty,_Tf>& _Y) + { + if (this != &_Y) + { + _Fn = _Y.function(); + if (_Ptr != _Y.get()) + { + if (_Owns) + delete _Ptr; + _Owns = _Y._Owns; + } + else if (_Y._Owns) + _Owns = true; + _Ptr = _Y.release(); + } + return (*this); + } + + ~mem_auto_ptr() + { + if (_Owns) + { + (_Ptr->*_Fn)(); + } + } + + _Ty& operator*() const + { + return (*get()); + } + + _Ty *operator->() const + { + return (get()); + } + + _Ty *get() const + { + return (_Ptr); + } + + _Ty *release() const + { + ((mem_auto_ptr<_Ty,_Tf> *)this)->_Owns = false; + return (_Ptr); + } + + _Tf *function() const + { + return (_Fn); + } + private: + bool _Owns; + _Ty _Ptr; + _Tf _Fn; + }; // --------------------------------------------------------------------------- @@ -142,7 +214,16 @@ CLOG_WRITE( "DMgrWrapper::ConstructL" ); const TInt KDrmUtilityDmgrWrapperUid = 0x102830FE; iConnection = DRM::CDrmUtilityConnection::NewL(ETrue); - iDlMgr.ConnectL(TUid::Uid(KDrmUtilityDmgrWrapperUid), *this, EFalse); + + try + { + QString drmUtilityDmgrWrapperUid(QString::number(KDrmUtilityDmgrWrapperUid)); + iDlMgr = q_check_ptr(new DownloadManager(drmUtilityDmgrWrapperUid)); + } + catch(const std::exception& exception) + { + qt_symbian_exception2LeaveL(exception); + } iProgressInfo = NULL; iProgressNoteDialog = NULL; iDialogDismissed = ETrue; @@ -202,22 +283,11 @@ delete iTriggerBuf; delete iFileName; delete iRoapEng; - -#ifdef _DEBUG - - if (iDlMgr.Handle()) - { - iDlMgr.Close(); - } - -#else - - iDlMgr.Close(); - -#endif - + iDownload->cancel(); + delete iDlMgr; + delete iDrmUtilityDmgrEventHandler; + iFs.Close(); - } @@ -299,10 +369,11 @@ TUint32 iapId(0); if (iConnection->IsConnected(iapId)) { - iDlMgr.SetIntAttribute( EDlMgrIap, iapId ); + const QVariant qIapId( static_cast(iapId) ); + iDlMgr->setAttribute( WRT::ClientName, qIapId ); } RFile roapTrigger; - TBool result(EFalse); + CleanupClosePushL(roapTrigger); DRM::CFileNameContainer* triggerFileName(NULL); // If no Trigger URL then nothing to download. So finish transaction @@ -318,20 +389,22 @@ } TPtrC8 KNullPtr8(NULL, 0); - RHttpDownload* downloadPtr(iDlMgr.FindDownload(*iTriggerUrl, KNullPtr8)); - if (downloadPtr) + QString downloadUrl((QChar*)iTriggerUrl->Des().Ptr(),iTriggerUrl->Length()); + //uncomment + Download* download = NULL;//iDlMgr->findDownload( downloadUrl ); + if (download) { // Stale download found. // Remove it, and re-create a new download. - downloadPtr->Delete(); - downloadPtr = NULL; + download->cancel(); + download = NULL; if (iFileName) { iFs.Delete(*iFileName); } } - triggerFileName=DRM::CFileNameContainer::NewLC(); + #ifndef RD_MULTIPLE_DRIVE User::LeaveIfError( roapTrigger.Temp( @@ -358,33 +431,46 @@ UpdateBufferL (iFileName, triggerFileName->iBuffer); CleanupStack::PopAndDestroy( triggerFileName ); triggerFileName=NULL; - // create and start download - RHttpDownload& download = iDlMgr.CreateDownloadL(*iTriggerUrl, result); - // Put download for proper cleanup. - TCleanupItem item(DeleteHttpDowload, &download); - CleanupStack::PushL(item); - - CleanupClosePushL(roapTrigger); - - if (result) - { - iDownloadSuccess = EFalse; - iConnectionError = EFalse; + downloadUrl = ((QChar*)iTriggerUrl->Des().Ptr(),iTriggerUrl->Length()); + + iDownload = iDlMgr->createDownload(downloadUrl); + try + { + iDrmUtilityDmgrEventHandler = q_check_ptr(new QDrmUtilityDmgrEventHandler(*this, *iDownload)); + } + catch(const std::exception& exception) + { + qt_symbian_exception2LeaveL(exception); + } + + iDownloadSuccess = EFalse; + iConnectionError = EFalse; - User::LeaveIfError(download.SetFileHandleAttribute(roapTrigger)); - User::LeaveIfError(download.SetBoolAttribute( - EDlAttrNoContentTypeCheck, ETrue)); - User::LeaveIfError(download.Start()); - - // wait until download is finished - iState = aNextState; - TRequestStatus* status(&iStatus); - *status = KRequestPending; - SetActive(); - } + try + { + RBuf fileName; + fileName.Create(KMaxFileName); + CleanupClosePushL(fileName); + roapTrigger.Name(fileName); + const QVariant& roapTriggerValue( QString((QChar*) fileName.Ptr(), fileName.Length()) ); + CleanupStack::PopAndDestroy(&fileName); + iDownload->setAttribute(FileName,roapTriggerValue); + const QVariant& val(ETrue); + iDownload->setAttribute(ContentType, val); + iDownload->start(); + } + catch(const std::exception& exception) + { + qt_symbian_exception2LeaveL(exception); + } + // wait until download is finished + iState = aNextState; + TRequestStatus* status(&iStatus); + *status = KRequestPending; + SetActive(); + CleanupStack::PopAndDestroy(&roapTrigger); - CleanupStack::Pop(&download); // Left open for DoSaveRoapTrigger } // --------------------------------------------------------------------------- // CDrmUtilityDmgrWrapper::DoSaveRoapTriggerL @@ -395,15 +481,19 @@ // Check success of download // Fetch download created in DoDownloadRoapTriggerL - RHttpDownload* download = iDlMgr.FindDownload(*iTriggerUrl, KNullDesC8()); + QString downloadUrl((QChar*)iTriggerUrl->Des().Ptr(),iTriggerUrl->Length()); + + typedef void (Download::*download_cancel_fnptr) (); + //uncomment + Download* dwnld = NULL;//iDlMgr->findDownload( downloadUrl ); + mem_auto_ptr downloadPtr(dwnld,&WRT::Download::cancel); + // Delete trigger URL so that it is possible to check // whether or not meteringResponse has PrUrl. delete iTriggerUrl; iTriggerUrl = NULL; iStatus = KRequestPending; - // Put download for proper cleanup. - TCleanupItem item(DeleteHttpDowload, download); - CleanupStack::PushL(item); + RFile roapTrigger; if (!iDownloadSuccess) @@ -448,8 +538,7 @@ // And let ROAP handle it... CleanupStack::PopAndDestroy(&readBuf); CleanupStack::PopAndDestroy(&roapTrigger); - CleanupStack::PopAndDestroy(download); - + iFs.Delete(*iFileName); delete iFileName; iFileName = NULL; @@ -506,65 +595,63 @@ // CDrmUtilityDmgrWrapper::HandleDMgrEventL // --------------------------------------------------------------------------- // -void CDrmUtilityDmgrWrapper::HandleDMgrEventL(RHttpDownload& aDownload, - THttpDownloadEvent aEvent) +void CDrmUtilityDmgrWrapper::HandleDownloadEventL( WRT::DownloadEvent* aEvent ) { - _LIT8( KDrmUtilityMimeTypeROAPTrigger, - "application/vnd.oma.drm.roap-trigger+xml" ); - - - - if (aEvent.iProgressState == EHttpContentTypeReceived) + QString KDrmUtilityMimeTypeROAPTrigger("application/vnd.oma.drm.roap-trigger+xml"); + + try + { + if (aEvent->type() == DownloadEvent::HeadersReceived) { // check received mimetype - RBuf8 contentType; - contentType.CleanupClosePushL(); - contentType.CreateL(KMaxContentTypeLength); - User::LeaveIfError(aDownload.GetStringAttribute(EDlAttrContentType, - contentType)); - if (!contentType.FindF(KDrmUtilityMimeTypeROAPTrigger)) + QString contentType = iDownload->attribute(ContentType).toString(); + if (!contentType.contains(KDrmUtilityMimeTypeROAPTrigger)) { // ROAP trigger found, continue download - User::LeaveIfError(aDownload.Start()); + iDownload->start(); } else { // wrong MIME type, so stop download iDownloadSuccess = EFalse; - User::LeaveIfError(aDownload.Delete()); + iDownload->cancel(); } - CleanupStack::PopAndDestroy(&contentType); } - - if (aEvent.iDownloadState == EHttpDlCreated) + } + catch(const std::exception& exception) + { + qt_symbian_exception2LeaveL(exception); + } + + if (aEvent->type() == DownloadEvent::Created) { - CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EHttpDlCreated" ); + CLOG_WRITE( "DMgrWrapper::ProcessDownloadEventL: Created" ); if (iUseCoeEnv && iProgressInfo) { iProgressInfo->IncrementAndDraw(KProgressInfoIncrementMedium); } } - else if (aEvent.iProgressState == EHttpProgDisconnected) + else if (aEvent->type() == DownloadEvent::NetworkLoss) { - CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EHttpProgDisconnected" ); + CLOG_WRITE( "DMgrWrapper::ProcessDownloadEventL: NetworkLoss" ); // store failure iDownloadSuccess = EFalse; iConnectionError = ETrue; // finished } - else if (aEvent.iDownloadState == EHttpDlInprogress) + else if (aEvent->type() == DownloadEvent::InProgress) { - CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EHttpDlInprogress" ); + CLOG_WRITE( "DMgrWrapper::ProcessDownloadEventL: InProgress" ); if (iUseCoeEnv) { iProgressInfo->IncrementAndDraw(KProgressInfoIncrementSmall); } } - else if (aEvent.iDownloadState == EHttpDlCompleted) + else if (aEvent->type() == DownloadEvent::Completed) { // store success - CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EHttpDlCompleted" ); + CLOG_WRITE( "DMgrWrapper::ProcessDownloadEventL: Completed" ); iDownloadSuccess = ETrue; iConnectionError = EFalse; if (iUseCoeEnv) @@ -575,34 +662,41 @@ TRequestStatus* status(&iStatus); User::RequestComplete(status, KErrNone); } - else if (aEvent.iDownloadState == EHttpDlFailed) + else if (aEvent->type() == DownloadEvent::Failed) { - 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; - } - User::LeaveIfError(aDownload.Delete()); // remove useless download - User::LeaveIfError(iDlMgr.Disconnect()); // disconnects Dmgr instantly. - // finished - TRequestStatus* status(&iStatus); - if ( iConnection->HasMoreConnectionAttempts() ) - { - iState = EInit; // re-try with another conection - User::RequestComplete(status, KErrNone); - } - else - { - User::RequestComplete(status, KErrCancel); - } + try + { + TInt32 err(KErrNone); + + CLOG_WRITE( "DMgrWrapper::ProcessDownloadEventL: Failed" ); + // store failure + iDownloadSuccess = EFalse; + err = (iDownload->attribute(LastError)).toInt(); + CLOG_WRITE_FORMAT( "EDlAttrErrorId = %d", err ); + + if (err == ConnectionFailed || err == TransactionFailed) + { + CLOG_WRITE( "DMgrWrapper::ProcessDownloadEventL: ConnectionFailed" ); + iConnectionError = ETrue; + } + iDownload->cancel(); // remove useless download + iDlMgr->pauseAll(); // disconnects Dmgr instantly. + // finished + TRequestStatus* status(&iStatus); + if ( iConnection->HasMoreConnectionAttempts() ) + { + iState = EInit; // re-try with another conection + User::RequestComplete(status, KErrNone); + } + else + { + User::RequestComplete(status, KErrCancel); + } + } + catch(const std::exception& exception) + { + qt_symbian_exception2LeaveL(exception); + } } } @@ -707,7 +801,7 @@ } } //For avoiding active object deadlock - iDlMgr.DeleteAll(); + iDlMgr->removeAll(); } @@ -881,6 +975,7 @@ } return KErrNone; } + // ======== GLOBAL FUNCTIONS ======== //------------------------------------------------------------------------------ diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/src/drmutilityui.cpp --- a/commondrm/drmutility/src/drmutilityui.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmutility/src/drmutilityui.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -58,6 +58,9 @@ #include "DrmUtilityGlobalNoteWrapper.h" #include "DrmUtilityInfoNoteWrapper.h" +#include "drmuidialogids.h" +#include "drmuidialogs.h" + // CONSTANTS #ifndef RD_MULTIPLE_DRIVE _LIT( KDriveZ, "z:" ); @@ -74,6 +77,7 @@ const TInt KDRMUtilityMaxTimeFormatLen( 30 ); const TInt KDRMUtilityMaxTimeLen( 30 ); const TInt KDRMUtilityNoteMaxSize ( 256 ); +const TInt KNoValue = -1; #ifdef _DEBUG // debug panic @@ -313,38 +317,12 @@ TInt aTextResourceId, TInt aValue ) { - TInt buttonCode( 0 ); - - if ( iCoeEnv ) - { - TPtr bufPtr( NULL, 0 ); - - HBufC* stringholder( StringLoader::LoadLC( aTextResourceId, - aValue, - iCoeEnv ) ); - CAknQueryDialog* dlg( - CAknQueryDialog::NewL( CAknQueryDialog::ENoTone ) ); - - bufPtr.Set( stringholder->Des() ); - AknTextUtils::LanguageSpecificNumberConversion( bufPtr ); - PrepareSecondaryDisplayL( *dlg, aTextResourceId, KNullDesC, aValue ); + TInt resultCode( ECancelled ); - buttonCode = dlg->ExecuteLD( R_DRMUTILITY_CONFIRMATION_QUERY, - *stringholder ); - - CancelSecondaryDisplayL( aTextResourceId ); - CleanupStack::PopAndDestroy( stringholder ); - } - else - { - DRM::CDrmUtilityGlobalNoteWrapper* noteWrapper( - DRM::CDrmUtilityGlobalNoteWrapper::NewLC( iUtilityStringResourceReader ) ); - - buttonCode = noteWrapper->ShowNoteL( aTextResourceId, aValue ); - - CleanupStack::PopAndDestroy( noteWrapper ); - } - return buttonCode; + CDrmUIDialogs* drmUiDialog( CDrmUIDialogs::NewLC() ); + resultCode = drmUiDialog->ShowNoteL( aTextResourceId, KNullDesC, aValue ); + CleanupStack::PopAndDestroy( drmUiDialog ); + return resultCode; } // ----------------------------------------------------------------------------- @@ -355,39 +333,12 @@ TInt aTextResourceId, const TDesC& aString ) { - TInt buttonCode( 0 ); - - if ( iCoeEnv ) - { - TPtr bufPtr( NULL, 0 ); - - HBufC* stringholder( StringLoader::LoadLC( aTextResourceId, - aString, - iCoeEnv ) ); - CAknQueryDialog* dlg( - CAknQueryDialog::NewL( CAknQueryDialog::ENoTone ) ); - - bufPtr.Set( stringholder->Des() ); - AknTextUtils::LanguageSpecificNumberConversion( bufPtr ); - PrepareSecondaryDisplayL( *dlg, aTextResourceId, aString, -1 ); + TInt resultCode( ECancelled ); - buttonCode = dlg->ExecuteLD( R_DRMUTILITY_CONFIRMATION_QUERY, - *stringholder ); - - CancelSecondaryDisplayL( aTextResourceId ); - CleanupStack::PopAndDestroy( stringholder ); - } - else - { - DRM::CDrmUtilityGlobalNoteWrapper* noteWrapper( - DRM::CDrmUtilityGlobalNoteWrapper::NewLC( iUtilityStringResourceReader ) ); - - buttonCode = noteWrapper->ShowNoteL( aTextResourceId, aString ); - - CleanupStack::PopAndDestroy( noteWrapper ); - } - - return buttonCode; + CDrmUIDialogs* drmUiDialog( CDrmUIDialogs::NewLC() ); + resultCode = drmUiDialog->ShowNoteL( aTextResourceId, aString, KNoValue ); + CleanupStack::PopAndDestroy( drmUiDialog ); + return resultCode; } // ----------------------------------------------------------------------------- @@ -485,7 +436,7 @@ __ASSERT_DEBUG( aConstraint, User::Panic( KDRMUtilityDebugPanicMessage, KDRMUtilityDebugPanicCode ) ); - TInt buttonCode( 1 ); + TInt buttonCode( EOk ); if ( aConstraint->iActiveConstraints & EConstraintEndTime ) { @@ -506,13 +457,14 @@ } endTime.FormatL( endDate, dateFormat ); - buttonCode = DisplayQueryL(R_DRM_QUERY_SET_AUTOMATED, endDate ); + + // Qt dialog not implmented yet. + buttonCode = DisplayQueryL( EQueryLicenceValidUntil, endDate ); } else if ( aConstraint->iActiveConstraints & EConstraintInterval ) { - buttonCode = DisplayQueryWithIdL( R_DRM_QUERY_SET_AUTO_INTERVAL, - R_DRMUTILITY_CONFIRMATION_QUERY ); - + // Qt dialog not implemented yet. + buttonCode = DisplayQueryL( EQueryValidForLimitedTime, KNoValue ); } return buttonCode; } @@ -556,7 +508,8 @@ startDateBuf.Append( startTimeBuf ); // display note with start date - DisplayNoteL( R_DRMUTILITY_USAGE_RIGHTS_IN_FUTURE, startDateBuf ); + // Qt dialog not implemented yet + DisplayNoteL( EConfUnableToUse, startDateBuf ); } // ----------------------------------------------------------------------------- @@ -565,20 +518,9 @@ // EXPORT_C void DRM::CDrmUtilityUI::DisplayNoteL( TInt aTextResourceId ) { - if ( iCoeEnv ) - { - HBufC* msgText( StringLoader::LoadLC( aTextResourceId, iCoeEnv ) ); - DisplayNoteL( *msgText, aTextResourceId ); - CleanupStack::PopAndDestroy( msgText ); - } - - else - { - TBuf buffer( - iUtilityStringResourceReader->ReadResourceString( aTextResourceId ) ); - - DisplayNoteL( buffer, aTextResourceId ); - } + CDrmUIDialogs* drmUiDialog( CDrmUIDialogs::NewLC() ); + drmUiDialog->ShowNoteL( aTextResourceId, KNullDesC, KNoValue ); + CleanupStack::PopAndDestroy( drmUiDialog ); } // ----------------------------------------------------------------------------- @@ -589,26 +531,9 @@ TInt aTextResourceId, const TDesC& aString ) { - if ( iCoeEnv ) - { - HBufC* msgText( StringLoader::LoadLC( aTextResourceId, - aString, - iCoeEnv ) ); - DisplayNoteL( *msgText, aTextResourceId ); - CleanupStack::PopAndDestroy( msgText ); - } - else - { - TBuf destBuffer; - - - TBuf buffer( - iUtilityStringResourceReader->ReadResourceString( aTextResourceId ) ); - - - StringLoader::Format( destBuffer, buffer, -1, aString ); - DisplayNoteL( destBuffer, aTextResourceId, aString, -1 ); - } + CDrmUIDialogs* drmUiDialog( CDrmUIDialogs::NewLC() ); + drmUiDialog->ShowNoteL( aTextResourceId, aString, KNoValue ); + CleanupStack::PopAndDestroy( drmUiDialog ); } // ----------------------------------------------------------------------------- @@ -619,26 +544,9 @@ TInt aTextResourceId, TInt aValue ) { - if ( iCoeEnv ) - { - HBufC* msgText( StringLoader::LoadLC( aTextResourceId, - aValue, - iCoeEnv ) ); - - DisplayNoteL( *msgText, aTextResourceId, KNullDesC, aValue ); - CleanupStack::PopAndDestroy( msgText ); - } - else - { - TBuf destBuffer; - - TBuf buffer( - iUtilityStringResourceReader->ReadResourceString( aTextResourceId ) ); - - - StringLoader::Format( destBuffer, buffer, -1, aValue ); - DisplayNoteL( destBuffer, aTextResourceId, KNullDesC, aValue ); - } + CDrmUIDialogs* drmUiDialog( CDrmUIDialogs::NewLC() ); + drmUiDialog->ShowNoteL( aTextResourceId, KNullDesC, aValue ); + CleanupStack::PopAndDestroy( drmUiDialog ); } // ----------------------------------------------------------------------------- diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp --- a/commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -55,6 +55,7 @@ #include "drmutilitywmdrmutilities.h" #include "wmdrmdlawrapper.h" +#include "drmuidialogids.h" // CONSTANTS const TInt KMaxUrlLength( 1024 ); @@ -546,7 +547,7 @@ TRAPD( err, LoadDlaWrapperL() ); if ( !err ) { - TInt ret( EAknSoftkeyYes ); + TInt ret( EOk ); RFile file; GetRFileFromCDataL( aContent, file ); CleanupClosePushL( file ); @@ -560,10 +561,11 @@ } TFileName fileName; User::LeaveIfError( aContent.GetStringAttribute( DRM::EDrmFileName, fileName ) ); - ret = iDrmUtilityUi->DisplayQueryL( R_DRM_QUERY_EXPIRED_OR_NO_RO, fileName ); + // Qt dialog not implemented yet + ret = iDrmUtilityUi->DisplayQueryL( EQueryFileWithNoRightsObj, fileName ); } - if ( !err && ( ret == EAknSoftkeyYes || ret == EAknSoftkeyOk ) ) + if ( !err && ret == EOk ) { TRAP_IGNORE( DlaLicenseAcquisitionL( file ) ); } @@ -575,7 +577,7 @@ { iDrmUtilityUi = DRM::CDrmUtilityUI::NewL( iCoeEnv ); } - iDrmUtilityUi->DisplayNoteL( R_DRM_INFO_EXPIRED_OR_NO_RO ); + iDrmUtilityUi->DisplayNoteL( EConfLicenceExpired ); } } diff -r c68061d56109 -r 69d8e75812b7 commondrm/drmutility/src/qdrmutilitydmgreventhandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/drmutility/src/qdrmutilitydmgreventhandler.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,22 @@ + +#include + +#include "qdrmutilitydmgreventhandler.h" +#include "drmutilitydmgrwrapper.h" + +QDrmUtilityDmgrEventHandler::QDrmUtilityDmgrEventHandler( CDrmUtilityDmgrWrapper& aDrmUtilityDmgrWrapper, WRT::Download& aDownload ) + : iDownload(aDownload), + iDrmUtilityDmgrWrapper(aDrmUtilityDmgrWrapper) + { + QT_TRAP_THROWING( + QObject::connect( &iDownload, + SIGNAL(downloadEvent(DownloadEvent*)), + this, SLOT(HandleDownloadEventL(DownloadEvent*)) + ) + ); + } + +void QDrmUtilityDmgrEventHandler::HandleDownloadEventL( WRT::DownloadEvent* aEvent ) + { + iDrmUtilityDmgrWrapper.HandleDownloadEventL(aEvent); + } diff -r c68061d56109 -r 69d8e75812b7 commondrm/group/bld.inf --- a/commondrm/group/bld.inf Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/group/bld.inf Thu Jun 24 12:39:58 2010 +0300 @@ -35,7 +35,7 @@ ../drmsettingsplugin/loc/drmsettingsplugin.loc MW_LAYER_LOC_EXPORT_PATH( drmsettingsplugin.loc ) // IBY files -//../rom/DRMEncryptor.iby CORE_MW_LAYER_IBY_EXPORT_PATH( drmencryptor.iby ) +../rom/DRMEncryptor.iby CORE_MW_LAYER_IBY_EXPORT_PATH( drmencryptor.iby ) ../rom/DRMEncryptorResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( drmencryptorresources.iby ) ../rom/DRMRightsManagerUI.iby CORE_MW_LAYER_IBY_EXPORT_PATH( drmrightsmanagerui.iby ) ../rom/DRMRightsManagerUIResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( drmrightsmanageruiresources.iby ) @@ -43,12 +43,16 @@ ../rom/drmutility_resources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( drmutility_resources.iby ) ../rom/drmserviceapiwrapper.iby CORE_MW_LAYER_IBY_EXPORT_PATH( drmserviceapiwrapper.iby ) ../rom/drmrightsstoringlocation.iby CORE_MW_LAYER_IBY_EXPORT_PATH( drmrightsstoringlocation.iby ) +../rom/drmbrowserlauncher.iby CORE_MW_LAYER_IBY_EXPORT_PATH( drmbrowserlauncher.iby ) PRJ_MMPFILES // DRMRightsManagerUi ../drmrightsmanagerui/group/DRMRightsManager.mmp +// drmui +#include "../drmui/group/bld.inf" + // drmutility #include "../drmutility/group/bld.inf" diff -r c68061d56109 -r 69d8e75812b7 commondrm/rom/DRMEncryptor.iby --- a/commondrm/rom/DRMEncryptor.iby Fri Jun 11 15:44:45 2010 +0300 +++ b/commondrm/rom/DRMEncryptor.iby Thu Jun 24 12:39:58 2010 +0300 @@ -20,18 +20,9 @@ #define __DRMENCRYPTOR_IBY__ #include -#ifndef _IMAGE_TYPE_PRD S60_APP_EXE(DRMENCRYPTOR) - - -SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,DRMEncryptor) - +data = ZRESOURCE\apps\drmencryptor.mif APP_RESOURCE_DIR\drmencryptor.mif +data = ZPRIVATE\10003a3f\import\APPS\drmencryptor_reg.rsc PRIVATE\10003a3f\import\apps\drmencryptor_reg.rsc -S60_APP_AIF_ICONS(DRMENCRYPTOR) -S60_APP_AIF_RSC(DRMENCRYPTOR) - -data=DATAZ_\APP_RESOURCE_DIR\drmencryptor.rsc APP_RESOURCE_DIR\drmencryptor.rsc - -#endif //_IMAGE_TYPE_PRD #endif diff -r c68061d56109 -r 69d8e75812b7 commondrm/rom/drmbrowserlauncher.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commondrm/rom/drmbrowserlauncher.iby Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,26 @@ +/* +* Copyright (c) 2007-2010 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: Image description file for project Drmbrowserlauncher +* +*/ + + +#ifndef DRMBROWSERLAUNCHER_IBY +#define DRMBROWSERLAUNCHER_IBY + +#include + +file=ABI_DIR\BUILD_DIR\drmbrowserlauncher.dll SHARED_LIB_DIR\drmbrowserlauncher.dll + +#endif // DRMBROWSERLAUNCHER_IBY diff -r c68061d56109 -r 69d8e75812b7 drm.pro --- a/drm.pro Fri Jun 11 15:44:45 2010 +0300 +++ b/drm.pro Thu Jun 24 12:39:58 2010 +0300 @@ -11,10 +11,12 @@ # # Contributors: # -# Description: DRM main level project file. +# Description: qt changes for DRM # TEMPLATE = subdirs +CONFIG += ordered + SUBDIRS += commondrm/commondrm.pro - +SUBDIRS += omadrm/omadrm.pro \ No newline at end of file diff -r c68061d56109 -r 69d8e75812b7 drm_plat/drm_common_api/tsrc/data/mmc/DRM/content.dcf diff -r c68061d56109 -r 69d8e75812b7 drm_plat/drm_rights_api/tsrc/data/c/content.dcf diff -r c68061d56109 -r 69d8e75812b7 drm_plat/wmdrm_access_api/inc/wmdrmaccessecominterface.inl --- a/drm_plat/wmdrm_access_api/inc/wmdrmaccessecominterface.inl Fri Jun 11 15:44:45 2010 +0300 +++ b/drm_plat/wmdrm_access_api/inc/wmdrmaccessecominterface.inl Thu Jun 24 12:39:58 2010 +0300 @@ -15,7 +15,7 @@ * wmdrmaccessecominterface.inl * */ -#include // for interface +#include // for interface // --------------------------------------------------------------------------- // CWmDrmAccessEcomInterface::NewL diff -r c68061d56109 -r 69d8e75812b7 drm_pub/drm_helper_api/inc/Drmhelper.h --- a/drm_pub/drm_helper_api/inc/Drmhelper.h Fri Jun 11 15:44:45 2010 +0300 +++ b/drm_pub/drm_helper_api/inc/Drmhelper.h Thu Jun 24 12:39:58 2010 +0300 @@ -63,7 +63,6 @@ class CAknGlobalNote; class CAknWaitDialog; class CDRMHelperInfoNoteWrapper; -class CSchemeHandler; class CMediatorEventProvider; // CLASS DECLARATION @@ -1575,8 +1574,6 @@ // Used to queue up global notes RPointerArray iNoteList; - CSchemeHandler* iSchemeHandler; - TBool iReturnCancel; // Used to send cancel events to cover ui diff -r c68061d56109 -r 69d8e75812b7 drm_pub/oma_drm_caf_agent_api/tsrc/bc/BCDRMCAFCAPS_exe/group/BCDRMCAFCAPS_exe.mmp --- a/drm_pub/oma_drm_caf_agent_api/tsrc/bc/BCDRMCAFCAPS_exe/group/BCDRMCAFCAPS_exe.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/drm_pub/oma_drm_caf_agent_api/tsrc/bc/BCDRMCAFCAPS_exe/group/BCDRMCAFCAPS_exe.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -32,12 +32,8 @@ /* Remove comments and replace 0x00000000 with correct secure id */ // SECUREID 0x00000000 -#if defined(__S60_) - MW_LAYER_SYSTEMINCLUDE -#else // __S60_ not defined - SYSTEMINCLUDE /epoc32/include - SYSTEMINCLUDE /epoc32/include/internal -#endif // __S60_ +MW_LAYER_SYSTEMINCLUDE + /* Source files */ SOURCEPATH ../src diff -r c68061d56109 -r 69d8e75812b7 drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/data/content.dcf diff -r c68061d56109 -r 69d8e75812b7 drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF.mmp --- a/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -33,12 +33,8 @@ USERINCLUDE ../inc -#if defined(__S60_) - MW_LAYER_SYSTEMINCLUDE -#else // __S60_ not defined - SYSTEMINCLUDE /epoc32/include - SYSTEMINCLUDE /epoc32/include/internal -#endif // __S60_ +MW_LAYER_SYSTEMINCLUDE + SOURCEPATH ../src @@ -54,10 +50,6 @@ LANG SC - -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/ecom -SYSTEMINCLUDE /epoc32/include/caf LIBRARY apparc.lib LIBRARY avkon.lib diff -r c68061d56109 -r 69d8e75812b7 drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF_nrm.mmp --- a/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF_nrm.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF_nrm.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -36,12 +36,9 @@ USERINCLUDE ../inc -#if defined(__S60_) - MW_LAYER_SYSTEMINCLUDE -#else // __S60_ not defined - SYSTEMINCLUDE /epoc32/include - SYSTEMINCLUDE /epoc32/include/internal -#endif // __S60_ + +MW_LAYER_SYSTEMINCLUDE + SOURCEPATH ../src diff -r c68061d56109 -r 69d8e75812b7 drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/inc/DRM_CAF.h --- a/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/inc/DRM_CAF.h Fri Jun 11 15:44:45 2010 +0300 +++ b/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/inc/DRM_CAF.h Thu Jun 24 12:39:58 2010 +0300 @@ -38,8 +38,7 @@ #include #include #include -#include -//#include +#include #include #include diff -r c68061d56109 -r 69d8e75812b7 inc/DrmUtilityDmgrWrapper.h --- a/inc/DrmUtilityDmgrWrapper.h Fri Jun 11 15:44:45 2010 +0300 +++ b/inc/DrmUtilityDmgrWrapper.h Thu Jun 24 12:39:58 2010 +0300 @@ -20,10 +20,13 @@ #define CDRMUTILITYDMGRWRAPPER_H #include // RFs -#include #include // Roap::MRoapObserver #include // MAknProgressDialogCallback CAknProgressDialog +// download apis +#include +#include +#include namespace Roap { @@ -36,7 +39,8 @@ } class CDRMRights; class CEikProgressInfo; - +class DrmUtilityEventHandler; +class QDrmUtilityDmgrEventHandler; /** * Environment gate function @@ -67,7 +71,6 @@ */ class CDrmUtilityDmgrWrapper : public CActive, - public MHttpDownloadMgrObserver, public Roap::MRoapObserver, public MDrmUtilityDmgrWrapper, public MProgressDialogCallback @@ -105,18 +108,6 @@ HBufC8* GetErrorUrlL(); - - // from base class MHttpDownloadMgrObserver - - /** - * From MHttpDownloadMgrObserver. - * Handle download manager events - * - * @param aDownload the download - * @param aEvent the event - */ - void HandleDMgrEventL( RHttpDownload& aDownload, THttpDownloadEvent aEvent ); - // From Roap::MRoapObserver /** * ConnectionConfL @@ -252,6 +243,14 @@ * @param aButtonId ID of the button pressed */ void DialogDismissedL( TInt aButtonId ); + + /** + * Handle download manager events + * + * @param aEvent the event + */ + + void HandleDownloadEventL( WRT::DownloadEvent* aEvent ); protected: //from Cactive @@ -287,15 +286,22 @@ void DoHandleRoapTriggerL( TDownloadState aNextState ); void CompleteToState( TDownloadState aNextState, TInt aError ); + + void ProcessDownloadEventL( WRT::Download& aDownload, WRT::DownloadEvent& aEvent ); private: // data /** * Download manager session */ - RHttpDownloadMgr iDlMgr; + WRT::DownloadManager* iDlMgr; /** + * Download instance needs to be stored for handling signal slot mechanism + */ + WRT::Download* iDownload; + + /** * Used to make downloads synchronous */ CActiveSchedulerWait iWait; @@ -360,6 +366,8 @@ HBufC* iFileName; DRM::CDrmUtilityConnection* iConnection; + + QDrmUtilityDmgrEventHandler* iDrmUtilityDmgrEventHandler; }; #endif // CDRMUTILITYDMGRWRAPPER_H diff -r c68061d56109 -r 69d8e75812b7 inc/drmbrowserlauncher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/inc/drmbrowserlauncher.h Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,94 @@ +/* +* Copyright (c) 2004 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: API for QT browser launcher +* +*/ + + +#ifndef DRMBROWSERLAUNCHER_H +#define DRMBROWSERLAUNCHER_H + +// INCLUDES +#include +// DATA TYPES + +// FORWARD DECLARATIONS + +// CLASS DECLARATION + +namespace DRM +{ + + +/** +* API for QT browser launcher +* +* +* @lib drmbrowserlauncher.dll +* @since Symbian V4 +*/ +NONSHARABLE_CLASS( CDrmBrowserLauncher ): public CBase +{ + public: // Constructors and destructor + + /** + * Destructor. + * @since Symbian V4 + */ + ~CDrmBrowserLauncher(); + + /** + * Two-phased constructor. + * @since Symbian V4 + * + * @return New drmbrowserlauncher instace. + */ + IMPORT_C static CDrmBrowserLauncher* NewLC(); + + /** + * Two-phased constructor. + * @since Symbian V4 + * + * @return New drmbrowserlauncher instace. + */ + IMPORT_C static CDrmBrowserLauncher* NewL(); + + /** + * Static method for launching the Browser with a given URL. + * @since Symbian V4 + * @param &aUrl URL to be launched in browser. + */ + IMPORT_C void LaunchUrlL(TDesC &aUrl); + + private: + + /** + * Constructor. + * @since Symbian V4 + */ + CDrmBrowserLauncher(); + + /** + * Two-phased constructor second part. + * @since Symbian V4 + */ + void ConstructL(); + +}; + +} // namespace DRM + +#endif // DRMHELPERSESSION_H + +// End of File diff -r c68061d56109 -r 69d8e75812b7 inc/drmuidialogids.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/inc/drmuidialogids.h Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,103 @@ +/* +* Copyright (c) 2010 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: Defines an enumeration for the DRM dialog IDs +*/ + + +#ifndef C_DRMUIDIALOGIDS_H +#define C_DRMUIDIALOGIDS_H + +// Enumeration for the dialog IDs to be launched. +enum TDrmUIDialogId + { + EQueryNoRightsObj, + EQueryFileLocked, // %U is filename. dialog to be implemented + EQueryFileLockedForSim, + EQueryRightsObjExpired, + EQueryFileWithNoRightsObj, // %U is filename. dialog to be implemented + EQueryNoUsage, + EQueryNoCount, + EQueryDeleteDRMFile, + EQueryMoveObjects, + EQueryCopyObjects, + EQuerySendUnprotectedObjs, + EQueryAccountUpdate, + EQueryRetryForLicence, + EQueryGetNewLicence, + EQueryConnectToActivate, // dialog to be implemented + EQueryOpenErrorUrl, // dialog to be implemented + EQueryLicenceValidUntil, // %U is expiration date. dialog to be implemented yet + EQueryValidForLimitedTime, // dialog to be implemented + EQueryUnlockRingToneForSim, // %U is filename. dialog to be implemented + EQueryGetRingToneLicence, // %U is filename. dialog to be implemented + EQueryUnlockMsgToneForSim, // %U is filename. dialgo to be implemented + EQueryGetMsgToneLicence, // %U is filename. dialog to be implemented + EQueryUnlockEmailToneForSim, // %U is filename. dialog to be implemented + EQueryGetEmailToneLicence, // %U is filename. dialog to be implemented + EQueryUseDefaultEmailTone, // %U is filename. dialog to be implemented + EQueryActivateIMToneLicence, // %U is filename. dialog to be implemented + EQueryUnlockCalToneForSim, // %U is filename. dialog to be implemented + EQueryGetCalToneLicence, // %U is filename. dialog to be implemented + + EConfObjLocked, + EConfUnsupportedObj, + EConfWaitingForLicence, + EConfDeleted, + EConfUnableToMove, + EConfUnableToCopy, + EConfLicenceExpired, + EConfFileDeleted, // %U is filename. dialog to be implemented + EConfForwardProtected, + EConfUnableToSend, + EConfViewRestriction, + EConfUnableToUse, // %U is start date of RO. dialog to be implemented + EConfUnableToDeregister, + EConfAccountNotRecognized, + EConfPhoneDeregistered, + EConfRegUpdateFailure, + EConfRegistrationUpdated, + EConfPhoneRegistered, + EConfRegistrationFailure, + EConfUnableToOpen, // dialog to be implemented + EConfLicenceNotReceived, // dialog to be implemented + EConfFileLockedForSim, + EConfNoAccessPoint, // dialog to be implemented + EConfConnectionFailed, // dialog to be implemented + EConfUnableToUnlock, // dialog to be implemented + EConfUseDefaultRingTone, // %U is filename. dialog to be implemented + EConfRingToneLicenceExpired, // %U is filename. dialog to be implemented + EConfUseDefaultMsgTone, // %U is filename. dialog to be implemented + EConfMsgToneLicenceExpired, // %U is filename. dialog to be implemented + EConfEmailToneLicenceExpired, // %U is filename. dialog to be implemented + EConfIMToneLicenceExpired, // %U is filename. dialog to be implemented + EConfUseDefaultCalTone, // %U is filename. dialog to be implemented + EConfCalToneExpired, // %U is filename. dialog to be implemented + + EProgDeregisteringPhone, // progress bar to be implemented + EProgAcquiringLicence, // progress bar to be implemented + EProgRegisteringPhone, // progress bar to be implemented + EProgUpdatingRegistration, // progress bar to be implemented + + ENoteRightsObjReceived, // popup + EUnusedId // The last ID + }; + +enum TDrmUiResultCode + { + ECancelled, + EOk + }; + +#endif // C_DRMUIDIALOGIDS_H + diff -r c68061d56109 -r 69d8e75812b7 layers.sysdef.xml --- a/layers.sysdef.xml Fri Jun 11 15:44:45 2010 +0300 +++ b/layers.sysdef.xml Thu Jun 24 12:39:58 2010 +0300 @@ -10,7 +10,7 @@ - + diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/agentv2/src/Oma2AgentContent.cpp --- a/omadrm/drmengine/agentv2/src/Oma2AgentContent.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/agentv2/src/Oma2AgentContent.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -26,7 +26,7 @@ #include -#include +//#include #include "Oma2AgentContent.h" @@ -604,7 +604,10 @@ { TRequestStatus *ptr = &aStatus; TInt r; - HBufC* b = NULL; + //HBufC* b = NULL; + + r = KErrNotSupported; +/* CSchemeHandler* handler = NULL; r = iDcf->OpenPart(aUniqueId); @@ -623,6 +626,7 @@ delete b; } } +*/ User::RequestComplete(ptr, r); } diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/drmbackup/inc/DRMBackup.h --- a/omadrm/drmengine/drmbackup/inc/DRMBackup.h Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/drmbackup/inc/DRMBackup.h Thu Jun 24 12:39:58 2010 +0300 @@ -22,7 +22,7 @@ // INCLUDES #include // CBase -#include +#include // CONSTANTS diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/drmbackup/src/DRMBackupObserver.cpp --- a/omadrm/drmengine/drmbackup/src/DRMBackupObserver.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/drmbackup/src/DRMBackupObserver.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -21,7 +21,7 @@ #include #include #include -#include //for KUidBackupRestoreStatus +#include //for KUidBackupRestoreStatus #include "DRMBackupObserver.h" #include "DRMRightsServer.h" /* diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/group/DRMCommon.mmp --- a/omadrm/drmengine/group/DRMCommon.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/group/DRMCommon.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -37,8 +37,7 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/caf -SYSTEMINCLUDE /epoc32/include/libc + SOURCEPATH ../legacy/src SOURCE DRMCommon.cpp diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/group/DRM_BAT.mmp --- a/omadrm/drmengine/group/DRM_BAT.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/group/DRM_BAT.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -38,9 +38,7 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/ecom -SYSTEMINCLUDE /epoc32/include/caf + SOURCEPATH ../tsrc SOURCE DRM_BAT.cpp diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/group/DrmCrypto.mmp --- a/omadrm/drmengine/group/DrmCrypto.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/group/DrmCrypto.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -31,8 +31,6 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/ecom SOURCEPATH ../utils/src SOURCE Base64.cpp diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/group/DrmKeyStorage.mmp --- a/omadrm/drmengine/group/DrmKeyStorage.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/group/DrmKeyStorage.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -30,8 +30,7 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/ecom + SOURCEPATH ../keystorage/src SOURCE DrmKeyStorage.cpp diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/group/DrmParsers.mmp --- a/omadrm/drmengine/group/DrmParsers.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/group/DrmParsers.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -40,9 +40,7 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/ecom -SYSTEMINCLUDE /epoc32/include/caf + SOURCEPATH ../dm/src SOURCE Oma1DcfCreator.cpp diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/group/DrmRights.mmp --- a/omadrm/drmengine/group/DrmRights.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/group/DrmRights.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -38,9 +38,7 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/ecom -SYSTEMINCLUDE /epoc32/include/caf + SOURCEPATH ../ro/src SOURCE DrmRights.cpp diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/group/DrmServerInterfaces.mmp --- a/omadrm/drmengine/group/DrmServerInterfaces.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/group/DrmServerInterfaces.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -42,9 +42,6 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/ecom -SYSTEMINCLUDE /epoc32/include/caf SOURCEPATH ../server/src SOURCE DRMRightsClient.cpp diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/group/DrmStdKeyStorage.mmp --- a/omadrm/drmengine/group/DrmStdKeyStorage.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/group/DrmStdKeyStorage.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -30,8 +30,6 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/ecom SOURCEPATH ../keystorage/src SOURCE DrmStdKeyStorage.cpp diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/group/OmaDrmAgent.mmp --- a/omadrm/drmengine/group/OmaDrmAgent.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/group/OmaDrmAgent.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -36,7 +36,7 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/ecom + SOURCEPATH ../agentv2/src SOURCE Oma2Agent.cpp diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/group/ROAPHandler.mmp --- a/omadrm/drmengine/group/ROAPHandler.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/group/ROAPHandler.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -39,8 +39,6 @@ // Default system include paths for middleware layer modules. APP_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/ecom SOURCEPATH ../roap/src diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/group/RightsServer.mmp --- a/omadrm/drmengine/group/RightsServer.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/group/RightsServer.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -27,8 +27,7 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/connect + USERINCLUDE ../server/inc USERINCLUDE ../agentv2/inc diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/keystorage/src/DrmStdKeyStorage.cpp --- a/omadrm/drmengine/keystorage/src/DrmStdKeyStorage.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/keystorage/src/DrmStdKeyStorage.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -576,7 +576,9 @@ for (i = 0; i < dir->Count(); i++) { ReadFileL(iFs, (*dir)[i].iName, cert); + CleanupStack::PushL( cert ); aCertChain.AppendL(cert); + CleanupStack::Pop( cert ); } CleanupStack::PopAndDestroy(); // dir LOG(_L("CDrmStdKeyStorage::GetCertificateChainL <-")); diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/notifier/inc/DRMMessageStorage.h --- a/omadrm/drmengine/notifier/inc/DRMMessageStorage.h Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/notifier/inc/DRMMessageStorage.h Thu Jun 24 12:39:58 2010 +0300 @@ -78,7 +78,7 @@ * @param : aMessage - Message related to the reques * @return None */ - void AddSession( CDRMNotifierSession* aSession ); + TInt AddSession( CDRMNotifierSession* aSession ); /** * UpdateMessage diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/notifier/src/DRMMessageStorage.cpp --- a/omadrm/drmengine/notifier/src/DRMMessageStorage.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/notifier/src/DRMMessageStorage.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -94,9 +94,9 @@ // CDRMMessageStorage::AddSession // ----------------------------------------------------------------------------- // -void CDRMMessageStorage::AddSession( CDRMNotifierSession* aSession ) +TInt CDRMMessageStorage::AddSession( CDRMNotifierSession* aSession ) { - iSessions.Append( aSession ); + return iSessions.Append( aSession ); }; // ----------------------------------------------------------------------------- @@ -218,7 +218,9 @@ } else { - iMessages.Append( message ); + CleanupStack::PushL( message ); + iMessages.AppendL ( message ); + CleanupStack::Pop( message ); CleanupStack::Pop(); // message->iData; CleanupStack::Pop(); // eventBuf CleanupStack::Pop(); // message diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/notifier/src/DRMNotifierSession.cpp --- a/omadrm/drmengine/notifier/src/DRMNotifierSession.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/notifier/src/DRMNotifierSession.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -142,7 +142,7 @@ if( !iIsListening || iMessageQueue.Count() ) { - iMessageQueue.Append( aMessage ); + iMessageQueue.AppendL ( aMessage ); return ETrue; } NotifyL( aMessage, EFalse ); @@ -274,8 +274,9 @@ if( !iIsInStorage ) { - iIsInStorage = ETrue; - iStorage->AddSession( this ); + + User::LeaveIfError( iStorage->AddSession( this ) ); + iIsInStorage = ETrue; } // Check if there are any notifications in queue if so process first one @@ -354,7 +355,7 @@ content->iContentID = NULL; content->iEventType = eventType; - iContentIDList.Append( content ); + iContentIDList.AppendL ( content ); aMessage.Complete( KErrNone ); } @@ -422,7 +423,7 @@ content->iContentID = contentID; content->iEventType = eventType; - iContentIDList.Append( content ); + iContentIDList.AppendL ( content ); CleanupStack::Pop(); aMessage.Complete( KErrNone ); diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/ro/src/DrmRightsParser.cpp --- a/omadrm/drmengine/ro/src/DrmRightsParser.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/ro/src/DrmRightsParser.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -1113,7 +1113,7 @@ GetAttributeValueL( aAttributes, KIdAttribute ); iRights->iCurrentAsset->iIdRef = GetAttributeValueL( aAttributes, KIdRefAttribute ); - iRights->iAssets.Append( iRights->iCurrentAsset ); + iRights->iAssets.AppendL ( iRights->iCurrentAsset ); break; case EPermissionAssetState: iRights->iCurrentAsset = CParsedAsset::NewL(); @@ -1126,8 +1126,7 @@ break; case EPermissionState: iRights->iCurrentPermission = CParsedPermission::NewL(); - iRights->iPermissions.Append( - iRights->iCurrentPermission ); + iRights->iPermissions.AppendL ( iRights->iCurrentPermission ); iRights->iCurrentPermission->iOnExpiredUrl = GetAttributeValueL( aAttributes, KOnExpiredUrlAttribute ); break; diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/roap/src/RoapEng.cpp --- a/omadrm/drmengine/roap/src/RoapEng.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/roap/src/RoapEng.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -2366,7 +2366,7 @@ TPair pair; pair.iCid = aContentIDs[i]; pair.iTtid = aTransIDs[i]; - array.Append( pair ); + array.AppendL( pair ); } iDcfRep->SetTtid( array, status ); diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/roap/src/RoapSigner.cpp --- a/omadrm/drmengine/roap/src/RoapSigner.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/roap/src/RoapSigner.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -185,7 +185,9 @@ ptr.Copy( aResponse.Left( startPoint ) ); ptr.Append( aResponse.Right( aResponse.Length() - endPoint ) ); - iResponses.Append( tempMessage ); + CleanupStack::PushL( tempMessage ); + iResponses.AppendL ( tempMessage ); + CleanupStack::Pop( tempMessage ); iHash->Reset(); for ( i = 0; i < iResponses.Count(); i++ ) { @@ -290,7 +292,9 @@ CleanupStack::PopAndDestroy( s ); CleanupStack::PopAndDestroy( signature ); - iRequests.Append( r->Des().AllocL() ); + CleanupStack::PushL( r ); + iRequests.AppendL ( r->Des().AllocL() ); + CleanupStack::Pop( r ); return r; } diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/server/inc/DRMRightsServer.h --- a/omadrm/drmengine/server/inc/DRMRightsServer.h Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/server/inc/DRMRightsServer.h Thu Jun 24 12:39:58 2010 +0300 @@ -22,7 +22,7 @@ // INCLUDES #include #include -#include +#include #include "drmcommonclientserver.h" #include "DRMReplayCache.h" #include "drmmeteringdb.h" diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmengine/server/src/DRMRightsClient.cpp --- a/omadrm/drmengine/server/src/DRMRightsClient.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmengine/server/src/DRMRightsClient.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -841,7 +841,9 @@ Mem::Copy( &roSize, ptr.Ptr()+offset, sizeof(TInt) ); offset += sizeof (TInt); ro = ptr.Mid(offset, roSize).AllocL(); - aRoList.Append(ro); + CleanupStack::PushL( ro ); + aRoList.AppendL (ro); + CleanupStack::Pop( ro ); offset += roSize; } CleanupStack::PopAndDestroy(); diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmhelper/group/Drmhelper.mmp --- a/omadrm/drmhelper/group/Drmhelper.mmp Fri Jun 11 15:44:45 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +0,0 @@ -/* -* Copyright (c) 2003-2007 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: Project definition file for DRMHelper -* -*/ - -#include -#include - -TARGET DRMHelper.dll -TARGETTYPE dll -UID 0x1000008D 0x101F8647 - -CAPABILITY CAP_GENERAL_DLL DRM -VENDORID VID_DEFAULT - -#ifdef __DRM -SOURCE ../src/drmhelper.cpp -SOURCE ../src/ConsumeData.cpp -SOURCE ../src/RDRMHelper.cpp -SOURCE ../src/DRMHelperGlobalNoteWrapper.cpp -SOURCE ../src/DRMHelperDownloadManager.cpp -SOURCE ../src/DRMHelperInfoNoteWrapper.cpp -#else -SOURCE ../src/DRMHelperStub.cpp -SOURCE ../src/RDRMHelperStub.cpp -SOURCE ../src/DRMHelperGlobalNoteWrapper.cpp -#endif -SOURCE ../src/DRMHelperDll.cpp - -START RESOURCE Drmhelper.rss -HEADER -TARGETPATH RESOURCE_FILES_DIR -LANGUAGE_IDS -END - -USERINCLUDE ../inc -USERINCLUDE ../../drmengine/server/inc -USERINCLUDE ../../drmengine/roap/inc -USERINCLUDE ../../drmengine/roapstorage/inc -USERINCLUDE ../../../inc // ADo level inc dir - -// Default system include paths for middleware layer modules. -APP_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/ecom // needed because of SchemeHandler -// needed for drmhelpersecondarydisplay.h - -LIBRARY euser.lib -LIBRARY commonengine.lib -LIBRARY cone.lib -LIBRARY flogger.lib -LIBRARY aknnotify.lib -LIBRARY apparc.lib // for launching rights mgr ui embedded -LIBRARY avkon.lib - -#ifdef __DRM -LIBRARY DrmParsers.lib -LIBRARY DrmDcf.lib -LIBRARY DrmRights.lib -LIBRARY DrmServerInterfaces.lib -LIBRARY DRMCommon.lib -LIBRARY eikdlg.lib -LIBRARY StarterClient.lib -LIBRARY efsrv.lib // for launching rights mgr ui embedded -LIBRARY APGRFX.lib -LIBRARY WS32.lib -LIBRARY dcfrep.lib -LIBRARY centralrepository.lib - -LIBRARY ServiceHandler.lib - -LIBRARY caf.lib -LIBRARY cafutils.lib -LIBRARY charconv.lib -LIBRARY ecom.lib // for scheme handling -LIBRARY cmmanager.lib - -LIBRARY estor.lib // Cover Display -LIBRARY featmgr.lib - -LIBRARY RoapHandler.lib -LIBRARY mediatorclient.lib - -#ifdef RD_MULTIPLE_DRIVE -LIBRARY platformenv.lib -#endif - -#endif - - -#if defined(ARMCC) -deffile ../EABI/ -#elif defined( WINSCW ) -deffile ../BWINSCW/ -#elif defined( WINS ) -deffile ../bwins/ -#else -deffile ../bmarm/ -#endif - -SMPSAFE diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmhelper/group/bld.inf --- a/omadrm/drmhelper/group/bld.inf Fri Jun 11 15:44:45 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -/* -* Copyright (c) 2003 - 2010 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: Project definition for DRMHelper -* -*/ - - - -PRJ_PLATFORMS -DEFAULT -ARMI - -PRJ_MMPFILES - -DRMHelper.mmp - -// End of File - diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmhelper/group/drmhelper.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omadrm/drmhelper/group/drmhelper.pro Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,130 @@ + +# +# Copyright (c) 2010 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: +# + +TEMPLATE = lib +TARGET = DRMHelper + +IncludeBlock = \ + "$${LITERAL_HASH}include " \ + "$${LITERAL_HASH}include " + +MMP_RULES += IncludeBlock + +SrcIfdefBlock = \ + "$${LITERAL_HASH}ifdef __DRM" \ + "SOURCE ../src/drmhelper.cpp" \ + "SOURCE ../src/ConsumeData.cpp" \ + "SOURCE ../src/RDRMHelper.cpp" \ + "SOURCE ../src/DRMHelperGlobalNoteWrapper.cpp" \ + "SOURCE ../src/DRMHelperDownloadManager.cpp" \ + "SOURCE ../src/DRMHelperInfoNoteWrapper.cpp" \ + "$${LITERAL_HASH}else" \ + "SOURCE ../src/DRMHelperStub.cpp" \ + "SOURCE ../src/RDRMHelperStub.cpp" \ + "SOURCE ../src/DRMHelperGlobalNoteWrapper.cpp" \ + "$${LITERAL_HASH}endif" \ + "SOURCE ../src/DRMHelperDll.cpp" + +MMP_RULES += SrcIfdefBlock + +symbian: { + TARGET.CAPABILITY = CAP_GENERAL_DLL DRM + TARGET.VID = VID_DEFAULT + TARGET.UID3 = 0x101F8647 + TARGET.EPOCALLOWDLLDATA = 1 + + INCLUDEPATH += ../inc + INCLUDEPATH += ../../drmengine/server/inc + INCLUDEPATH += ../../drmengine/roap/inc + INCLUDEPATH += ../../drmengine/roapstorage/inc + INCLUDEPATH += ../../../inc // ADo level inc dir + INCLUDEPATH += /epoc32/include/platform/mw/cwrt + + #// Default system include paths for middleware layer modules. + INCLUDEPATH += APP_LAYER_SYSTEMINCLUDE + + # needed because of SchemeHandler + INCLUDEPATH += /epoc32/include/ecom + + # needed for drmhelpersecondarydisplay.h + + LIBS += -leuser + LIBS += -lcommonengine + LIBS += -lcone + LIBS += -lflogger + LIBS += -laknnotify + LIBS += -lapparc // for launching rights mgr ui embedded + LIBS += -lavkon + LIBS += -ldrmbrowserlauncher + + IfdefLibBlock = \ + "$${LITERAL_HASH}ifdef __DRM" \ + "LIBRARY DrmParsers.lib" \ + "LIBRARY DrmDcf.lib" \ + "LIBRARY DrmRights.lib" \ + "LIBRARY DrmServerInterfaces.lib" \ + "LIBRARY DRMCommon.lib" \ + "LIBRARY eikdlg.lib" \ + "LIBRARY StarterClient.lib" \ + "LIBRARY efsrv.lib // for launching rights mgr ui embedded" \ + "LIBRARY APGRFX.lib" \ + "LIBRARY WS32.lib" \ + "LIBRARY dcfrep.lib" \ + "LIBRARY centralrepository.lib" \ + "LIBRARY ServiceHandler.lib" \ + "LIBRARY caf.lib" \ + "LIBRARY cafutils.lib" \ + "LIBRARY charconv.lib" \ + "LIBRARY ecom.lib // for scheme handling" \ + "LIBRARY cmmanager.lib" \ + "LIBRARY estor.lib // Cover Display" \ + "LIBRARY featmgr.lib" \ + "LIBRARY RoapHandler.lib" \ + "LIBRARY mediatorclient.lib" \ + "$${LITERAL_HASH}ifdef RD_MULTIPLE_DRIVE" \ + "LIBRARY platformenv.lib" \ + "$${LITERAL_HASH}endif" \ + "$${LITERAL_HASH}endif" + + MMP_RULES += IfdefLibBlock + + + ResourceBlock = \ + "START RESOURCE Drmhelper.rss" \ + "HEADER" \ + "TARGETPATH RESOURCE_FILES_DIR" \ + "LANGUAGE_IDS" \ + "END" + + MMP_RULES += ResourceBlock + + defBlock = \ + "$${LITERAL_HASH}if defined(ARMCC)" \ + "DEFFILE ../eabi/" \ + "$${LITERAL_HASH}elif defined( WINSCW )" \ + "DEFFILE ../bwinscw/" \ + "$${LITERAL_HASH}elif defined( WINS )" \ + "DEFFILE ../bwins/" \ + "$${LITERAL_HASH}else" \ + "DEFFILE ../bmarm/" \ + "$${LITERAL_HASH}endif" + + MMP_RULES += defBlock + + MMP_RULES -= "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl" + } + diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmhelper/src/drmhelper.cpp --- a/omadrm/drmhelper/src/drmhelper.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmhelper/src/drmhelper.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -59,12 +59,12 @@ #include -#include // for handling URLs #include "DRMHelperServer.h" #include "ConsumeData.h" #include "DRMTypes.h" #include "DRMClockClient.h" #include "DRMPointerArray.h" +#include #include // for secondary display support #include @@ -862,7 +862,6 @@ FeatureManager::UnInitializeLib(); - delete iSchemeHandler; delete iEventProvider; } @@ -5549,25 +5548,14 @@ i = 0; } - CSchemeHandler* schemeHandler( CSchemeHandler::NewL( ptr.Mid( i ) ) ); - CleanupStack::PushL( schemeHandler ); - if ( iUseCoeEnv ) - { - // launch embedded - schemeHandler->Observer( this ); - schemeHandler->HandleUrlEmbeddedL(); - CleanupStack::Pop( schemeHandler ); - iSchemeHandler = schemeHandler; - iWait.Start(); - } - else - { - // no CoeEnv, launch standalone with scheme app - schemeHandler->HandleUrlStandaloneL(); - CleanupStack::PopAndDestroy( schemeHandler ); - } - schemeHandler = NULL; - + // convert given URL to QUrl format + DRM::CDrmBrowserLauncher* browserLauncher = DRM::CDrmBrowserLauncher::NewLC(); + + browserLauncher->LaunchUrlL(ptr); + + CleanupStack::PopAndDestroy(); // browserLauncher + + // delete newUrl if needed if ( newUrl ) { @@ -7048,17 +7036,11 @@ // void CDRMHelper::HandleServerAppExit( TInt aReason ) { - if ( aReason == EAknCmdExit && !iSchemeHandler ) + if ( aReason == EAknCmdExit ) { CAknEnv::RunAppShutter(); } - if ( iSchemeHandler ) - { - delete iSchemeHandler; - iSchemeHandler = NULL; - } - if ( iWait.IsStarted() ) { iWait.AsyncStop(); diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmlicensemanager/group/DRMLicenseChecker.mmp --- a/omadrm/drmlicensemanager/group/DRMLicenseChecker.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmlicensemanager/group/DRMLicenseChecker.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -26,7 +26,6 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/libc USERINCLUDE ../inc USERINCLUDE ../../../inc // ADo level inc dir diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmlicensemanager/group/DRMLicenseManager.mmp --- a/omadrm/drmlicensemanager/group/DRMLicenseManager.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmlicensemanager/group/DRMLicenseManager.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -26,7 +26,6 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/libc USERINCLUDE ../inc USERINCLUDE ../../../inc // ADo level inc dir diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmlicensemanager/group/drm_lm_bat.mmp --- a/omadrm/drmlicensemanager/group/drm_lm_bat.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmlicensemanager/group/drm_lm_bat.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -23,7 +23,6 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/libc USERINCLUDE ../inc USERINCLUDE ../../../inc // ADo level inc dir diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmfilter/group/HTTPFilterDRM.mmp --- a/omadrm/drmplugins/drmfilter/group/HTTPFilterDRM.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmplugins/drmfilter/group/HTTPFilterDRM.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -35,7 +35,7 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/ecom + SOURCEPATH ../data diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmfilter/src/HTTPFilterDRM.cpp --- a/omadrm/drmplugins/drmfilter/src/HTTPFilterDRM.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmplugins/drmfilter/src/HTTPFilterDRM.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -518,8 +518,11 @@ /** * */ - iDataSups.Append( drmData ); + CleanupStack::PushL( drmData ); + iDataSups.AppendL ( drmData ); + CleanupStack::Pop( drmData ); response.SetBody( *drmData ); + // change the mime type to "application/vnd.oma.drm.content" headers.RemoveField( fieldNameStr ); @@ -566,7 +569,9 @@ = CHTTPFilterDRMDataSupplier::NewL( aTrans.Id(), response.Body(), const_cast ( this ) ); - iDataSups.Append( drmData ); + CleanupStack::PushL( drmData ); + iDataSups.AppendL ( drmData ); + CleanupStack::Pop( drmData ); } } @@ -662,7 +667,10 @@ User::Leave( KErrUnknown ); } - iDataSups.Append( drmData ); + CleanupStack::PushL( drmData ); + iDataSups.AppendL ( drmData ); + CleanupStack::Pop( drmData ); + response.SetBody( *drmData ); /// diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmrecognizer/group/RecDRM.mmp --- a/omadrm/drmplugins/drmrecognizer/group/RecDRM.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmplugins/drmrecognizer/group/RecDRM.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -32,7 +32,7 @@ // Default system include paths for middleware layer modules. MW_LAYER_SYSTEMINCLUDE -systeminclude /epoc32/include/ecom + source RecDRM.cpp diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmrecognizer/src/101F51F4.RSS --- a/omadrm/drmplugins/drmrecognizer/src/101F51F4.RSS Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmplugins/drmrecognizer/src/101F51F4.RSS Thu Jun 24 12:39:58 2010 +0300 @@ -16,7 +16,7 @@ */ -#include +#include RESOURCE REGISTRY_INFO r_registry { dll_uid = 0x101F51F4; diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmrohandler/group/bld.inf --- a/omadrm/drmplugins/drmrohandler/group/bld.inf Fri Jun 11 15:44:45 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/* -* Copyright (c) 2002 - 2007 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: Information required for building the required abld.bat -* -*/ - - -#include - -PRJ_PLATFORMS -DEFAULT - -PRJ_EXPORTS -../loc/rohandler.loc MW_LAYER_LOC_EXPORT_PATH( rohandler.loc ) - -PRJ_MMPFILES - -#ifdef __DRM_FULL -CRohandler.mmp -#endif - -// End of File diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmrohandler/group/crohandler.mmp --- a/omadrm/drmplugins/drmrohandler/group/crohandler.mmp Fri Jun 11 15:44:45 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -/* -* Copyright (c) 2002-2009 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: This is project specification file for the rohandler.dll -* -*/ - - -#include - -TARGET RoHandler.dll -targettype PLUGIN -VENDORID VID_DEFAULT -// uid2 specifies an ECom dll -// uid3 specifies a unique identifier -UID 0x10009D8D 0x101F7B92 -CAPABILITY CAP_ECOM_PLUGIN DRM - -SOURCEPATH ../src -SOURCE CRoHandler.cpp -SOURCE StringResourceReader.cpp -SOURCE rohandlerdmgrwrapper.cpp - -START RESOURCE 101F7B92.rss -TARGET RoHandler - -END - -#include - -START RESOURCE RoHandler.rss -HEADER -TARGETPATH RESOURCE_FILES_DIR -LANGUAGE_IDS -END - - -USERINCLUDE ../inc -USERINCLUDE ../../../drmengine/roap/inc -USERINCLUDE ../../drmromtm/client/inc -USERINCLUDE ../../../../inc // ADo level inc dir - -// Default system include paths for middleware layer modules. -MW_LAYER_SYSTEMINCLUDE - -LIBRARY DrmParsers.lib -LIBRARY DrmDcf.lib -LIBRARY DrmRights.lib -LIBRARY DrmServerInterfaces.lib -LIBRARY drmroapwbxmlparser.lib // ROAP Wbxml to XML parsers - -LIBRARY centralrepository.lib // Browser default AP -LIBRARY cmmanager.lib -LIBRARY DownloadMgr.lib - -LIBRARY euser.lib -LIBRARY ecom.lib -LIBRARY RoapHandler.lib -LIBRARY WapPushUtils.lib -LIBRARY msgs.lib // for MMsvSessionObserver - -LIBRARY efsrv.lib // RFs -LIBRARY inetprotutil.lib // TUri16 and so on -LIBRARY bafl.lib // RResourceFile -LIBRARY flogger.lib -LIBRARY sysutil.lib // SysUtil -LIBRARY esock.lib - -#ifdef RD_MULTIPLE_DRIVE -LIBRARY platformenv.lib -#endif - -SMPSAFE diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmrohandler/group/rohandler.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omadrm/drmplugins/drmrohandler/group/rohandler.pri Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,27 @@ +# +# Copyright (c) 2010 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: This is project specification file for the rohandler.dll +# + +# Input +HEADERS += ../inc/CRoHandler.h \ + ../inc/StringResourceReader.h \ + ../inc/rohandlerdmgrwrapper.h \ + ../inc/qrohandlerdmgreventhandler.h + +SOURCES += ../src/CRoHandler.cpp \ + ../src/StringResourceReader.cpp \ + ../src/rohandlerdmgrwrapper.cpp \ + ../src/qrohandlerdmgreventhandler.cpp + diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmrohandler/group/rohandler.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omadrm/drmplugins/drmrohandler/group/rohandler.pro Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,102 @@ +# +# Copyright (c) 2010 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: This is project specification file for the rohandler.dll +# + +include ( rohandler.pri ) + +IncludeBlock = \ + "$${LITERAL_HASH}include " \ + "$${LITERAL_HASH}include " + +MMP_RULES += IncludeBlock + +TEMPLATE = lib +TARGET = RoHandler +MMP_RULES += "TARGETTYPE plugin" + +symbian: { + TARGET.CAPABILITY = CAP_ECOM_PLUGIN DRM + TARGET.VID = VID_DEFAULT + TARGET.UID2 = 0x10009D8D + TARGET.UID3 = 0x101F7B92 + TARGET.EPOCALLOWDLLDATA = 1 + INCLUDEPATH += ../inc + INCLUDEPATH += ../../../drmengine/roap/inc + INCLUDEPATH += ../../drmromtm/client/inc + INCLUDEPATH += ../../../../inc // ADo level inc dir + INCLUDEPATH += /epoc32/include/platform/mw/cwrt + + LIBS += -lDrmParsers + LIBS += -lDrmDcf + LIBS += -lDrmRights + LIBS += -lDrmServerInterfaces + LIBS += -ldrmroapwbxmlparser // ROAP Wbxml to XML parsers + LIBS += -lcentralrepository // Browser default AP + LIBS += -lcmmanager + LIBS += -lWrtDownloadMgr + LIBS += -leuser + LIBS += -lecom + LIBS += -lRoapHandler + LIBS += -lWapPushUtils + LIBS += -lmsgs // for MMsvSessionObserver + + LIBS += -lefsrv + LIBS += -linetprotutil // TUri16 and so on + LIBS += -lbafl // RResourceFile + LIBS += -lflogger + LIBS += -lsysutil // SysUtil + LIBS += -lesock + + ResourceBlock1 = \ + "START RESOURCE 101F7B92.rss" \ + "TARGET RoHandler" \ + "END" + + ResourceBlock2 = \ + "START RESOURCE RoHandler.rss" \ + "HEADER" \ + "TARGETPATH RESOURCE_FILES_DIR" \ + "LANGUAGE_IDS" \ + "END" + + MMP_RULES += ResourceBlock1 + MMP_RULES += ResourceBlock2 + + IfdefLibBlock = \ + "$${LITERAL_HASH}ifdef RD_MULTIPLE_DRIVE" \ + "LIBRARY platformenv.lib" \ + "$${LITERAL_HASH}endif" + + MMP_RULES += IfdefLibBlock + + MWIncPath = \ + "// Default system include paths for middleware layer modules." \ + "MW_LAYER_SYSTEMINCLUDE" \ + + MMP_RULES += MWIncPath + + SMPSafeBlock = "SMPSAFE" + + MMP_RULES += SMPSafeBlock + + BLD_INF_RULES.prj_exports += "../loc/rohandler.loc MW_LAYER_LOC_EXPORT_PATH( rohandler.loc )" + + defBlock = " " + + MMP_RULES += defBlock + + + } + diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmrohandler/inc/qrohandlerdmgreventhandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omadrm/drmplugins/drmrohandler/inc/qrohandlerdmgreventhandler.h Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,54 @@ +/* +* Copyright (c) 2010 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: +* +*/ + + +#ifndef QROHANDLERDMGREVENTHANDLER_H +#define QROHANDLERDMGREVENTHANDLER_H + +#include + +namespace WRT + { + class Download; + class DownloadEvent; + } + +class CRoHandlerDMgrWrapper; + +class QRoHandlerDMgrEventHandler : public QObject + { + Q_OBJECT + + public: + QRoHandlerDMgrEventHandler( CRoHandlerDMgrWrapper& aRoHandlerDMgrWrapper , WRT::Download& aDownload ); + + private slots: + /** + * Handle download manager events + * + * @param aEvent the event + */ + void HandleDownloadEventL( WRT::DownloadEvent* aEvent ); + + private: + WRT::Download& iDownload; + CRoHandlerDMgrWrapper& iRoHandlerDMgrWrapper; + + }; + +#endif // QROHANDLERDMGREVENTHANDLER_H + diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmrohandler/inc/rohandlerdmgrwrapper.h --- a/omadrm/drmplugins/drmrohandler/inc/rohandlerdmgrwrapper.h Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmplugins/drmrohandler/inc/rohandlerdmgrwrapper.h Thu Jun 24 12:39:58 2010 +0300 @@ -19,14 +19,18 @@ #ifndef ROHANDLERDMGRWRAPPER_H #define ROHANDLERDMGRWRAPPER_H -namespace Roap - { - class MRoapObserver; - } +#include +#include + +#include +#include + +#include +#include +#include class CDRMRights; - -class MHttpDownloadMgrObserver; +class QRoHandlerDMgrEventHandler; class MRoHandlerDMgrWrapper { @@ -40,7 +44,6 @@ */ class CRoHandlerDMgrWrapper: public CActive, // Now active - public MHttpDownloadMgrObserver, public Roap::MRoapObserver, public MRoHandlerDMgrWrapper { @@ -72,19 +75,6 @@ */ void HandleRoapTriggerL( const TDesC8& aTrigger ); - -// from base class MHttpDownloadMgrObserver - - /** - * From MHttpDownloadMgrObserver. - * Handle download manager events - * - * @since S60 3.2 - * @param aDownload the download - * @param aEvent the event - */ - void HandleDMgrEventL( RHttpDownload& aDownload, THttpDownloadEvent aEvent ); - // From Roap::MRoapObserver /** * ConnectionConfL @@ -211,6 +201,13 @@ * @leave System wide error code */ void PostResponseUrlL( const TDesC8& aPostResponseUrl ); + /** + * Handle download manager events + * + * @param aEvent the event + */ + void HandleDownloadEventL( WRT::DownloadEvent* aEvent ); + protected: //from Cactive virtual void DoCancel(); @@ -246,8 +243,9 @@ /** * Download manager session */ - RHttpDownloadMgr iDlMgr; + WRT::DownloadManager* iDlMgr; + WRT::Download* iDownload; /** * Used to make downloads synchronous */ @@ -277,6 +275,9 @@ RFs iFs; HBufC* iFileName; + + QRoHandlerDMgrEventHandler* iRoHandlerDMgrEventHandler; + }; #endif // ROHANDLERDMGRWRAPPER_H diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmrohandler/src/qrohandlerdmgreventhandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omadrm/drmplugins/drmrohandler/src/qrohandlerdmgreventhandler.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,26 @@ + +#include + +#include "qrohandlerdmgreventhandler.h" +#include "rohandlerdmgrwrapper.h" + +QRoHandlerDMgrEventHandler::QRoHandlerDMgrEventHandler( + CRoHandlerDMgrWrapper& aRoHandlerDMgrWrapper, + WRT::Download& aDownload ) + : iDownload(aDownload), + iRoHandlerDMgrWrapper(aRoHandlerDMgrWrapper) + { + QT_TRAP_THROWING + ( + QObject::connect + ( + &iDownload, SIGNAL(downloadEvent(DownloadEvent*)), + this, SLOT(HandleDownloadEventL(DownloadEvent*)) + ) + ); + } + +void QRoHandlerDMgrEventHandler::HandleDownloadEventL( WRT::DownloadEvent* aEvent ) + { + iRoHandlerDMgrWrapper.HandleDownloadEventL(aEvent); + } diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmrohandler/src/rohandlerdmgrwrapper.cpp --- a/omadrm/drmplugins/drmrohandler/src/rohandlerdmgrwrapper.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmplugins/drmrohandler/src/rohandlerdmgrwrapper.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -32,8 +32,6 @@ #include -#include - #include // tconnectioninfo #include // rconnection rsocket #include @@ -41,9 +39,15 @@ #include #include "RoapSyncWrapper.h" +// Download manager apis +#include +#include +#include + #include "rohandlerdmgrwrapper.h" #include "cleanupresetanddestroy.h" #include "buffercontainers.h" +#include "qrohandlerdmgreventhandler.h" #ifdef _DEBUG #define DRMDEBUG( a ) RDebug::Print( a ) @@ -110,8 +114,7 @@ _LIT( KStrEConnectionFailed, "EConnectionFailed" ); _LIT( KFormatEDlAttrErrorId, "EDlAttrErrorId = %d" ); - _LIT( KMiDownLoadState, "iDownLoadState" ); - _LIT( KMiProgressState, "iProgressState" ); + _LIT( KMiState, "iState" ); } @@ -134,16 +137,7 @@ _LIT( KHelperTriggerFilePath, "d:\\" ); #endif -// ============================== LOCAL FUNCTIONS ============================== - -// --------------------------------------------------------------------------- -// DeleteHttpDowload -// --------------------------------------------------------------------------- -// -LOCAL_C void DeleteHttpDowload( TAny* aDownload ) - { - reinterpret_cast< RHttpDownload* >( aDownload )->Delete(); - } +using namespace WRT; // --------------------------------------------------------------------------- // UpdateBufferL @@ -185,7 +179,15 @@ DRMDEBUGMETHOD( RoHdlrDMgrWrDebugLiterals::KMethConstructL() ); // Get UID from process const TInt KRoHandlerDMgrWrapperUid = 0x101F7B92; - iDlMgr.ConnectL( TUid::Uid( KRoHandlerDMgrWrapperUid ), *this, EFalse ); + try + { + QString roHandlerDmgrWrapperUid(QString::number(KRoHandlerDMgrWrapperUid)); + iDlMgr = q_check_ptr(new DownloadManager(roHandlerDmgrWrapperUid)); + } + catch(const std::exception& exception) + { + qt_symbian_exception2LeaveL(exception); + } User::LeaveIfError( iFs.Connect() ); User::LeaveIfError( iFs.ShareProtected() ); @@ -230,20 +232,11 @@ delete iFileName; delete iRoapEng; -#ifdef _DEBUG - - if ( iDlMgr.Handle() ) - { - iDlMgr.Close(); - } - -#else - - iDlMgr.Close(); - -#endif - + delete iDlMgr; + delete iRoHandlerDMgrEventHandler; + iFs.Close(); + } // --------------------------------------------------------------------------- @@ -269,7 +262,6 @@ void CRoHandlerDMgrWrapper::DoDownloadRoapTriggerL( TMeterState aNextState ) { RFile roapTrigger; - TBool result( EFalse ); DRM::CFileNameContainer* triggerFileName(NULL); DRMDEBUGMETHOD( RoHdlrDMgrWrDebugLiterals::KMethDoDownloadAndHandleRoapTriggerL() ); @@ -308,36 +300,54 @@ CleanupStack::PopAndDestroy( triggerFileName ); triggerFileName=NULL; - // create and start download - RHttpDownload& download = iDlMgr.CreateDownloadL( *iTriggerUrl, result ); - // Put download for proper cleanup. - TCleanupItem item( DeleteHttpDowload, &download ); - CleanupStack::PushL( item ); - + try + { + // create and start download + QString downloadUrl((QChar*)iTriggerUrl->Des().Ptr(),iTriggerUrl->Length()); + iDownload = iDlMgr->createDownload( downloadUrl ); + iRoHandlerDMgrEventHandler = q_check_ptr(new QRoHandlerDMgrEventHandler(*this, *iDownload)); + } + catch(const std::exception& exception) + { + qt_symbian_exception2LeaveL(exception); + } + CleanupClosePushL( roapTrigger ); - if ( result ) - { - DRMDEBUG2( - RoHdlrDMgrWrDebugLiterals::KFormatDoDlHdlRoapTrigL(), - &RoHdlrDMgrWrDebugLiterals::KStrDlCreated() ); - iDownloadSuccess = EFalse; - iConnectionError = EFalse; + + DRMDEBUG2( + RoHdlrDMgrWrDebugLiterals::KFormatDoDlHdlRoapTrigL(), + &RoHdlrDMgrWrDebugLiterals::KStrDlCreated() ); + 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 - iState = aNextState; - TRequestStatus* status( &iStatus ); - *status = KRequestPending; - SetActive(); - } + SetDefaultAccessPointL(); + + try + { + RBuf fileName; + fileName.Create(KMaxFileName); + CleanupClosePushL(fileName); + roapTrigger.Name(fileName); + const QVariant& roapTriggerValue( QString((QChar*) fileName.Ptr(), fileName.Length()) ); + CleanupStack::PopAndDestroy(&fileName); + iDownload->setAttribute(FileName,roapTriggerValue); + const QVariant& val(ETrue); + iDownload->setAttribute(ContentType, val); + iDownload->start(); + } + catch(const std::exception& exception) + { + qt_symbian_exception2LeaveL(exception); + } + + // wait until download is finished + iState = aNextState; + TRequestStatus* status( &iStatus ); + *status = KRequestPending; + SetActive(); + CleanupStack::PopAndDestroy( &roapTrigger ); - CleanupStack::Pop( &download ); // Left open for DoSaveRoapTrigger } // --------------------------------------------------------------------------- // CRoHandlerDMgrWrapper::DoSaveRoapTriggerL @@ -350,15 +360,23 @@ RoHdlrDMgrWrDebugLiterals::KFormatDoDlHdlRoapTrigL(), &RoHdlrDMgrWrDebugLiterals::KStrDlFinished() ); - // Fetch download created in DoDownloadRoapTriggerL - RHttpDownload* download = iDlMgr.FindDownload( *iTriggerUrl, KNullDesC8() ); + try + { + // Fetch download created in DoDownloadRoapTriggerL + QString downloadUrl((QChar*)iTriggerUrl->Des().Ptr(),iTriggerUrl->Length()); + //uncomment + iDownload = NULL; //iDlMgr->findDownload( downloadUrl ); + } + catch(const std::exception& exception) + { + qt_symbian_exception2LeaveL(exception); + } + // Delete trigger URL so that it is possible to check // whether or not meteringResponse has PrUrl. delete iTriggerUrl; iTriggerUrl = NULL; - // Put download for proper cleanup. - TCleanupItem item( DeleteHttpDowload, download ); - CleanupStack::PushL( item ); + RFile roapTrigger; if ( !iDownloadSuccess ) @@ -401,8 +419,7 @@ // And let ROAP handle it... CleanupStack::PopAndDestroy( &readBuf ); CleanupStack::PopAndDestroy( &roapTrigger ); - CleanupStack::PopAndDestroy( download ); - + iFs.Delete( *iFileName ); delete iFileName; iFileName=NULL; @@ -453,7 +470,8 @@ if ( iIapId ) { - iDlMgr.SetIntAttribute( EDlMgrIap, iIapId ); + QVariant iapId((unsigned long long)iIapId); + iDlMgr->setAttribute(DefaultDestinationPath, iapId); } } @@ -478,48 +496,41 @@ // CRoHandlerDMgrWrapper::HandleDMgrEventL // --------------------------------------------------------------------------- // -void CRoHandlerDMgrWrapper::HandleDMgrEventL( RHttpDownload& aDownload, - THttpDownloadEvent aEvent ) +void CRoHandlerDMgrWrapper::HandleDownloadEventL( WRT::DownloadEvent* aEvent ) { - _LIT8( KDRMHelperMimeTypeROAPTrigger, "application/vnd.oma.drm.roap-trigger+xml" ); + QString KDRMHelperMimeTypeROAPTrigger("application/vnd.oma.drm.roap-trigger+xml" ); DRMDEBUGMETHOD( RoHdlrDMgrWrDebugLiterals::KMethHandleDMgrEventL() ); DRMDEBUG3( RoHdlrDMgrWrDebugLiterals::KFormatMembValInt(), - &RoHdlrDMgrWrDebugLiterals::KMiDownLoadState(), aEvent.iDownloadState ); - DRMDEBUG3( RoHdlrDMgrWrDebugLiterals::KFormatMembValInt(), - &RoHdlrDMgrWrDebugLiterals::KMiProgressState(), aEvent.iProgressState ); - - if ( aEvent.iProgressState == EHttpContentTypeReceived ) + &RoHdlrDMgrWrDebugLiterals::KMiState(), aEvent->type() ); + + if ( aEvent->type() == DownloadEvent::HeadersReceived ) { DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(), &RoHdlrDMgrWrDebugLiterals::KStrEHttpContentTypeReceived() ); // check received mimetype - RBuf8 contentType; - contentType.CleanupClosePushL(); - contentType.CreateL( KMaxContentTypeLength ); - User::LeaveIfError( aDownload.GetStringAttribute( EDlAttrContentType, - contentType ) ); - if ( !contentType.FindF( KDRMHelperMimeTypeROAPTrigger ) ) + QString contentType = iDownload->attribute( ContentType).toString(); + if ( contentType.contains( KDRMHelperMimeTypeROAPTrigger ) == EFalse ) { // ROAP trigger found, continue download - User::LeaveIfError( aDownload.Start() ); + iDownload->start(); } else { // wrong MIME type?, stop download iDownloadSuccess = EFalse; - User::LeaveIfError( aDownload.Delete() ); + iDownload->cancel(); } CleanupStack::PopAndDestroy( &contentType ); } - if ( aEvent.iDownloadState == EHttpDlCreated ) + if ( aEvent->type() == DownloadEvent::Created ) { DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(), &RoHdlrDMgrWrDebugLiterals::KStrEHttpDlCreated() ); } else - if ( aEvent.iProgressState == EHttpProgDisconnected ) + if ( aEvent->type() == DownloadEvent::NetworkLoss ) { DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(), &RoHdlrDMgrWrDebugLiterals::KStrEHttpProgDisconnected() ); @@ -530,49 +541,47 @@ TRequestStatus* status( &iStatus ); User::RequestComplete( status, KErrCancel ); } - else - if ( aEvent.iDownloadState == EHttpDlInprogress ) - { - DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(), - &RoHdlrDMgrWrDebugLiterals::KStrEHttpDlInprogress() ); - } - else - if ( aEvent.iDownloadState == EHttpDlCompleted ) - { - // store success - DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(), - &RoHdlrDMgrWrDebugLiterals::KStrEHttpDlCompleted() ); - iDownloadSuccess = ETrue; + else + if ( aEvent->type() == DownloadEvent::InProgress ) + { + DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(), + &RoHdlrDMgrWrDebugLiterals::KStrEHttpDlInprogress() ); + } + else + if ( aEvent->type() == DownloadEvent::Completed ) + { + // store success + DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(), + &RoHdlrDMgrWrDebugLiterals::KStrEHttpDlCompleted() ); + iDownloadSuccess = ETrue; - // finished - TRequestStatus* status( &iStatus ); - User::RequestComplete( status, KErrNone ); - } - else - if ( aEvent.iDownloadState == EHttpDlFailed ) - { - TInt32 err; + // finished + TRequestStatus* status( &iStatus ); + User::RequestComplete( status, KErrNone ); + } + else + if ( aEvent->type() == DownloadEvent::Failed ) + { + TInt32 err; - DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(), - &RoHdlrDMgrWrDebugLiterals::KStrEHttpDlFailed() ); - // store failure - iDownloadSuccess = EFalse; - User::LeaveIfError( aDownload.GetIntAttribute( - EDlAttrErrorId, err ) ); - DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatEDlAttrErrorId(), err ); + DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(), + &RoHdlrDMgrWrDebugLiterals::KStrEHttpDlFailed() ); + // store failure + iDownloadSuccess = EFalse; + err = iDownload->attribute(LastError ).toInt(); + DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatEDlAttrErrorId(), err ); - if ( err == EConnectionFailed || err - == ETransactionFailed ) - { - DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(), - &RoHdlrDMgrWrDebugLiterals::KStrEConnectionFailed() ); - iConnectionError = ETrue; - } + if ( err == ConnectionFailed || err == TransactionFailed ) + { + DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(), + &RoHdlrDMgrWrDebugLiterals::KStrEConnectionFailed() ); + iConnectionError = ETrue; + } - // finished - TRequestStatus* status( &iStatus ); - User::RequestComplete( status, KErrCancel ); - } + // finished + TRequestStatus* status( &iStatus ); + User::RequestComplete( status, KErrCancel ); + } } @@ -751,3 +760,4 @@ } return KErrNone; } + diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmromtm/group/RoMtmUi.mmp --- a/omadrm/drmplugins/drmromtm/group/RoMtmUi.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmplugins/drmromtm/group/RoMtmUi.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -28,6 +28,7 @@ SOURCEPATH ../ui/src SOURCE RoMtmUi.cpp +SOURCE drmmsgwatcherobserver.cpp USERINCLUDE ../inc USERINCLUDE ../ui/inc diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmromtm/ui/inc/RoMtmUi.h --- a/omadrm/drmplugins/drmromtm/ui/inc/RoMtmUi.h Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmplugins/drmromtm/ui/inc/RoMtmUi.h Thu Jun 24 12:39:58 2010 +0300 @@ -207,12 +207,12 @@ CMsvOperation* CompletedOperationL( TRequestStatus& aObserverStatus ); TBool ShowQueryL( TDesC16& aFile ); TInt CheckTriggerTypeL( TDesC16& aFile ); + private: TMessageType iType; - CDocumentHandler* iDocHandler; RFs iFs; CEikProcess* iHostProcess; - CAknLaunchAppService* iOpenService; + }; #endif // RIGHTSOBJECTMTMUI_H diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmromtm/ui/inc/drmmsgwatcherobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omadrm/drmplugins/drmromtm/ui/inc/drmmsgwatcherobserver.h Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,129 @@ +/* +* Copyright (c) 2010 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: +* Msv operation for drm view closing +* +*/ + + +#ifndef C_DRMMSGWATCHEROBSERVER_H +#define C_DRMMSGWATCHEROBSERVER_H + + + +#include // CMsvOperation +#include // MAknServerAppExitObserver +#include // app service +#include // Document handler + +class CDocumentHandler; + +// CLASS DECLARATION + +/** +* CDrmMsgWatcherObserver +* Simple operation class which watches a service (drm), +* completing when that thread closes. +* +* The passed CMsvSession is not used (merely required to base-construct +* a CMsvOperation). +*/ +NONSHARABLE_CLASS( CDrmMsgWatcherObserver ) : public CMsvOperation, public MAknServerAppExitObserver + { + public: + + static CDrmMsgWatcherObserver* NewL( + CMsvSession& aMsvSession, + TInt aPriority, + TRequestStatus& aObserverRequestStatus, + TUid aMtm, + CAiwGenericParamList* aParamList ); + + + static CDrmMsgWatcherObserver* NewL( + CMsvSession& aMsvSession, + TInt aPriority, + TRequestStatus& aObserverRequestStatus, + TUid aMtm, + const TDesC& aFileName, + TDataType& aDataType ); + + /** + * C++ constructor + */ + CDrmMsgWatcherObserver( + CMsvSession& aMsvSession, + TInt aPriority, + TRequestStatus& aObserverRequestStatus, + TUid aMtm ); + + /** + * Destructor. + */ + ~CDrmMsgWatcherObserver(); + + private: // From MApaServerAppExitObserver + void HandleServerAppExit( TInt aReason ); + + protected: + + + /** + * From CMsvOperation + */ + virtual const TDesC8& ProgressL(); + + /** + * From CMsvOperation + */ + virtual const TDesC8& FinalProgress(); + + /** + * From CActive + */ + virtual void RunL(); + + /** + * From CActive + */ + virtual void DoCancel(); + + /** + * + */ + void Start(); + + private: + void ConstructL( CAiwGenericParamList* aParamList ); + void ConstructL( const TDesC& aFileName, TDataType& aDataType ); + + /** + * Completes observer with the completion code + * @param aCode: Completion code + */ + void CompleteObserver( TInt aCode ); + + + protected:// Data + HBufC8* iProgress; + + private: + CAknLaunchAppService* iService; + CDocumentHandler* iDocHandler; + + }; + +#endif // C_DRMMSGWATCHEROBSERVER_H + +// End of file diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp --- a/omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -50,6 +50,8 @@ #include //StringLoader #include //rconeresloader #include // test +#include "drmmsgwatcherobserver.h" + // EXTERNAL DATA STRUCTURES // EXTERNAL FUNCTION PROTOTYPES // CONSTANTS @@ -230,8 +232,6 @@ CRightsObjectMtmUi::CRightsObjectMtmUi( CBaseMtm& aBaseMtm , CRegisteredMtmDll& aRegisteredMtmDll ) : CBaseMtmUi( aBaseMtm , aRegisteredMtmDll ) { - iOpenService = NULL; - iDocHandler = NULL; iHostProcess = NULL; iType = ERo; } @@ -272,9 +272,6 @@ TRAP(err,WriteL(_L8("~CRightsObjectMtmUi"))); #endif iFs.Close(); - - delete iOpenService; - delete iDocHandler; } @@ -568,15 +565,11 @@ BaseMtm().LoadMessageL(); CRichText& body = BaseMtm().Body(); TPtrC ptr16( body.Read(0) ); - const TUid KUidDRMUI = { 0x101f85c7 }; + //const TUid KUidDRMUI = { 0x101f85c7 }; + CDrmMsgWatcherObserver* operation = NULL; if ( iType == ERoapTrigger || iType == ERoapTriggerRoAcquisition ) { - -#ifdef _DRM_TESTING - WriteL(_L8("LaunchEditorApplicationL-iDocHandler")); -#endif - _LIT8( KRoapTriggerMimeType, "application/vnd.oma.drm.roap-trigger+xml" ); TDataType type = TDataType( KRoapTriggerMimeType ); HBufC* filename = NULL; @@ -593,60 +586,33 @@ return CompletedOperationL( aStatus ); } -#ifdef _DRM_TESTING - WriteL(ptr,ptr.Length()); -#endif - if (iDocHandler) - { - delete iDocHandler; - iDocHandler = NULL; - } -#ifdef _DRM_TESTING - WriteL(_L8("LaunchEditorApplicationL-iDocHandler-NewL")); -#endif - iDocHandler = CDocumentHandler::NewL(); -#ifdef _DRM_TESTING - WriteL(_L8("LaunchEditorApplicationL-iDocHandler-SetExitObserver")); -#endif - iDocHandler->SetExitObserver(this); -#ifdef _DRM_TESTING - WriteL(_L8("LaunchEditorApplicationL-iDocHandler-OpenFileEmbeddedL")); -#endif - iDocHandler->OpenFileEmbeddedL(ptr,type); - CleanupStack::PopAndDestroy(filename); -#ifdef _DRM_TESTING - WriteL(_L8("LaunchEditorApplicationL-iDocHandler-End")); -#endif + operation = CDrmMsgWatcherObserver::NewL( + Session(), + CActive::EPriorityStandard, + aStatus, + Type(), + ptr, + type ); } else { - if ( iOpenService ) - { - delete iOpenService; - iOpenService = NULL; - } -#ifdef _DRM_TESTING - WriteL(_L8("LaunchEditorApplicationL-CAknOpenFileService::NewL")); -#endif CAiwGenericParamList* paramList = CAiwGenericParamList::NewLC(); TAiwVariant variantObject( ptr16 ); TAiwGenericParam param( EGenericParamFile, variantObject ); paramList->AppendL( param ); - TRAPD( err, iOpenService = CAknLaunchAppService::NewL( KUidDRMUI, this, paramList ) ); - if (err != KErrNone) - { - // just return to Inbox - } + operation = CDrmMsgWatcherObserver::NewL( + Session(), + CActive::EPriorityStandard, + aStatus, + Type(), + paramList ); CleanupStack::PopAndDestroy( paramList ); // paramList } -#ifdef _DRM_TESTING - WriteL(_L8("LaunchEditorApplicationL-End")); -#endif - return CompletedOperationL( aStatus ); + return operation; } diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmromtm/ui/src/drmmsgwatcherobserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omadrm/drmplugins/drmromtm/ui/src/drmmsgwatcherobserver.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,244 @@ +/* +* Copyright (c) 2010 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: +* Msv operation for drm viewing +* +*/ + + + +#include "drmmsgwatcherobserver.h" + + +// CONSTANTS +const TInt KiProgressBufferSize = 1; + + +// ============================ MEMBER FUNCTIONS =============================== + +// --------------------------------------------------------- +// CDrmMsgWatcherObserver::NewL +// --------------------------------------------------------- +// +CDrmMsgWatcherObserver* CDrmMsgWatcherObserver::NewL( + CMsvSession& aMsvSession, + TInt aPriority, + TRequestStatus& aObserverRequestStatus, + TUid aMtm, + CAiwGenericParamList* aParamList) + { + CDrmMsgWatcherObserver* self = + new(ELeave) CDrmMsgWatcherObserver( + aMsvSession, + aPriority, + aObserverRequestStatus, + aMtm); + CleanupStack::PushL(self); + self->ConstructL( aParamList ); + CleanupStack::Pop(self); + return self; + } + +// --------------------------------------------------------- +// CDrmMsgWatcherObserver::NewL +// --------------------------------------------------------- +// +CDrmMsgWatcherObserver* CDrmMsgWatcherObserver::NewL( + CMsvSession& aMsvSession, + TInt aPriority, + TRequestStatus& aObserverRequestStatus, + TUid aMtm, + const TDesC& aFileName, + TDataType& aDataType ) + { + CDrmMsgWatcherObserver* self = + new(ELeave) CDrmMsgWatcherObserver( + aMsvSession, + aPriority, + aObserverRequestStatus, + aMtm); + CleanupStack::PushL(self); + self->ConstructL( aFileName, aDataType ); + CleanupStack::Pop(self); + return self; + } + + +// --------------------------------------------------------- +// CDrmMsgWatcherObserver::ConstructL +// --------------------------------------------------------- +// +void CDrmMsgWatcherObserver::ConstructL( CAiwGenericParamList* aParamList ) + { + const TUid KUidDRMUI = { 0x101f85c7 }; + iService = CAknLaunchAppService::NewL( KUidDRMUI, this, aParamList ); + iObserverRequestStatus = KRequestPending; + Start(); + } + +// --------------------------------------------------------- +// CDrmMsgWatcherObserver::ConstructL +// --------------------------------------------------------- +// +void CDrmMsgWatcherObserver::ConstructL( const TDesC& aFileName, TDataType& aDataType ) + { + iDocHandler = CDocumentHandler::NewL(); + + iDocHandler->SetExitObserver(this); + + iDocHandler->OpenFileEmbeddedL(aFileName, aDataType); + + iObserverRequestStatus = KRequestPending; + Start(); + } + +// --------------------------------------------------------- +// CDrmMsgWatcherObserver::CDrmMsgWatcherObserver +// --------------------------------------------------------- +// +CDrmMsgWatcherObserver::CDrmMsgWatcherObserver + ( + CMsvSession& aMsvSession, + TInt aPriority, + TRequestStatus& aObserverRequestStatus, + TUid aMtm + ) + : + CMsvOperation( + aMsvSession, + aPriority, + aObserverRequestStatus ) + { + iMtm = aMtm; + } + +// --------------------------------------------------------- +// CDrmMsgWatcherObserver::~CDrmMsgWatcherObserver +// --------------------------------------------------------- +// +CDrmMsgWatcherObserver::~CDrmMsgWatcherObserver() + { + Cancel(); + if( iService ) + { + delete iService; + iService = NULL; + } + if( iDocHandler ) + { + delete iDocHandler; + iDocHandler = NULL; + } + delete iProgress; + } + +// ----------------------------------------------------------------------------- +// CDrmMsgWatcherObserver::DoCancel +// From CActive +// ----------------------------------------------------------------------------- +// +void CDrmMsgWatcherObserver::DoCancel() + { + if ( iStatus == KRequestPending ) + { + TRequestStatus* pstat = &iStatus; + User::RequestComplete( pstat, KErrCancel ); + } + CompleteObserver( KErrCancel ); + } + + +// ----------------------------------------------------------------------------- +// CMsgEditorServerWatchingOperation::ProgressL +// From CMsvOperation +// ----------------------------------------------------------------------------- +// +const TDesC8& CDrmMsgWatcherObserver::ProgressL() + { + if ( !iProgress ) + { + iProgress = HBufC8::NewL( KiProgressBufferSize ); + } + return *iProgress; + } + + +// ----------------------------------------------------------------------------- +// CMsgEditorServerWatchingOperation::FinalProgress +// From CMsvOperation +// ----------------------------------------------------------------------------- +// +const TDesC8& CDrmMsgWatcherObserver::FinalProgress() + { + return *iProgress; + } + + +// ----------------------------------------------------------------------------- +// CDrmMsgWatcherObserver::RunL +// From CActive +// ----------------------------------------------------------------------------- +// +void CDrmMsgWatcherObserver::RunL() + { + CompleteObserver( iStatus.Int( ) ); + } + + +// ----------------------------------------------------------------------------- +// CDrmMsgWatcherObserver::Start +// +// ----------------------------------------------------------------------------- +// +void CDrmMsgWatcherObserver::Start() + { + CActiveScheduler::Add( this ); + iStatus = KRequestPending; + SetActive(); + } + + +// ----------------------------------------------------------------------------- +// CDrmMsgWatcherObserver::CompleteObserver +// Completes observer with the completion code +// ----------------------------------------------------------------------------- +// +void CDrmMsgWatcherObserver::CompleteObserver( TInt aCode ) + { + TRequestStatus* status = &iObserverRequestStatus; + + if( ( *status ) == KRequestPending ) + { + User::RequestComplete( status, aCode ); + } + } + + + +// --------------------------------------------------------- +// CDrmMsgWatcherObserver::HandleServerAppExit +// --------------------------------------------------------- +// +void CDrmMsgWatcherObserver::HandleServerAppExit( TInt aReason ) + { + TInt exitMode = aReason; + if ( iStatus == KRequestPending ) + { + TRequestStatus* pstat = &iStatus; + User::RequestComplete( pstat, exitMode ); + } + MAknServerAppExitObserver::HandleServerAppExit( aReason ); + } + +// End of file diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmplugins/drmromtm/uiData/src/RoMtmDat.cpp --- a/omadrm/drmplugins/drmromtm/uiData/src/RoMtmDat.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmplugins/drmromtm/uiData/src/RoMtmDat.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -560,8 +560,8 @@ { MAknsSkinInstance* skins = AknsUtils::SkinInstance(); TAknsItemID id; - CFbsBitmap* bitmap; - CFbsBitmap* bitmapMask; + //CFbsBitmap* bitmap; + //CFbsBitmap* bitmapMask; CBitmapArray* array = NULL; TParse tp; tp.Set( KRoMtmUiDataBitmapFile, &KDC_APP_BITMAP_DIR, NULL ); diff -r c68061d56109 -r 69d8e75812b7 omadrm/group/bld.inf --- a/omadrm/group/bld.inf Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/group/bld.inf Thu Jun 24 12:39:58 2010 +0300 @@ -111,17 +111,9 @@ // Recognizer ../drmplugins/drmrecognizer/group/RecDRM.mmp -// Ro Handler (only used if OMA DRM 1.0 Full is enabled) -#ifdef __DRM_FULL -../drmplugins/drmrohandler/group/crohandler.mmp -#endif - // DRMFilter ../drmplugins/drmfilter/group/HTTPFilterDRM.mmp -// DRMHelper -../drmhelper/group/Drmhelper.mmp - #ifdef SBSV2 PRJ_EXTENSIONS diff -r c68061d56109 -r 69d8e75812b7 omadrm/omadrm.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omadrm/omadrm.pro Thu Jun 24 12:39:58 2010 +0300 @@ -0,0 +1,24 @@ +# +# Copyright (c) 2010 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: qt changes for OMADRM +# + +TEMPLATE = subdirs + +CONFIG += ordered +DEFINES += __DRM_FULL + +contains(DEFINES, __DRM_FULL): SUBDIRS += drmplugins/drmrohandler/group/rohandler.pro +SUBDIRS += drmhelper/group/drmhelper.pro + diff -r c68061d56109 -r 69d8e75812b7 wmdrm/camese/cameseutility/group/CameseUtility.mmp --- a/wmdrm/camese/cameseutility/group/CameseUtility.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/wmdrm/camese/cameseutility/group/CameseUtility.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -33,7 +33,7 @@ USERINCLUDE ../../inc MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/ecom + LIBRARY euser.lib LIBRARY flogger.lib diff -r c68061d56109 -r 69d8e75812b7 wmdrm/camese/wmdrmdla/group/wmdrmdla.mmp --- a/wmdrm/camese/wmdrmdla/group/wmdrmdla.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/wmdrm/camese/wmdrmdla/group/wmdrmdla.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -43,7 +43,7 @@ USERINCLUDE ../../../inc MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/ecom + LIBRARY euser.lib LIBRARY efsrv.lib diff -r c68061d56109 -r 69d8e75812b7 wmdrm/camese/wmdrmdla/inc/wmdrmdlahttpfwpluginresolver.h --- a/wmdrm/camese/wmdrmdla/inc/wmdrmdlahttpfwpluginresolver.h Fri Jun 11 15:44:45 2010 +0300 +++ b/wmdrm/camese/wmdrmdla/inc/wmdrmdlahttpfwpluginresolver.h Thu Jun 24 12:39:58 2010 +0300 @@ -20,7 +20,7 @@ #define WMDRMDLAHTTPFWPLUGINRESOLVER_H #include -#include +#include class CWmDrmDlaPluginContainer; class CAknIconArray; diff -r c68061d56109 -r 69d8e75812b7 wmdrm/wmdrmengine/wmdrmaccess/group/wmdrmaccess.mmp --- a/wmdrm/wmdrmengine/wmdrmaccess/group/wmdrmaccess.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/wmdrm/wmdrmengine/wmdrmaccess/group/wmdrmaccess.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -30,7 +30,7 @@ SOURCE wmdrmaccess.cpp MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/ecom + USERINCLUDE ../inc diff -r c68061d56109 -r 69d8e75812b7 wmdrm/wmdrmengine/wmdrmaccess/src/wmdrmaccess.cpp --- a/wmdrm/wmdrmengine/wmdrmaccess/src/wmdrmaccess.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/wmdrm/wmdrmengine/wmdrmaccess/src/wmdrmaccess.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -17,7 +17,7 @@ */ #include -#include +#include #include #include diff -r c68061d56109 -r 69d8e75812b7 wmdrm/wmdrmengine/wmdrmagent/group/wmdrmagent.mmp --- a/wmdrm/wmdrmengine/wmdrmagent/group/wmdrmagent.mmp Fri Jun 11 15:44:45 2010 +0300 +++ b/wmdrm/wmdrmengine/wmdrmagent/group/wmdrmagent.mmp Thu Jun 24 12:39:58 2010 +0300 @@ -31,10 +31,6 @@ // Generic MW include paths MW_LAYER_SYSTEMINCLUDE -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/caf -SYSTEMINCLUDE /epoc32/include/Ecom - USERINCLUDE ../inc USERINCLUDE ../../../inc USERINCLUDE ../../asf/inc