Revision: 201025
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 06 Jul 2010 14:34:12 +0300
changeset 57 41137c634688
parent 56 88330f36f634
child 59 e824080bd119
child 65 1e96dbdff71c
Revision: 201025 Kit: 2010127
commondrm/commondrm.pro
commondrm/drmbrowserlauncher/bwinscw/DRMBrowserLauncheru.def
commondrm/drmbrowserlauncher/drmbrowserlauncher.pro
commondrm/drmbrowserlauncher/eabi/DRMBrowserLauncheru.def
commondrm/drmbrowserlauncher/src/drmbrowserlauncher.cpp
commondrm/drmqtencryptor/drmencryptor.h
commondrm/drmqtencryptor/drmencyptor.cpp
commondrm/drmqtencryptor/qt_drmencryptor.pro
commondrm/drmrightsmanagerui/group/DRMRightsManager.mmp
commondrm/drmrightsmanagerui/loc/DRMRightsManager.loc
commondrm/drmrightsmanagerui/src/DRMRightsMgrAppUi.cpp
commondrm/drmrightsmanagerui/src/DRMRightsMgrDetailsView.cpp
commondrm/drmui/drmuidialogs/bwinscw/drmuidialogsu.def
commondrm/drmui/drmuidialogs/eabi/drmuidialogsu.def
commondrm/drmui/drmuidialogs/group/bld.inf
commondrm/drmui/drmuidialogs/group/drmuidialogs.mmp
commondrm/drmui/drmuidialogs/inc/drmuidialogs.h
commondrm/drmui/drmuidialogs/rom/drmuidialogs.iby
commondrm/drmui/drmuidialogs/src/drmuidialogs.cpp
commondrm/drmui/drmuinotifications/DRMUINotifications.rss
commondrm/drmui/drmuinotifications/drmuinotifications.pro
commondrm/drmui/drmuinotifications/inc/drmuidialogplugin.h
commondrm/drmui/drmuinotifications/inc/drmuidialogpluginkeys.h
commondrm/drmui/drmuinotifications/inc/drmuidialogsbuilder.h
commondrm/drmui/drmuinotifications/resource/Registeringprog.docml
commondrm/drmui/drmuinotifications/resource/accountupdatequery.docml
commondrm/drmui/drmuinotifications/resource/acquiringlicenceprog.docml
commondrm/drmui/drmuinotifications/resource/copyobjectsquery.docml
commondrm/drmui/drmuinotifications/resource/deletedrmfilequery.docml
commondrm/drmui/drmuinotifications/resource/deregisteredconf.docml
commondrm/drmui/drmuinotifications/resource/deregisteringprog.docml
commondrm/drmui/drmuinotifications/resource/drmuinotifications.qrc
commondrm/drmui/drmuinotifications/resource/filedeletedconf.docml
commondrm/drmui/drmuinotifications/resource/forwardprotectedconf.docml
commondrm/drmui/drmuinotifications/resource/getnewlicencequery.docml
commondrm/drmui/drmuinotifications/resource/infoexpiredornoronote.docml
commondrm/drmui/drmuinotifications/resource/invalidornoapnote.docml
commondrm/drmui/drmuinotifications/resource/licenceexpiredconf.docml
commondrm/drmui/drmuinotifications/resource/moveobjectsquery.docml
commondrm/drmui/drmuinotifications/resource/noconnectiondefinednote.docml
commondrm/drmui/drmuinotifications/resource/nocountquery.docml
commondrm/drmui/drmuinotifications/resource/norightsobjectquery.docml
commondrm/drmui/drmuinotifications/resource/notrecognizedconf.docml
commondrm/drmui/drmuinotifications/resource/nousagequery.docml
commondrm/drmui/drmuinotifications/resource/objectlockedconf.docml
commondrm/drmui/drmuinotifications/resource/openingfailpermnote.docml
commondrm/drmui/drmuinotifications/resource/registeredconf.docml
commondrm/drmui/drmuinotifications/resource/registerfailureconf.docml
commondrm/drmui/drmuinotifications/resource/retryforlicencequery.docml
commondrm/drmui/drmuinotifications/resource/rightsobjectexpiredquery.docml
commondrm/drmui/drmuinotifications/resource/rightsobjectsrecievednote.docml
commondrm/drmui/drmuinotifications/resource/simnotallowedquery.docml
commondrm/drmui/drmuinotifications/resource/unabletocopyconf.docml
commondrm/drmui/drmuinotifications/resource/unabletoderegisterconf.docml
commondrm/drmui/drmuinotifications/resource/unabletomoveconf.docml
commondrm/drmui/drmuinotifications/resource/unabletosendconf.docml
commondrm/drmui/drmuinotifications/resource/unabletosendquery.docml
commondrm/drmui/drmuinotifications/resource/unsupportedconf.docml
commondrm/drmui/drmuinotifications/resource/updatedconf.docml
commondrm/drmui/drmuinotifications/resource/updatefailureconf.docml
commondrm/drmui/drmuinotifications/resource/updatingprog.docml
commondrm/drmui/drmuinotifications/resource/viewrestrictionconf.docml
commondrm/drmui/drmuinotifications/resource/waitingforlicenceconf.docml
commondrm/drmui/drmuinotifications/resource/waitingforrightsobjconf.docml
commondrm/drmui/drmuinotifications/rom/drmuinotifications.iby
commondrm/drmui/drmuinotifications/src/drmuidialogplugin.cpp
commondrm/drmui/drmuinotifications/src/drmuidialogsbuilder.cpp
commondrm/drmui/group/bld.inf
commondrm/drmutility/eabi/DrmUtilityDmgrWrapperu.def
commondrm/drmutility/group/DRMUiHandlingImpl.mmp
commondrm/drmutility/group/bld.inf
commondrm/drmutility/group/drmutilitycommon.mmp
commondrm/drmutility/group/qt/drmuihandlingimpl.pri
commondrm/drmutility/group/qt/drmuihandlingimpl.pro
commondrm/drmutility/group/qt/drmutilitydmgrwrapper.pri
commondrm/drmutility/group/qt/drmutilitydmgrwrapper.pro
commondrm/drmutility/inc/DrmUiHandlingImpl.h
commondrm/drmutility/inc/qdrmutilitydmgreventhandler.h
commondrm/drmutility/src/DrmUiHandlingImpl.cpp
commondrm/drmutility/src/DrmUtilityDmgrWrapper.cpp
commondrm/drmutility/src/drmutilityui.cpp
commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp
commondrm/drmutility/src/qdrmutilitydmgreventhandler.cpp
commondrm/group/bld.inf
commondrm/rom/DRMEncryptor.iby
commondrm/rom/drmbrowserlauncher.iby
drm.pro
drm_plat/drm_common_api/tsrc/data/mmc/DRM/content.dcf
drm_plat/drm_rights_api/tsrc/data/c/content.dcf
drm_plat/wmdrm_access_api/inc/wmdrmaccessecominterface.inl
drm_pub/drm_helper_api/inc/Drmhelper.h
drm_pub/oma_drm_caf_agent_api/tsrc/bc/BCDRMCAFCAPS_exe/group/BCDRMCAFCAPS_exe.mmp
drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/data/content.dcf
drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF.mmp
drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF_nrm.mmp
drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/inc/DRM_CAF.h
inc/DrmUtilityDmgrWrapper.h
inc/drmbrowserlauncher.h
inc/drmuidialogids.h
layers.sysdef.xml
omadrm/drmengine/agentv2/src/Oma2AgentContent.cpp
omadrm/drmengine/drmbackup/inc/DRMBackup.h
omadrm/drmengine/drmbackup/src/DRMBackupObserver.cpp
omadrm/drmengine/group/DRMCommon.mmp
omadrm/drmengine/group/DRM_BAT.mmp
omadrm/drmengine/group/DrmCrypto.mmp
omadrm/drmengine/group/DrmKeyStorage.mmp
omadrm/drmengine/group/DrmParsers.mmp
omadrm/drmengine/group/DrmRights.mmp
omadrm/drmengine/group/DrmServerInterfaces.mmp
omadrm/drmengine/group/DrmStdKeyStorage.mmp
omadrm/drmengine/group/OmaDrmAgent.mmp
omadrm/drmengine/group/ROAPHandler.mmp
omadrm/drmengine/group/RightsServer.mmp
omadrm/drmengine/keystorage/src/DrmStdKeyStorage.cpp
omadrm/drmengine/notifier/inc/DRMMessageStorage.h
omadrm/drmengine/notifier/src/DRMMessageStorage.cpp
omadrm/drmengine/notifier/src/DRMNotifierSession.cpp
omadrm/drmengine/ro/src/DrmRightsParser.cpp
omadrm/drmengine/roap/src/RoapEng.cpp
omadrm/drmengine/roap/src/RoapSigner.cpp
omadrm/drmengine/server/inc/DRMRightsServer.h
omadrm/drmengine/server/src/DRMRightsClient.cpp
omadrm/drmhelper/group/Drmhelper.mmp
omadrm/drmhelper/group/bld.inf
omadrm/drmhelper/group/drmhelper.pro
omadrm/drmhelper/src/drmhelper.cpp
omadrm/drmlicensemanager/group/DRMLicenseChecker.mmp
omadrm/drmlicensemanager/group/DRMLicenseManager.mmp
omadrm/drmlicensemanager/group/drm_lm_bat.mmp
omadrm/drmplugins/drmfilter/group/HTTPFilterDRM.mmp
omadrm/drmplugins/drmfilter/src/HTTPFilterDRM.cpp
omadrm/drmplugins/drmrecognizer/group/RecDRM.mmp
omadrm/drmplugins/drmrecognizer/src/101F51F4.RSS
omadrm/drmplugins/drmrohandler/group/bld.inf
omadrm/drmplugins/drmrohandler/group/crohandler.mmp
omadrm/drmplugins/drmrohandler/group/rohandler.pri
omadrm/drmplugins/drmrohandler/group/rohandler.pro
omadrm/drmplugins/drmrohandler/inc/RoHandlerStringResourceReader.h
omadrm/drmplugins/drmrohandler/inc/StringResourceReader.h
omadrm/drmplugins/drmrohandler/inc/qrohandlerdmgreventhandler.h
omadrm/drmplugins/drmrohandler/inc/rohandlerdmgrwrapper.h
omadrm/drmplugins/drmrohandler/src/CRoHandler.cpp
omadrm/drmplugins/drmrohandler/src/RoHandlerStringResourceReader.cpp
omadrm/drmplugins/drmrohandler/src/StringResourceReader.cpp
omadrm/drmplugins/drmrohandler/src/qrohandlerdmgreventhandler.cpp
omadrm/drmplugins/drmrohandler/src/rohandlerdmgrwrapper.cpp
omadrm/drmplugins/drmromtm/group/RoMtmUi.mmp
omadrm/drmplugins/drmromtm/ui/inc/RoMtmUi.h
omadrm/drmplugins/drmromtm/ui/inc/drmmsgwatcherobserver.h
omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp
omadrm/drmplugins/drmromtm/ui/src/drmmsgwatcherobserver.cpp
omadrm/drmplugins/drmromtm/uiData/src/RoMtmDat.cpp
omadrm/group/bld.inf
omadrm/omadrm.pro
wmdrm/camese/cameseutility/group/CameseUtility.mmp
wmdrm/camese/wmdrmdla/group/wmdrmdla.mmp
wmdrm/camese/wmdrmdla/inc/wmdrmdlahttpfwpluginresolver.h
wmdrm/wmdrmengine/wmdrmaccess/group/wmdrmaccess.mmp
wmdrm/wmdrmengine/wmdrmaccess/src/wmdrmaccess.cpp
wmdrm/wmdrmengine/wmdrmagent/group/wmdrmagent.mmp
--- a/commondrm/commondrm.pro	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/commondrm.pro	Tue Jul 06 14:34:12 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmbrowserlauncher/bwinscw/DRMBrowserLauncheru.def	Tue Jul 06 14:34:12 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)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmbrowserlauncher/drmbrowserlauncher.pro	Tue Jul 06 14:34:12 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
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmbrowserlauncher/eabi/DRMBrowserLauncheru.def	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,5 @@
+EXPORTS
+	_ZN3DRM19CDrmBrowserLauncher10LaunchUrlLER7TDesC16 @ 1 NONAME
+	_ZN3DRM19CDrmBrowserLauncher4NewLEv @ 2 NONAME
+	_ZN3DRM19CDrmBrowserLauncher5NewLCEv @ 3 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmbrowserlauncher/src/drmbrowserlauncher.cpp	Tue Jul 06 14:34:12 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 <QDesktopServices>
+#include <QString>
+#include <QUrl>
+
+// ============================ 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
--- a/commondrm/drmqtencryptor/drmencryptor.h	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmqtencryptor/drmencryptor.h	Tue Jul 06 14:34:12 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;
--- a/commondrm/drmqtencryptor/drmencyptor.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmqtencryptor/drmencyptor.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -41,8 +41,11 @@
 #include <DRMMessageParser.h>
 #include <DcfRep.h>
 #include <DcfEntry.h>
+#include <DRMRights.h>
+//#include <drmbrowserlauncher.h>
 
 #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<TUint16*>(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<const TText*>(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"));
     }
 
--- a/commondrm/drmqtencryptor/qt_drmencryptor.pro	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmqtencryptor/qt_drmencryptor.pro	Tue Jul 06 14:34:12 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
--- a/commondrm/drmrightsmanagerui/group/DRMRightsManager.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmrightsmanagerui/group/DRMRightsManager.mmp	Tue Jul 06 14:34:12 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
--- a/commondrm/drmrightsmanagerui/loc/DRMRightsManager.loc	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmrightsmanagerui/loc/DRMRightsManager.loc	Tue Jul 06 14:34:12 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"
--- a/commondrm/drmrightsmanagerui/src/DRMRightsMgrAppUi.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmrightsmanagerui/src/DRMRightsMgrAppUi.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -33,6 +33,8 @@
 #include <barsread.h>  // for resource reader
 #include <centralrepository.h>
 #include <coeutils.h>
+#include <eikserverapp.h>
+
 
 #include <starterclient.h>
 
@@ -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 
--- a/commondrm/drmrightsmanagerui/src/DRMRightsMgrDetailsView.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmrightsmanagerui/src/DRMRightsMgrDetailsView.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -184,7 +184,7 @@
 
     if ( aCommand == EAknSoftkeyOk )
         {
-            appUi.HandleCommandL( EEikCmdExit ); // Ok softkey was pressed
+            appUi.HandleCommandL( EAknSoftkeyClose ); // Ok softkey was pressed
         }
     else
         {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuidialogs/bwinscw/drmuidialogsu.def	Tue Jul 06 14:34:12 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)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuidialogs/eabi/drmuidialogsu.def	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,5 @@
+EXPORTS
+	_ZN13CDrmUIDialogs4NewLEv @ 1 NONAME
+	_ZN13CDrmUIDialogs5NewLCEv @ 2 NONAME
+	_ZN13CDrmUIDialogs9ShowNoteLEiRK7TDesC16i @ 3 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuidialogs/group/bld.inf	Tue Jul 06 14:34:12 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 <platform_paths.hrh>
+
+PRJ_PLATFORMS
+default
+
+PRJ_EXPORTS
+//drmuidialogs iby files
+../rom/drmuidialogs.iby             CORE_MW_LAYER_IBY_EXPORT_PATH(drmuidialogs.iby)
+
+PRJ_MMPFILES
+../group/drmuidialogs.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuidialogs/group/drmuidialogs.mmp	Tue Jul 06 14:34:12 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 <platform_paths.hrh>
+#include <data_caging_paths.hrh>
+
+
+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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuidialogs/inc/drmuidialogs.h	Tue Jul 06 14:34:12 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 <e32base.h>                            // CActive
+#include <hb/hbcore/hbdevicedialogsymbian.h>    // 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuidialogs/rom/drmuidialogs.iby	Tue Jul 06 14:34:12 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 <data_caging_paths_for_iby.hrh>
+
+file=ABI_DIR\BUILD_DIR\drmuidialogs.dll                        SHARED_LIB_DIR\drmuidialogs.dll
+
+#endif//__DRMUIDIALOGS_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuidialogs/src/drmuidialogs.cpp	Tue Jul 06 14:34:12 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 <hb/hbcore/hbsymbianvariant.h>         // 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<TInt>();
+
+        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;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/DRMUINotifications.rss	Tue Jul 06 14:34:12 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 <appinfo.rh>
+#include <DRMUINotifications.loc>
+
+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 = "";
+		};
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/drmuinotifications.pro	Tue Jul 06 14:34:12 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 <platform_paths.hrh>" \
+    "rom/drmuinotifications.iby CORE_MW_LAYER_IBY_EXPORT_PATH(drmuinotifications.iby)" \
+    "qmakepluginstubs/drmuinotifications.qtplugin /epoc32/data/z/pluginstub/drmuinotifications.qtplugin"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/inc/drmuidialogplugin.h	Tue Jul 06 14:34:12 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 <QObject>
+#include <QVariantMap>
+
+#include <hbdevicedialogplugin.h>
+
+
+class DrmUIDialogPlugin : public HbDeviceDialogPlugin
+
+    {
+Q_OBJECT
+
+public:
+
+    DrmUIDialogPlugin();
+    ~DrmUIDialogPlugin();
+
+    // from base HbDeviceDialogPluginInterface
+    virtual HbDeviceDialogInterface *createDeviceDialog(
+            const QString &deviceDialogType, const QVariantMap &parameters);
+
+    // from base HbDeviceDialogPlugin
+    virtual bool
+            accessAllowed(const QString &deviceDialogType,
+                    const QVariantMap &parameters,
+                    const QVariantMap &securityInfo) const;
+    virtual bool deviceDialogInfo(const QString &deviceDialogType,
+            const QVariantMap &parameters, DeviceDialogInfo *info) const;
+    virtual QStringList deviceDialogTypes() const;
+    virtual PluginFlags pluginFlags() const;
+    virtual int error() const;
+
+private:
+    Q_DISABLE_COPY(DrmUIDialogPlugin)
+
+    };
+
+#endif 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/inc/drmuidialogpluginkeys.h	Tue Jul 06 14:34:12 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 <QString>
+
+
+// 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/inc/drmuidialogsbuilder.h	Tue Jul 06 14:34:12 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 <QObject>
+#include <QVariantMap>
+#include <hbdevicedialoginterface.h>
+
+class HbDocumentLoader;
+class HbDialog;
+
+class DrmUiDialogsBuilder : public QObject, public HbDeviceDialogInterface
+    {
+Q_OBJECT
+public:
+    DrmUiDialogsBuilder(const QVariantMap &parameters);
+    ~DrmUiDialogsBuilder();
+
+public:
+    // from HbDeviceDialogInterface
+    virtual bool setDeviceDialogParameters(const QVariantMap &parameters);
+    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 &parameters);
+
+signals:
+   // signlas needed by HbDeviceDialogInterface
+    void deviceDialogClosed();
+    void deviceDialogData(QVariantMap data);
+
+private:
+    HbDocumentLoader *mLoader;
+    HbDialog * mDialog;
+
+    Q_DISABLE_COPY(DrmUiDialogsBuilder)
+    };
+
+#endif /* DRUMUIDIALOGSBUILDER_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/Registeringprog.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Registering"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Registering phone"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/accountupdatequery.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Update"/>
+    </object>
+    <object name="secondary" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Account Update"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Registration will be updated. Continue?"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+        <ref object="secondary" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/acquiringlicenceprog.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Acquiring licence"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Processing"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/copyobjectsquery.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Copy"/>
+    </object>
+    <object name="secondary" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Copy Objects"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to move protected objects. Move unprotected objects only?"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+        <ref object="secondary" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/deletedrmfilequery.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Delete"/>
+    </object>
+    <object name="secondary" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Delete"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Delete DRM protected file?"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+        <ref object="secondary" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/deregisteredconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Deregistered"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Phone deregistered"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/deregisteringprog.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Deregistering"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Deregistering phone"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/drmuinotifications.qrc	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RCC>
+    <qresource prefix="/xml">
+        <file alias="norightsobjectquery.docml" >norightsobjectquery.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="rightsobjectexpiredquery.docml" >rightsobjectexpiredquery.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="simnotallowedquery.docml" >simnotallowedquery.docml</file>
+    </qresource>
+    
+   <qresource prefix="/xml">
+        <file alias="waitingforrightsobjconf.docml" >waitingforrightsobjconf.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="copyobjectsquery.docml" >copyobjectsquery.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="filedeletedconf.docml" >filedeletedconf.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="deletedrmfilequery.docml" >deletedrmfilequery.docml</file>
+    </qresource>
+    
+   <qresource prefix="/xml">
+        <file alias="moveobjectsquery.docml" >moveobjectsquery.docml</file>
+    </qresource>
+    
+   <qresource prefix="/xml">
+        <file alias="nocountquery.docml" >nocountquery.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="nousagequery.docml" >nousagequery.docml</file>
+    </qresource>
+    
+   <qresource prefix="/xml">
+        <file alias="objectlockedconf.docml" >objectlockedconf.docml</file>
+    </qresource>
+    
+   <qresource prefix="/xml">
+        <file alias="unabletocopyconf.docml" >unabletocopyconf.docml</file>
+    </qresource>
+    
+   <qresource prefix="/xml">
+        <file alias="unabletomoveconf.docml" >unabletomoveconf.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="unsupportedconf.docml" >unsupportedconf.docml</file>
+    </qresource>
+   
+     <qresource prefix="/xml">
+        <file alias="noconnectiondefinednote.docml" >noconnectiondefinednote.docml</file>
+    </qresource>
+    
+   <qresource prefix="/xml">
+        <file alias="invalidornoapnote.docml" >invalidornoapnote.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="openingfailpermnote.docml" >openingfailpermnote.docml</file>
+    </qresource>
+    
+     <qresource prefix="/xml">
+        <file alias="deregisteredconf.docml" >deregisteredconf.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="forwardprotectedconf.docml" >forwardprotectedconf.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="licenceexpiredconf.docml" >licenceexpiredconf.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="notrecognizedconf.docml" >notrecognizedconf.docml</file>
+    </qresource>
+    
+   <qresource prefix="/xml">
+        <file alias="registeredconf.docml" >registeredconf.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="registerfailureconf.docml" >registerfailureconf.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="unabletoderegisterconf.docml" >unabletoderegisterconf.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="unabletosendconf.docml" >unabletosendconf.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="updatedconf.docml" >updatedconf.docml</file>
+    </qresource>
+    
+      <qresource prefix="/xml">
+        <file alias="updatefailureconf.docml" >updatefailureconf.docml</file>
+    </qresource>
+    
+      <qresource prefix="/xml">
+        <file alias="viewrestrictionconf.docml" >viewrestrictionconf.docml</file>
+    </qresource>
+    
+      <qresource prefix="/xml">
+        <file alias="accountupdatequery.docml" >accountupdatequery.docml</file>
+    </qresource>
+
+      <qresource prefix="/xml">
+        <file alias="getnewlicencequery.docml" >getnewlicencequery.docml</file>
+    </qresource>
+    
+   <qresource prefix="/xml">
+        <file alias="retryforlicencequery.docml" >retryforlicencequery.docml</file>
+    </qresource>
+    
+       <qresource prefix="/xml">
+        <file alias="unabletosendquery.docml" >unabletosendquery.docml</file>
+    </qresource>
+    
+   <qresource prefix="/xml">
+        <file alias="rightsobjectsrecievednote.docml" >rightsobjectsrecievednote.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="waitingforlicenceconf.docml" >waitingforlicenceconf.docml</file>
+    </qresource>
+    
+        <qresource prefix="/xml">
+        <file alias="acquiringlicenceprog.docml" >acquiringlicenceprog.docml</file>
+    </qresource>
+    
+   <qresource prefix="/xml">
+        <file alias="deregisteringprog.docml" >deregisteringprog.docml</file>
+    </qresource>
+    
+      <qresource prefix="/xml">
+        <file alias="Registeringprog.docml" >Registeringprog.docml</file>
+    </qresource>
+    
+    <qresource prefix="/xml">
+        <file alias="updatingprog.docml" >updatingprog.docml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/filedeletedconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Deleted"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="File deleted."/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/forwardprotectedconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Forward Protected"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to forward protected objects"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/getnewlicencequery.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Get"/>
+    </object>
+    <object name="secondary" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Get new licence"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Licence not yet recieved. Expected time of delivery elapsed. Get new license?"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+        <ref object="secondary" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/infoexpiredornoronote.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="qtl_dialog_softkey_2_left" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <real name="z" value="2"/>
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to unlock file. Connection failed with used access point."/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <layout spacing="0un" type="grid">
+                <contentsmargins bottom="var(hb-param-margin-view-bottom)" left="var(hb-param-margin-view-left)" right="var(hb-param-margin-view-right)" top="var(hb-param-margin-view-top)"/>
+                <griditem column="0" itemname="qtl_dialog_pri5" row="0"/>
+            </layout>
+        </widget>
+        <sizehint height="42.38806un" type="PREFERRED" width="50.5un"/>
+        <rect height="19.70149un" name="geometry" width="49.10448un" x="2.68657un" y="44.92537un"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/invalidornoapnote.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="qtl_dialog_softkey_2_left" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <real name="z" value="2"/>
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="License has expired or it is missing"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <layout spacing="0un" type="grid">
+                <contentsmargins bottom="var(hb-param-margin-view-bottom)" left="var(hb-param-margin-view-left)" right="var(hb-param-margin-view-right)" top="var(hb-param-margin-view-top)"/>
+                <griditem column="0" itemname="qtl_dialog_pri5" row="0"/>
+            </layout>
+        </widget>
+        <rect height="19.70149un" name="geometry" width="49.10448un" x="2.68657un" y="44.92537un"/>
+        <sizehint height="42.38806un" type="PREFERRED" width="50.5un"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/licenceexpiredconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Licence"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Licence expired"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/moveobjectsquery.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Move"/>
+    </object>
+    <object name="secondary" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Move Objects"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to move protected objects. Move unprotected objects only?"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+        <ref object="secondary" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/noconnectiondefinednote.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="qtl_dialog_softkey_2_left" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <real name="z" value="2"/>
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to unlock file. Define at least one access point."/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <layout spacing="0un" type="grid">
+                <contentsmargins bottom="var(hb-param-margin-view-bottom)" left="var(hb-param-margin-view-left)" right="var(hb-param-margin-view-right)" top="var(hb-param-margin-view-top)"/>
+                <griditem column="0" itemname="qtl_dialog_pri5" row="0"/>
+            </layout>
+        </widget>
+        <sizehint height="42.38806un" type="PREFERRED" width="50.5un"/>
+        <rect height="17.16418un" name="geometry" width="49.10448un" x="2.68657un" y="44.92537un"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/nocountquery.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Extend"/>
+    </object>
+    <object name="secondary" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="No Count"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to use object. Extend to use?"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+        <ref object="secondary" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/norightsobjectquery.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Get"/>
+    </object>
+    <object name="secondary" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="No Rights Object"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="No Rights Object for the file in this device"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+        <ref object="secondary" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/notrecognizedconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Not Recognized"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Account is not recognized"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/nousagequery.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Extend"/>
+    </object>
+    <object name="secondary" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="No Usage"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="No usage time to use. Extend to use?"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+        <ref object="secondary" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/objectlockedconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Object Locked"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to send copyright protected item"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/openingfailpermnote.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <widget name="dialog" type="HbDialog">
+        <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="labelPrimary" type="HbLabel">
+                <enums name="alignment" value="AlignLeft|AlignLeading"/>
+                <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                <string name="plainText" value="Unable to unlock file"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <layout spacing="0un" type="grid">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <griditem column="0" itemname="labelPrimary" row="0"/>
+            </layout>
+        </widget>
+        <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/registeredconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Registered"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Phone registered"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/registerfailureconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Register failure"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to register"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/retryforlicencequery.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Try again"/>
+    </object>
+    <object name="secondary" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Retry for licence"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Licence not received. Try again?"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+        <ref object="secondary" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/rightsobjectexpiredquery.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Update"/>
+    </object>
+    <object name="secondary" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Rights Object Expired"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="No Rights Object for the file in this device"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+        <ref object="secondary" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/rightsobjectsrecievednote.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <widget name="dialog" type="HbDialog">
+        <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="labelPrimary" type="HbLabel">
+                <enums name="alignment" value="AlignLeft|AlignLeading"/>
+                <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                <string name="plainText" value="Rights Objects Recieved"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <layout spacing="0un" type="grid">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <griditem column="0" itemname="labelPrimary" row="0"/>
+            </layout>
+        </widget>
+        <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/simnotallowedquery.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Unlock"/>
+    </object>
+    <object name="secondary" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="File Locked"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="File locked with current SIM card. Unlock for this SIM card?"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+        <ref object="secondary" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/unabletocopyconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Unable to Copy"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to copy protected object to memory card"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/unabletoderegisterconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Unable to deregister"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to deregister phone"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/unabletomoveconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Unable to Move"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to move protected object to memory card."/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/unabletosendconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Unable to send"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to send protected objects"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/unabletosendquery.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Send"/>
+    </object>
+    <object name="secondary" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Send"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to send protected objects. Send unprotected objects only?"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+        <ref object="secondary" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/unsupportedconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Unsupported"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to use object"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/updatedconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Updated"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Registration updated"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/updatefailureconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Update failure"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to update registration"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/updatingprog.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Updating"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Updating registration"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/viewrestrictionconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="View restriction"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to use. Object can only be viewed"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/waitingforlicenceconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Not Ready"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Waiting for licence. Try again later"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/waitingforrightsobjconf.docml	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="primary" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string name="text" value="OK"/>
+    </object>
+    <object name="qtl_dialog_softkey_2_right" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string name="text" value="Cancel"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+            <string name="plainText" value="Object Locked"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="icon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="?"/>
+            </widget>
+            <widget name="qtl_dialog_pri5" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Unable to send protected object"/>
+                <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+            <real name="z" value="0"/>
+            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+            <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="icon"/>
+                <linearitem itemname="qtl_dialog_pri5"/>
+            </layout>
+        </widget>
+        <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+        <ref object="primary" role="HbDialog:primaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/rom/drmuinotifications.iby	Tue Jul 06 14:34:12 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 <data_caging_paths_for_iby.hrh>
+
+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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/src/drmuidialogplugin.cpp	Tue Jul 06 14:34:12 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 <QtPlugin>
+#include <hbdevicedialog.h>
+#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 &parameters, 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 &parameters)
+    {
+    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 &parameters, 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;
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/src/drmuidialogsbuilder.cpp	Tue Jul 06 14:34:12 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 <hbdocumentloader.h>
+#include "drmuidialogpluginkeys.h"
+#include <drmuidialogids.h> 
+#include <hbaction.h>
+#include <hbdialog.h>
+#include <hblabel.h>
+#include <QString>
+#include <HbPopup.h>
+
+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 &parameters) :
+    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 &parameters)
+    {
+    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<DrmUiDialogsBuilder*> (this);
+    }
+
+/*!
+ Return display widget, implementation of interface
+ */
+HbPopup* DrmUiDialogsBuilder::deviceDialogWidget() const
+    {
+    return mDialog;
+    }
+
+/*!
+ Construct display widget
+ */
+bool DrmUiDialogsBuilder::constructDialog(const QVariantMap &parameters)
+    {
+    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<HbDialog*> (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<HbAction*> (mLoader->findObject(
+                            "secondary")), SIGNAL(
+                            triggered()), this, SLOT(cancelDialog()));
+                    connect(qobject_cast<HbAction*> (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<HbAction*> (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<HbAction*> (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();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/group/bld.inf	Tue Jul 06 14:34:12 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  
--- a/commondrm/drmutility/eabi/DrmUtilityDmgrWrapperu.def	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmutility/eabi/DrmUtilityDmgrWrapperu.def	Tue Jul 06 14:34:12 2010 +0300
@@ -1,5 +1,3 @@
-EXPORTS
+EXPORTS	
 	_Z16GateFunctionDMgrv @ 1 NONAME
-	_ZTI22CDrmUtilityDmgrWrapper @ 2 NONAME ; #<TI>#
-	_ZTV22CDrmUtilityDmgrWrapper @ 3 NONAME ; #<VT>#
 
--- a/commondrm/drmutility/group/DRMUiHandlingImpl.mmp	Wed Jun 23 18:30:42 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 <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-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
--- a/commondrm/drmutility/group/bld.inf	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmutility/group/bld.inf	Tue Jul 06 14:34:12 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
 
--- a/commondrm/drmutility/group/drmutilitycommon.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmutility/group/drmutilitycommon.mmp	Tue Jul 06 14:34:12 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
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/group/qt/drmuihandlingimpl.pri	Tue Jul 06 14:34:12 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
+	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/group/qt/drmuihandlingimpl.pro	Tue Jul 06 14:34:12 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 <data_caging_paths.hrh>" \
+	"$${LITERAL_HASH}include <platform_paths.hrh>" 
+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
+	
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/group/qt/drmutilitydmgrwrapper.pri	Tue Jul 06 14:34:12 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
+	
+	
+	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/group/qt/drmutilitydmgrwrapper.pro	Tue Jul 06 14:34:12 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
+	
+	}
+
--- a/commondrm/drmutility/inc/DrmUiHandlingImpl.h	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmutility/inc/DrmUiHandlingImpl.h	Tue Jul 06 14:34:12 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;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/inc/qdrmutilitydmgreventhandler.h	Tue Jul 06 14:34:12 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 <qobject.h>
+
+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
--- a/commondrm/drmutility/src/DrmUiHandlingImpl.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmutility/src/DrmUiHandlingImpl.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -38,12 +38,13 @@
 #include <AiwGenericParam.h>
 #include <apgcli.h>
 
+// DCF repository
+#include <DcfRep.h>
+#include <DcfEntry.h>
+
 // character conversions
 #include <utf.h>
 
-// handling urls
-#include <SchemeHandler.h>
-
 // resources
 #include <data_caging_path_literals.hrh>
 #include <drmutility.rsg>
@@ -58,6 +59,7 @@
 #include <drmutilitytypes.h>
 #include <drmasyncobserver.h>
 #include <drmhandleerrorobserver.h>
+#include <drmbrowserlauncher.h>
 
 //connectivity logic
 #include <cmconnectionmethod.h> // 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();
--- a/commondrm/drmutility/src/DrmUtilityDmgrWrapper.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmutility/src/DrmUtilityDmgrWrapper.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -26,7 +26,6 @@
 #include <StringLoader.h>
 #include <data_caging_path_literals.hrh>
 
-#include <DownloadMgrClient.h> //download manager
 #include <es_enum.h> // tconnectioninfo
 #include <es_enum_partner.h> // TConnectionInfoV2
 #include <es_sock.h> // rconnection rsocket
@@ -41,6 +40,13 @@
 #include <RoapDef.h>
 #include <RoapObserver.h>
 
+// including files related to qt changes
+#include <qstring.h>
+#include <downloadmanager.h>
+#include <download.h>
+#include <dmcommon.h>
+#include <downloadevent.h>
+
 #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<RHttpDownload*> (aDownload)->Delete();
-    }
+template<class _Ty, class _Tf>	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<unsigned long long>(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<HBufC, TFileName> (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<Download*, download_cancel_fnptr> 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 ========
 
 //------------------------------------------------------------------------------
--- a/commondrm/drmutility/src/drmutilityui.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmutility/src/drmutilityui.cpp	Tue Jul 06 14:34:12 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<KDRMUtilityNoteMaxSize> 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<KDRMUtilityNoteMaxSize + KMaxFileName> destBuffer;
-
-
-        TBuf<KDRMUtilityNoteMaxSize> 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<KDRMUtilityNoteMaxSize + KMaxFileName> destBuffer;
-
-        TBuf<KDRMUtilityNoteMaxSize> 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 );
     }
 
 // -----------------------------------------------------------------------------
--- a/commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp	Tue Jul 06 14:34:12 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 );
         }
     }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/src/qdrmutilitydmgreventhandler.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,22 @@
+
+#include <download.h>
+
+#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);
+	}
--- a/commondrm/group/bld.inf	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/group/bld.inf	Tue Jul 06 14:34:12 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"
 
--- a/commondrm/rom/DRMEncryptor.iby	Wed Jun 23 18:30:42 2010 +0300
+++ b/commondrm/rom/DRMEncryptor.iby	Tue Jul 06 14:34:12 2010 +0300
@@ -20,18 +20,9 @@
 #define __DRMENCRYPTOR_IBY__
 
 #include <data_caging_paths_for_iby.hrh>
-#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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/rom/drmbrowserlauncher.iby	Tue Jul 06 14:34:12 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 <data_caging_paths_for_iby.hrh>
+
+file=ABI_DIR\BUILD_DIR\drmbrowserlauncher.dll         SHARED_LIB_DIR\drmbrowserlauncher.dll
+
+#endif // DRMBROWSERLAUNCHER_IBY
--- a/drm.pro	Wed Jun 23 18:30:42 2010 +0300
+++ b/drm.pro	Tue Jul 06 14:34:12 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
--- a/drm_plat/wmdrm_access_api/inc/wmdrmaccessecominterface.inl	Wed Jun 23 18:30:42 2010 +0300
+++ b/drm_plat/wmdrm_access_api/inc/wmdrmaccessecominterface.inl	Tue Jul 06 14:34:12 2010 +0300
@@ -15,7 +15,7 @@
 *  wmdrmaccessecominterface.inl
 *
 */
-#include <ecom.h> // for interface
+#include <ecom/ecom.h> // for interface
 
 // ---------------------------------------------------------------------------
 // CWmDrmAccessEcomInterface::NewL
--- a/drm_pub/drm_helper_api/inc/Drmhelper.h	Wed Jun 23 18:30:42 2010 +0300
+++ b/drm_pub/drm_helper_api/inc/Drmhelper.h	Tue Jul 06 14:34:12 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<CDRMHelperInfoNoteWrapper>      iNoteList;
         
-        CSchemeHandler*         iSchemeHandler;
-
         TBool                   iReturnCancel;
 
         // Used to send cancel events to cover ui
--- a/drm_pub/oma_drm_caf_agent_api/tsrc/bc/BCDRMCAFCAPS_exe/group/BCDRMCAFCAPS_exe.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/drm_pub/oma_drm_caf_agent_api/tsrc/bc/BCDRMCAFCAPS_exe/group/BCDRMCAFCAPS_exe.mmp	Tue Jul 06 14:34:12 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
--- a/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF.mmp	Tue Jul 06 14:34:12 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
--- a/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF_nrm.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF_nrm.mmp	Tue Jul 06 14:34:12 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
 
--- a/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/inc/DRM_CAF.h	Wed Jun 23 18:30:42 2010 +0300
+++ b/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/inc/DRM_CAF.h	Tue Jul 06 14:34:12 2010 +0300
@@ -38,8 +38,7 @@
 #include <s32file.h>
 #include <e32std.h>
 #include <e32base.h>
-#include <data.h>
-//#include <caf.h>
+#include <caf/data.h>
 
 #include <Oma2Agent.h>
 #include <DRMLicenseChecker.h>
--- a/inc/DrmUtilityDmgrWrapper.h	Wed Jun 23 18:30:42 2010 +0300
+++ b/inc/DrmUtilityDmgrWrapper.h	Tue Jul 06 14:34:12 2010 +0300
@@ -20,10 +20,13 @@
 #define CDRMUTILITYDMGRWRAPPER_H
 
 #include <f32file.h> // RFs
-#include <DownloadMgrClient.h>
 #include <RoapObserver.h> // Roap::MRoapObserver
 #include <AknProgressDialog.h> // MAknProgressDialogCallback CAknProgressDialog
 
+// download apis
+#include <downloadmanager.h>
+#include <download.h>
+#include <downloadevent.h>
 
 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/drmbrowserlauncher.h	Tue Jul 06 14:34:12 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 <e32base.h>
+// 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/drmuidialogids.h	Tue Jul 06 14:34:12 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
+
--- a/layers.sysdef.xml	Wed Jun 23 18:30:42 2010 +0300
+++ b/layers.sysdef.xml	Tue Jul 06 14:34:12 2010 +0300
@@ -10,7 +10,7 @@
         <unit unitID="sedo.drm" mrp="" bldFile="&layer_real_source_path;/group" name="drm" />
       </module>
       <module name="">
-        <unit unitID="sedoQT.drm.commondrm.drmqtencryptor" bldFile="&layer_real_source_path;/commondrm/drmqtencryptor" mrp="" name="sedoQT_drm_commondrm_drmqtencryptor" proFile="qt_drmencryptor.pro" qmakeArgs="-r" />
+        <unit unitID="sedoQT.drm" bldFile="&layer_real_source_path;" mrp="" name="sedoQT_drm" proFile="drm.pro" qmakeArgs="-r" />
       </module>
     </layer>
     <layer name="api_test_layer">
--- a/omadrm/drmengine/agentv2/src/Oma2AgentContent.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/agentv2/src/Oma2AgentContent.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -26,7 +26,7 @@
 #include <utf.h>
 
 
-#include <SchemeHandler.h>
+//#include <SchemeHandler.h>
 
 
 #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);
     }
 
--- a/omadrm/drmengine/drmbackup/inc/DRMBackup.h	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/drmbackup/inc/DRMBackup.h	Tue Jul 06 14:34:12 2010 +0300
@@ -22,7 +22,7 @@
 // INCLUDES
 
 #include <e32base.h>	// CBase
-#include <abclient.h>
+#include <connect/abclient.h>
 
 // CONSTANTS
 
--- a/omadrm/drmengine/drmbackup/src/DRMBackupObserver.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/drmbackup/src/DRMBackupObserver.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -21,7 +21,7 @@
 #include    <e32base.h>
 #include    <e32std.h>
 #include    <f32file.h>
-#include    <sbdefs.h> //for KUidBackupRestoreStatus
+#include    <connect/sbdefs.h> //for KUidBackupRestoreStatus
 #include    "DRMBackupObserver.h"
 #include    "DRMRightsServer.h"
 /*
--- a/omadrm/drmengine/group/DRMCommon.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/group/DRMCommon.mmp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmengine/group/DRM_BAT.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/group/DRM_BAT.mmp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmengine/group/DrmCrypto.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/group/DrmCrypto.mmp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmengine/group/DrmKeyStorage.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/group/DrmKeyStorage.mmp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmengine/group/DrmParsers.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/group/DrmParsers.mmp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmengine/group/DrmRights.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/group/DrmRights.mmp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmengine/group/DrmServerInterfaces.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/group/DrmServerInterfaces.mmp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmengine/group/DrmStdKeyStorage.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/group/DrmStdKeyStorage.mmp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmengine/group/OmaDrmAgent.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/group/OmaDrmAgent.mmp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmengine/group/ROAPHandler.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/group/ROAPHandler.mmp	Tue Jul 06 14:34:12 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
 
--- a/omadrm/drmengine/group/RightsServer.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/group/RightsServer.mmp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmengine/keystorage/src/DrmStdKeyStorage.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/keystorage/src/DrmStdKeyStorage.cpp	Tue Jul 06 14:34:12 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 <-"));
--- a/omadrm/drmengine/notifier/inc/DRMMessageStorage.h	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/notifier/inc/DRMMessageStorage.h	Tue Jul 06 14:34:12 2010 +0300
@@ -78,7 +78,7 @@
         *  @param : aMessage - Message related to the reques
         *  @return None
         */
-        void AddSession( CDRMNotifierSession* aSession );
+        TInt AddSession( CDRMNotifierSession* aSession );
 
         /**
         *  UpdateMessage
--- a/omadrm/drmengine/notifier/src/DRMMessageStorage.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/notifier/src/DRMMessageStorage.cpp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmengine/notifier/src/DRMNotifierSession.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/notifier/src/DRMNotifierSession.cpp	Tue Jul 06 14:34:12 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 );
--- a/omadrm/drmengine/ro/src/DrmRightsParser.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/ro/src/DrmRightsParser.cpp	Tue Jul 06 14:34:12 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;
--- a/omadrm/drmengine/roap/src/RoapEng.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/roap/src/RoapEng.cpp	Tue Jul 06 14:34:12 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 );
--- a/omadrm/drmengine/roap/src/RoapSigner.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/roap/src/RoapSigner.cpp	Tue Jul 06 14:34:12 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;
     }
 
--- a/omadrm/drmengine/server/inc/DRMRightsServer.h	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/server/inc/DRMRightsServer.h	Tue Jul 06 14:34:12 2010 +0300
@@ -22,7 +22,7 @@
 //  INCLUDES
 #include <e32base.h>
 #include <f32file.h>
-#include <abclient.h>
+#include <connect/abclient.h>
 #include "drmcommonclientserver.h"
 #include "DRMReplayCache.h"
 #include "drmmeteringdb.h"
--- a/omadrm/drmengine/server/src/DRMRightsClient.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmengine/server/src/DRMRightsClient.cpp	Tue Jul 06 14:34:12 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();
--- a/omadrm/drmhelper/group/Drmhelper.mmp	Wed Jun 23 18:30:42 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 <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-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
--- a/omadrm/drmhelper/group/bld.inf	Wed Jun 23 18:30:42 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
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmhelper/group/drmhelper.pro	Tue Jul 06 14:34:12 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 <data_caging_paths.hrh>" \
+	"$${LITERAL_HASH}include <platform_paths.hrh>"
+
+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"
+	}
+
--- a/omadrm/drmhelper/src/drmhelper.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmhelper/src/drmhelper.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -59,12 +59,12 @@
 
 #include <utf.h>
 
-#include <SchemeHandler.h> // for handling URLs
 #include "DRMHelperServer.h"
 #include "ConsumeData.h"
 #include "DRMTypes.h"
 #include "DRMClockClient.h"
 #include "DRMPointerArray.h"
+#include <drmbrowserlauncher.h>
 
 #include <SecondaryDisplay/DRMHelperSecondaryDisplay.h> // for secondary display support
 #include <AknMediatorFacade.h>
@@ -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();
--- a/omadrm/drmlicensemanager/group/DRMLicenseChecker.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmlicensemanager/group/DRMLicenseChecker.mmp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmlicensemanager/group/DRMLicenseManager.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmlicensemanager/group/DRMLicenseManager.mmp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmlicensemanager/group/drm_lm_bat.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmlicensemanager/group/drm_lm_bat.mmp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmplugins/drmfilter/group/HTTPFilterDRM.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmplugins/drmfilter/group/HTTPFilterDRM.mmp	Tue Jul 06 14:34:12 2010 +0300
@@ -35,7 +35,7 @@
 
 // Default system include paths for middleware layer modules.
 MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/ecom
+
 
 
 SOURCEPATH ../data
--- a/omadrm/drmplugins/drmfilter/src/HTTPFilterDRM.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmplugins/drmfilter/src/HTTPFilterDRM.cpp	Tue Jul 06 14:34:12 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<CHTTPFilterDRM*> ( 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 );
 
             ///
--- a/omadrm/drmplugins/drmrecognizer/group/RecDRM.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmplugins/drmrecognizer/group/RecDRM.mmp	Tue Jul 06 14:34:12 2010 +0300
@@ -32,7 +32,7 @@
 
 // Default system include paths for middleware layer modules.
 MW_LAYER_SYSTEMINCLUDE
-systeminclude	/epoc32/include/ecom
+
 
 source		RecDRM.cpp
 
--- a/omadrm/drmplugins/drmrecognizer/src/101F51F4.RSS	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmplugins/drmrecognizer/src/101F51F4.RSS	Tue Jul 06 14:34:12 2010 +0300
@@ -16,7 +16,7 @@
 */
 
 
-#include <registryinfo.rh>
+#include <ecom/registryinfo.rh>
 RESOURCE REGISTRY_INFO r_registry
 {
 	dll_uid = 0x101F51F4; 		
--- a/omadrm/drmplugins/drmrohandler/group/bld.inf	Wed Jun 23 18:30:42 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 <platform_paths.hrh>
-
-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
--- a/omadrm/drmplugins/drmrohandler/group/crohandler.mmp	Wed Jun 23 18:30:42 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 <platform_paths.hrh>
-
-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 <data_caging_paths.hrh>
-
-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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmplugins/drmrohandler/group/rohandler.pri	Tue Jul 06 14:34:12 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/RoHandlerStringResourceReader.h \
+			../inc/rohandlerdmgrwrapper.h \
+			../inc/qrohandlerdmgreventhandler.h
+
+SOURCES +=	../src/CRoHandler.cpp \
+			../src/RoHandlerStringResourceReader.cpp \
+			../src/rohandlerdmgrwrapper.cpp \
+			../src/qrohandlerdmgreventhandler.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmplugins/drmrohandler/group/rohandler.pro	Tue Jul 06 14:34:12 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 <platform_paths.hrh>" \
+	"$${LITERAL_HASH}include <data_caging_paths.hrh>" 
+
+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
+
+	
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmplugins/drmrohandler/inc/RoHandlerStringResourceReader.h	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2002-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:
+*      Declaration of CRoHandlerStringResourceReader.
+*
+*
+*/
+
+
+#ifndef ROHANDLERSTRINGRESOURCEREADER_H
+#define ROHANDLERSTRINGRESOURCEREADER_H
+
+// INCLUDE FILES
+
+#include <e32base.h>
+#include <e32std.h>
+#include <barsc.h>
+
+// FORWARD DECLARATIONS
+
+class RFs;
+
+// CLASS DECLARATION
+
+/**
+* Utility class that helps reading string resources without CONE.
+* Not intended for derivation.
+*/
+class CRoHandlerStringResourceReader : public CBase
+    {
+    public: // Constructors and destructor
+
+        CRoHandlerStringResourceReader( RFs& aFs, const TDesC& aRscFileWithPathAndDrive );
+
+        ~CRoHandlerStringResourceReader();
+
+    public: // New functions
+
+        /**
+        * Return a given string from resource.
+        * @param aResId Resource ID.
+        * @return See above.
+        */
+        HBufC* AllocReadResourceL( TInt aResId );
+
+    private: // New functions
+
+        void InitializeL();
+
+    private: // Data members
+
+        RFs& iFs;                ///< File server session.
+        TBuf<256> iRscFileName;
+        RResourceFile iResourceFile;
+        TBool iInitialized;
+    };
+
+#endif // ROHANDLERSTRINGRESOURCEREADER_H
+
+// End of file.
--- a/omadrm/drmplugins/drmrohandler/inc/StringResourceReader.h	Wed Jun 23 18:30:42 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2002 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: 
-*      Declaration of CStringResourceReader.
-*      
-*
-*/
-
-
-#ifndef STRINGRESOURCEREADER_H
-#define STRINGRESOURCEREADER_H
-
-// INCLUDE FILES
-
-#include <e32base.h>
-#include <e32std.h>
-#include <barsc.h>
-
-// FORWARD DECLARATIONS
-
-class RFs;
-
-// CLASS DECLARATION
-
-/**
-* Utility class that helps reading string resources without CONE.
-* Not intended for derivation.
-*/
-class CStringResourceReader : public CBase
-    {
-    public: // Constructors and destructor
-
-        CStringResourceReader( RFs& aFs, const TDesC& aRscFileWithPathAndDrive );
-
-        ~CStringResourceReader();
-
-    public: // New functions
-
-        /**
-        * Return a given string from resource.
-        * @param aResId Resource ID.
-        * @return See above.
-        */
-        HBufC* AllocReadResourceL( TInt aResId );
-
-    private: // New functions
-
-        void InitializeL();
-
-    private: // Data members
-
-        RFs& iFs;                ///< File server session.
-        TBuf<256> iRscFileName;
-        RResourceFile iResourceFile;
-        TBool iInitialized;
-    };
-
-#endif // STRINGRESOURCEREADER_H
-
-// End of file.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmplugins/drmrohandler/inc/qrohandlerdmgreventhandler.h	Tue Jul 06 14:34:12 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 <qobject.h>
+
+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
+
--- a/omadrm/drmplugins/drmrohandler/inc/rohandlerdmgrwrapper.h	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmplugins/drmrohandler/inc/rohandlerdmgrwrapper.h	Tue Jul 06 14:34:12 2010 +0300
@@ -19,14 +19,18 @@
 #ifndef ROHANDLERDMGRWRAPPER_H
 #define ROHANDLERDMGRWRAPPER_H
 
-namespace Roap
-    {
-    class MRoapObserver;
-    }
+#include <e32base.h>
+#include <f32file.h>
+
+#include <RoapObserver.h>
+#include <RoapEng.h>
+
+#include <qobject.h>
+#include <downloadmanager.h>
+#include <download.h>
 
 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
--- a/omadrm/drmplugins/drmrohandler/src/CRoHandler.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmplugins/drmrohandler/src/CRoHandler.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -30,7 +30,6 @@
 #include <centralrepository.h>          // link against centralrepository.lib
 #include <msvuids.h>
 #include <msvids.h>
-#include <DownloadMgrClient.h>
 
 #ifdef RD_MULTIPLE_DRIVE
 #include <driveinfo.h>
@@ -46,7 +45,7 @@
 #include "RoMtmCli.h"                       // for CRightsObjectMtmClient
 #include "RoapSyncWrapper.h"
 
-#include "StringResourceReader.h"
+#include "RoHandlerStringResourceReader.h"
 #include "rohandlerdmgrwrapper.h"
 #include "rohandlerinternalcrkeys.h"
 
@@ -99,7 +98,6 @@
 _LIT( KRoHandlerTriggerFilePath, "c:\\system\\data\\" );
 #endif
 
-_LIT( KPushMtmRes, "PushMtmUi.rsc" );
 _LIT( KRoHandlerResourceFile, "RoHandler.rsc" );
 
 _LIT8( KRoapTriggerElement, "roapTrigger" );
@@ -1188,10 +1186,10 @@
     TRAP( r, WriteL( _L8( "ReadFromResourceLC-fs.Connect" ) ) );
 #endif
     CleanupClosePushL( fs );
-    CStringResourceReader* reader(
-        new ( ELeave ) CStringResourceReader( fs, aFile ) );
+    CRoHandlerStringResourceReader* reader(
+        new ( ELeave ) CRoHandlerStringResourceReader( fs, aFile ) );
 #ifdef _DRM_TESTING
-    TRAP( r, WriteL( _L8( "ReadFromResourceLC-CStringResourceReader" ) ) );
+    TRAP( r, WriteL( _L8( "ReadFromResourceLC-CRoHandlerStringResourceReader" ) ) );
 #endif
     CleanupStack::PushL( reader );
     aBuf = reader->AllocReadResourceL( aIndex );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmplugins/drmrohandler/src/RoHandlerStringResourceReader.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,253 @@
+/*
+* Copyright (c) 2002-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 CRoHandlerStringResourceReader
+*
+*
+*/
+
+
+// INCLUDE FILES
+
+#include "RoHandlerStringResourceReader.h"
+#include <f32file.h>
+#include <barsread.h>
+#include <bautils.h>
+
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+//#define _DRM_TESTING
+
+#ifdef _DRM_TESTING
+LOCAL_C void WriteLogL( const TDesC8& text , RFs &aFs );
+LOCAL_C void WriteFileL( const TDesC8& text , RFs &aFs , const TDesC& aName );
+LOCAL_C void CreateLogL();
+LOCAL_C void WriteL( const TDesC8& aText );
+LOCAL_C void WriteL( const TDesC& aText );
+LOCAL_C void WriteL( const TDesC8& aText , TInt aErr );
+LOCAL_C void WriteCurrentTimeL();
+#endif
+
+// -----------------------------------------------------------------------------
+// Testing stuff
+// -----------------------------------------------------------------------------
+//
+
+#ifdef _DRM_TESTING
+LOCAL_C void WriteLogL( const TDesC8& text , RFs &aFs )
+    {
+    _LIT( KLogFile , "c:\\StringResourceReader.txt" );
+    WriteFileL( text , aFs , KLogFile );
+    }
+
+LOCAL_C void WriteFileL( const TDesC8& text , RFs &aFs , const TDesC& aName )
+    {
+    RFile file;
+    TInt size;
+    User::LeaveIfError( file.Open( aFs, aName , EFileWrite ) );
+    CleanupClosePushL( file );
+    User::LeaveIfError( file.Size( size ) );
+    User::LeaveIfError( file.Write( size, text ) );
+    CleanupStack::PopAndDestroy(); //file
+    }
+
+LOCAL_C void CreateLogL()
+    {
+    RFs fs;
+    User::LeaveIfError(fs.Connect());
+    CleanupClosePushL(fs);
+    RFile file;
+    User::LeaveIfError( file.Replace( fs , _L("c:\\StringResourceReader.txt") , EFileWrite ) );
+    file.Close();
+    CleanupStack::PopAndDestroy(); //fs
+    }
+
+LOCAL_C void WriteL( const TDesC& aText )
+    {
+    RFs fs;
+    User::LeaveIfError( fs.Connect() );
+    CleanupClosePushL(fs);
+    HBufC8* text = HBufC8::NewLC(1000);
+    TPtr8 textptr(text->Des() );
+    textptr.Append( aText );
+    textptr.Append( _L8("\r\n") );
+    WriteLogL(textptr , fs);
+    CleanupStack::PopAndDestroy(text);
+    CleanupStack::PopAndDestroy(); //fs
+    WriteCurrentTimeL();
+    }
+
+LOCAL_C void WriteL( const TDesC8& aText )
+    {
+    RFs fs;
+    User::LeaveIfError( fs.Connect() );
+    CleanupClosePushL(fs);
+    HBufC8* text = HBufC8::NewLC(1000);
+    TPtr8 textptr(text->Des() );
+    textptr.Append( aText );
+    textptr.Append( _L8("\r\n") );
+    WriteLogL(textptr , fs);
+    CleanupStack::PopAndDestroy(text);
+    CleanupStack::PopAndDestroy(); //fs
+    WriteCurrentTimeL();
+    }
+
+LOCAL_C void WriteL( const TDesC8& aText , TInt aErr )
+    {
+    _LIT8(KErr,": %d");
+    HBufC8* text = HBufC8::NewLC(1000+20);
+    TBuf8<20> num;
+    TPtr8 textptr(text->Des());
+    textptr.Append(aText);
+    num.Format(KErr(),aErr);
+    textptr.Append(num);
+    WriteL(textptr);
+    CleanupStack::PopAndDestroy(text);
+    }
+
+LOCAL_C void WriteCurrentTimeL()
+    {
+    RFs fs;
+    User::LeaveIfError( fs.Connect() );
+    CleanupClosePushL(fs);
+    HBufC8* text = HBufC8::NewLC(100);
+    TPtr8 textptr(text->Des() );
+// Date and Time display
+    TTime time;
+    time.HomeTime();
+    TBuf<256> dateString;
+    _LIT(KDate,"%*E%*D%X%*N%*Y %1 %2 '%3");
+    time.FormatL(dateString,KDate);
+    textptr.Append(_L( "\r\n\t\tData:\t" ) );
+    textptr.Append( dateString );
+    _LIT(KTime,"%-B%:0%J%:1%T%:2%S%:3%+B");
+    time.FormatL(dateString,KTime);
+    textptr.Append(_L( "\r\n\t\tTime:\t" ) );
+    textptr.Append( dateString );
+    textptr.Append(_L( "\r\n" ) );
+    textptr.Append(_L( "\r\n" ) );
+    WriteLogL(textptr , fs);
+    CleanupStack::PopAndDestroy(text);
+    CleanupStack::PopAndDestroy(); //fs
+    }
+#endif
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CRoHandlerStringResourceReader::CRoHandlerStringResourceReader
+// ---------------------------------------------------------
+//
+CRoHandlerStringResourceReader::CRoHandlerStringResourceReader
+    ( RFs& aFs, const TDesC& aRscFileWithPathAndDrive )
+:   CBase(), iFs( aFs ), iInitialized( EFalse )
+    {
+#ifdef _DRM_TESTING
+    TRAPD(r,CreateLogL());
+    TRAP(r,WriteL(_L8("CRoHandlerStringResourceReader")));
+#endif
+    iRscFileName.Copy( aRscFileWithPathAndDrive );
+    }
+
+// ---------------------------------------------------------
+// CRoHandlerStringResourceReader::~CRoHandlerStringResourceReader
+// ---------------------------------------------------------
+//
+CRoHandlerStringResourceReader::~CRoHandlerStringResourceReader()
+    {
+    iResourceFile.Close();
+#ifdef _DRM_TESTING
+    TRAPD(r,WriteL(_L8("~CRoHandlerStringResourceReader")));
+#endif
+    }
+
+// ---------------------------------------------------------
+// CRoHandlerStringResourceReader::AllocReadResourceL
+// ---------------------------------------------------------
+//
+HBufC* CRoHandlerStringResourceReader::AllocReadResourceL( TInt aResId )
+    {
+#ifdef _DRM_TESTING
+    TRAPD(r,WriteL(_L8("AllocReadResourceL"),aResId));
+#endif
+
+    InitializeL();
+
+#ifdef _DRM_TESTING
+    TRAP(r,WriteL(_L8("AllocReadResourceL-InitializeL")));
+#endif
+
+    HBufC8* buf8 = iResourceFile.AllocReadLC( aResId );
+
+#ifdef _DRM_TESTING
+    TRAP(r,WriteL(_L8("AllocReadResourceL-iResourceFile.AllocReadLC")));
+#endif
+
+#ifdef _UNICODE
+    const TPtrC buf( (const TUint16*)buf8->Ptr(), buf8->Size()/2 );
+#else
+    const TPtrC buf( buf8->Ptr(), buf8->Size() );
+#endif
+    HBufC* retBuf = buf.AllocL();
+    CleanupStack::PopAndDestroy( buf8 );
+
+#ifdef _DRM_TESTING
+    TRAP(r,WriteL(_L8("AllocReadResourceL-End")));
+#endif
+    return retBuf;
+    }
+
+// ---------------------------------------------------------
+// CRoHandlerStringResourceReader::InitializeL
+// ---------------------------------------------------------
+//
+void CRoHandlerStringResourceReader::InitializeL()
+    {
+#ifdef _DRM_TESTING
+    TRAPD(r,WriteL(_L8("InitializeL")));
+#endif
+    if ( !iInitialized )
+        {
+        TFileName resourceFileName( iRscFileName );
+#ifdef _DRM_TESTING
+    TRAP(r,WriteL(_L8("InitializeL-NearestLanguageFile")));
+#endif
+
+#ifdef _DRM_TESTING
+    TRAP(r,WriteL(resourceFileName));
+#endif
+        BaflUtils::NearestLanguageFile( iFs, resourceFileName );
+#ifdef _DRM_TESTING
+    TRAP(r,WriteL(_L8("InitializeL-NearestLanguageFile-End")));
+#endif
+
+        iResourceFile.OpenL( iFs, resourceFileName );
+#ifdef _DRM_TESTING
+    TRAP(r,WriteL(_L8("InitializeL-OpenL-End")));
+#endif
+
+        iResourceFile.ConfirmSignatureL( iResourceFile.SignatureL() );
+#ifdef _DRM_TESTING
+    TRAP(r,WriteL(_L8("InitializeL-ConfirmSignatureL-End")));
+#endif
+        iInitialized = ETrue;
+        }
+#ifdef _DRM_TESTING
+    TRAP(r,WriteL(_L8("InitializeL-End")));
+#endif
+    }
+
+// End of file.
--- a/omadrm/drmplugins/drmrohandler/src/StringResourceReader.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,253 +0,0 @@
-/*
-* Copyright (c) 2002 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 CStringResourceReader
-*
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "StringResourceReader.h"
-#include <f32file.h>
-#include <barsread.h>
-#include <bautils.h>
-
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-//#define _DRM_TESTING
-
-#ifdef _DRM_TESTING
-LOCAL_C void WriteLogL( const TDesC8& text , RFs &aFs );
-LOCAL_C void WriteFileL( const TDesC8& text , RFs &aFs , const TDesC& aName );
-LOCAL_C void CreateLogL();
-LOCAL_C void WriteL( const TDesC8& aText );
-LOCAL_C void WriteL( const TDesC& aText );
-LOCAL_C void WriteL( const TDesC8& aText , TInt aErr );
-LOCAL_C void WriteCurrentTimeL();
-#endif
-
-// -----------------------------------------------------------------------------
-// Testing stuff
-// -----------------------------------------------------------------------------
-//
-
-#ifdef _DRM_TESTING
-LOCAL_C void WriteLogL( const TDesC8& text , RFs &aFs )
-    {
-    _LIT( KLogFile , "c:\\StringResourceReader.txt" );
-    WriteFileL( text , aFs , KLogFile );
-    }
-
-LOCAL_C void WriteFileL( const TDesC8& text , RFs &aFs , const TDesC& aName )
-    {
-    RFile file;
-    TInt size;
-    User::LeaveIfError( file.Open( aFs, aName , EFileWrite ) );
-    CleanupClosePushL( file );
-    User::LeaveIfError( file.Size( size ) );
-    User::LeaveIfError( file.Write( size, text ) );
-    CleanupStack::PopAndDestroy(); //file
-    }
-
-LOCAL_C void CreateLogL()
-    {
-    RFs fs;
-    User::LeaveIfError(fs.Connect());
-    CleanupClosePushL(fs);
-    RFile file;
-    User::LeaveIfError( file.Replace( fs , _L("c:\\StringResourceReader.txt") , EFileWrite ) );
-    file.Close();
-    CleanupStack::PopAndDestroy(); //fs
-    }
-
-LOCAL_C void WriteL( const TDesC& aText )
-    {
-    RFs fs;
-    User::LeaveIfError( fs.Connect() );
-    CleanupClosePushL(fs);
-    HBufC8* text = HBufC8::NewLC(1000);
-    TPtr8 textptr(text->Des() );
-    textptr.Append( aText );
-    textptr.Append( _L8("\r\n") );
-    WriteLogL(textptr , fs);
-    CleanupStack::PopAndDestroy(text);
-    CleanupStack::PopAndDestroy(); //fs
-    WriteCurrentTimeL();
-    }
-
-LOCAL_C void WriteL( const TDesC8& aText )
-    {
-    RFs fs;
-    User::LeaveIfError( fs.Connect() );
-    CleanupClosePushL(fs);
-    HBufC8* text = HBufC8::NewLC(1000);
-    TPtr8 textptr(text->Des() );
-    textptr.Append( aText );
-    textptr.Append( _L8("\r\n") );
-    WriteLogL(textptr , fs);
-    CleanupStack::PopAndDestroy(text);
-    CleanupStack::PopAndDestroy(); //fs
-    WriteCurrentTimeL();
-    }
-
-LOCAL_C void WriteL( const TDesC8& aText , TInt aErr )
-    {
-    _LIT8(KErr,": %d");
-    HBufC8* text = HBufC8::NewLC(1000+20);
-    TBuf8<20> num;
-    TPtr8 textptr(text->Des());
-    textptr.Append(aText);
-    num.Format(KErr(),aErr);
-    textptr.Append(num);
-    WriteL(textptr);
-    CleanupStack::PopAndDestroy(text);
-    }
-
-LOCAL_C void WriteCurrentTimeL()
-    {
-    RFs fs;
-    User::LeaveIfError( fs.Connect() );
-    CleanupClosePushL(fs);
-    HBufC8* text = HBufC8::NewLC(100);
-    TPtr8 textptr(text->Des() );
-// Date and Time display
-    TTime time;
-    time.HomeTime();
-    TBuf<256> dateString;
-    _LIT(KDate,"%*E%*D%X%*N%*Y %1 %2 '%3");
-    time.FormatL(dateString,KDate);
-    textptr.Append(_L( "\r\n\t\tData:\t" ) );
-    textptr.Append( dateString );
-    _LIT(KTime,"%-B%:0%J%:1%T%:2%S%:3%+B");
-    time.FormatL(dateString,KTime);
-    textptr.Append(_L( "\r\n\t\tTime:\t" ) );
-    textptr.Append( dateString );
-    textptr.Append(_L( "\r\n" ) );
-    textptr.Append(_L( "\r\n" ) );
-    WriteLogL(textptr , fs);
-    CleanupStack::PopAndDestroy(text);
-    CleanupStack::PopAndDestroy(); //fs
-    }
-#endif
-
-// ================= MEMBER FUNCTIONS =======================
-
-
-// ---------------------------------------------------------
-// CStringResourceReader::CStringResourceReader
-// ---------------------------------------------------------
-//
-CStringResourceReader::CStringResourceReader
-    ( RFs& aFs, const TDesC& aRscFileWithPathAndDrive )
-:   CBase(), iFs( aFs ), iInitialized( EFalse )
-    {
-#ifdef _DRM_TESTING
-	TRAPD(r,CreateLogL());   
-	TRAP(r,WriteL(_L8("CStringResourceReader")));
-#endif 
-    iRscFileName.Copy( aRscFileWithPathAndDrive );
-    }
-
-// ---------------------------------------------------------
-// CStringResourceReader::~CStringResourceReader
-// ---------------------------------------------------------
-//
-CStringResourceReader::~CStringResourceReader()
-    {
-    iResourceFile.Close();
-#ifdef _DRM_TESTING
-	TRAPD(r,WriteL(_L8("~CStringResourceReader")));
-#endif 
-    }
-
-// ---------------------------------------------------------
-// CStringResourceReader::AllocReadResourceL
-// ---------------------------------------------------------
-//
-HBufC* CStringResourceReader::AllocReadResourceL( TInt aResId )
-    {
-#ifdef _DRM_TESTING
-	TRAPD(r,WriteL(_L8("AllocReadResourceL"),aResId));
-#endif 
-
-    InitializeL();
-
-#ifdef _DRM_TESTING
-	TRAP(r,WriteL(_L8("AllocReadResourceL-InitializeL")));
-#endif 
-
-    HBufC8* buf8 = iResourceFile.AllocReadLC( aResId );
-
-#ifdef _DRM_TESTING
-	TRAP(r,WriteL(_L8("AllocReadResourceL-iResourceFile.AllocReadLC")));
-#endif     
-    
-#ifdef _UNICODE
-    const TPtrC buf( (const TUint16*)buf8->Ptr(), buf8->Size()/2 );
-#else
-    const TPtrC buf( buf8->Ptr(), buf8->Size() );
-#endif
-    HBufC* retBuf = buf.AllocL();
-    CleanupStack::PopAndDestroy( buf8 );
-
-#ifdef _DRM_TESTING
-	TRAP(r,WriteL(_L8("AllocReadResourceL-End")));
-#endif 
-    return retBuf;
-    }
-
-// ---------------------------------------------------------
-// CStringResourceReader::InitializeL
-// ---------------------------------------------------------
-//
-void CStringResourceReader::InitializeL()
-    {
-#ifdef _DRM_TESTING
-	TRAPD(r,WriteL(_L8("InitializeL")));
-#endif 
-    if ( !iInitialized )
-        {
-        TFileName resourceFileName( iRscFileName );
-#ifdef _DRM_TESTING
-	TRAP(r,WriteL(_L8("InitializeL-NearestLanguageFile")));
-#endif 
-
-#ifdef _DRM_TESTING
-	TRAP(r,WriteL(resourceFileName));
-#endif 
-        BaflUtils::NearestLanguageFile( iFs, resourceFileName );
-#ifdef _DRM_TESTING
-	TRAP(r,WriteL(_L8("InitializeL-NearestLanguageFile-End")));
-#endif 
-
-        iResourceFile.OpenL( iFs, resourceFileName );
-#ifdef _DRM_TESTING
-	TRAP(r,WriteL(_L8("InitializeL-OpenL-End")));
-#endif 
-
-        iResourceFile.ConfirmSignatureL( iResourceFile.SignatureL() );
-#ifdef _DRM_TESTING
-	TRAP(r,WriteL(_L8("InitializeL-ConfirmSignatureL-End")));
-#endif 
-        iInitialized = ETrue;
-        }
-#ifdef _DRM_TESTING
-	TRAP(r,WriteL(_L8("InitializeL-End")));
-#endif 
-    }
-
-// End of file.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmplugins/drmrohandler/src/qrohandlerdmgreventhandler.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -0,0 +1,26 @@
+
+#include <download.h>
+
+#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);
+	}
--- a/omadrm/drmplugins/drmrohandler/src/rohandlerdmgrwrapper.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmplugins/drmrohandler/src/rohandlerdmgrwrapper.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -32,8 +32,6 @@
 
 #include <data_caging_path_literals.hrh>
 
-#include <DownloadMgrClient.h>
-
 #include <es_enum.h> // tconnectioninfo
 #include <es_sock.h> // rconnection rsocket
 #include <RoapEng.h>
@@ -41,9 +39,15 @@
 #include <RoapObserver.h>
 #include "RoapSyncWrapper.h"
 
+// Download manager apis
+#include <qobject.h>
+#include <downloadmanager.h>
+#include <download.h>
+
 #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;
     }
+
--- a/omadrm/drmplugins/drmromtm/group/RoMtmUi.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmplugins/drmromtm/group/RoMtmUi.mmp	Tue Jul 06 14:34:12 2010 +0300
@@ -28,6 +28,7 @@
 
 SOURCEPATH      ../ui/src
 SOURCE          RoMtmUi.cpp
+SOURCE          drmmsgwatcherobserver.cpp
 
 USERINCLUDE     ../inc
 USERINCLUDE     ../ui/inc
--- a/omadrm/drmplugins/drmromtm/ui/inc/RoMtmUi.h	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmplugins/drmromtm/ui/inc/RoMtmUi.h	Tue Jul 06 14:34:12 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmplugins/drmromtm/ui/inc/drmmsgwatcherobserver.h	Tue Jul 06 14:34:12 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 <msvapi.h>        // CMsvOperation
+#include <AknServerApp.h>  // MAknServerAppExitObserver
+#include <AknLaunchAppService.h> // app service
+#include <DocumentHandler.h> // 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
--- a/omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -50,6 +50,8 @@
 #include <StringLoader.h> //StringLoader
 #include <ConeResLoader.h> //rconeresloader
 #include <RoMtmUi.rsg> // 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;
     }
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmplugins/drmromtm/ui/src/drmmsgwatcherobserver.cpp	Tue Jul 06 14:34:12 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
--- a/omadrm/drmplugins/drmromtm/uiData/src/RoMtmDat.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/drmplugins/drmromtm/uiData/src/RoMtmDat.cpp	Tue Jul 06 14:34:12 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 );
--- a/omadrm/group/bld.inf	Wed Jun 23 18:30:42 2010 +0300
+++ b/omadrm/group/bld.inf	Tue Jul 06 14:34:12 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
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/omadrm.pro	Tue Jul 06 14:34:12 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
+
--- a/wmdrm/camese/cameseutility/group/CameseUtility.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/wmdrm/camese/cameseutility/group/CameseUtility.mmp	Tue Jul 06 14:34:12 2010 +0300
@@ -33,7 +33,7 @@
 USERINCLUDE             ../../inc
 
 MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE           /epoc32/include/ecom
+
 
 LIBRARY                 euser.lib
 LIBRARY                 flogger.lib
--- a/wmdrm/camese/wmdrmdla/group/wmdrmdla.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/wmdrm/camese/wmdrmdla/group/wmdrmdla.mmp	Tue Jul 06 14:34:12 2010 +0300
@@ -43,7 +43,7 @@
 USERINCLUDE			    ../../../inc
 
 MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE           /epoc32/include/ecom
+
 
 LIBRARY                 euser.lib
 LIBRARY					efsrv.lib
--- a/wmdrm/camese/wmdrmdla/inc/wmdrmdlahttpfwpluginresolver.h	Wed Jun 23 18:30:42 2010 +0300
+++ b/wmdrm/camese/wmdrmdla/inc/wmdrmdlahttpfwpluginresolver.h	Tue Jul 06 14:34:12 2010 +0300
@@ -20,7 +20,7 @@
 #define WMDRMDLAHTTPFWPLUGINRESOLVER_H
 
 #include <e32base.h>
-#include <implementationinformation.h>
+#include <ecom/implementationinformation.h>
 
 class CWmDrmDlaPluginContainer;
 class CAknIconArray;
--- a/wmdrm/wmdrmengine/wmdrmaccess/group/wmdrmaccess.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/wmdrm/wmdrmengine/wmdrmaccess/group/wmdrmaccess.mmp	Tue Jul 06 14:34:12 2010 +0300
@@ -30,7 +30,7 @@
 SOURCE          wmdrmaccess.cpp
 
 MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   /epoc32/include/ecom
+
 
 USERINCLUDE     ../inc
 
--- a/wmdrm/wmdrmengine/wmdrmaccess/src/wmdrmaccess.cpp	Wed Jun 23 18:30:42 2010 +0300
+++ b/wmdrm/wmdrmengine/wmdrmaccess/src/wmdrmaccess.cpp	Tue Jul 06 14:34:12 2010 +0300
@@ -17,7 +17,7 @@
 */
 
 #include <e32base.h>
-#include <ecom.h>
+#include <ecom/ecom.h>
 
 #include <wmdrmaccess.h>
 #include <wmdrmaccessecominterface.h>
--- a/wmdrm/wmdrmengine/wmdrmagent/group/wmdrmagent.mmp	Wed Jun 23 18:30:42 2010 +0300
+++ b/wmdrm/wmdrmengine/wmdrmagent/group/wmdrmagent.mmp	Tue Jul 06 14:34:12 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