Revision: 201031
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 18 Aug 2010 10:03:14 +0300
changeset 65 1e96dbdff71c
parent 57 41137c634688
child 74 2768d547bb4b
Revision: 201031 Kit: 201033
commondrm/drmqtencryptor/drmencryptor.h
commondrm/drmqtencryptor/drmencyptor.cpp
commondrm/drmqtencryptor/qt_drmencryptor.pro
commondrm/drmutility/group/qt/drmutilitydmgrwrapper.pro
commondrm/rom/DRMEncryptor.iby
drm_plat/drm_common_api/tsrc/data/mmc/DRM/content.dcf
drm_plat/drm_rights_api/tsrc/data/c/content.dcf
drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/data/content.dcf
omadrm/drmengine/agentv2/src/Oma2AgentContent.cpp
omadrm/drmengine/group/OmaDrmAgent.mmp
omadrm/drmplugins/drmromtm/group/bld.inf
omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp
wmdrm/wmdrmengine/asf/src/asf.cpp
--- a/commondrm/drmqtencryptor/drmencryptor.h	Tue Jul 06 14:34:12 2010 +0300
+++ b/commondrm/drmqtencryptor/drmencryptor.h	Wed Aug 18 10:03:14 2010 +0300
@@ -60,6 +60,7 @@
     void getDRMClock();
     void startEncrypt();
     void deleteWmDrmDB();
+    void deleteOmaDrmDB();
     void launchBrowser();
     TUint EncryptL(TUint& aEncryptedCount, TUint& aRightsCount, TUint& aMessagesProcessed);
     
@@ -74,6 +75,7 @@
     QAction *iGetDRMClockAct;
     QAction *iEncryptAct;
     QAction *iDeleteWMDRMDBAct;
+    QAction *iDeleteOMADRMDBAct;
     QAction *iLaunchBrowserAct;
     
     DateTimeDialog *iDateTimeDialog;
--- a/commondrm/drmqtencryptor/drmencyptor.cpp	Tue Jul 06 14:34:12 2010 +0300
+++ b/commondrm/drmqtencryptor/drmencyptor.cpp	Wed Aug 18 10:03:14 2010 +0300
@@ -83,16 +83,21 @@
     iDeleteWMDRMDBAct = new QAction(tr("&Delete WMDRM DB"), this);
     iDeleteWMDRMDBAct->setStatusTip(tr("Delete WMDRM Database rights."));
     
+    iDeleteOMADRMDBAct = new QAction(tr("&Delete OMADRM DB"), this);
+    iDeleteOMADRMDBAct->setStatusTip(tr("Delete OMADRM Database rights."));
+    
     menuBar()->addAction(iSetDRMClockAct);
     menuBar()->addAction(iGetDRMClockAct);
     menuBar()->addAction(iEncryptAct);
     menuBar()->addAction(iDeleteWMDRMDBAct);
+    menuBar()->addAction(iDeleteOMADRMDBAct);
     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(iDeleteOMADRMDBAct, SIGNAL(triggered()), this, SLOT(deleteOmaDrmDB()));
     connect(iLaunchBrowserAct, SIGNAL(triggered()), this, SLOT(launchBrowser()));
     
     //setDRMClockButton = new QPushButton("Set DRM Clock", this);
@@ -609,6 +614,16 @@
         }
     }
 
+void DRMEncryptor::deleteOmaDrmDB()
+    {
+    RDRMRightsClient client;
+    User::LeaveIfError(client.Connect());
+    client.DeleteAll();
+    client.Close();
+    }
+
+
+
 void DRMEncryptor::launchBrowser()
     {
     /*_LIT( KTestDrmFile, "c:\\data\\others\\sd_water003.dcf" );
--- a/commondrm/drmqtencryptor/qt_drmencryptor.pro	Tue Jul 06 14:34:12 2010 +0300
+++ b/commondrm/drmqtencryptor/qt_drmencryptor.pro	Wed Aug 18 10:03:14 2010 +0300
@@ -30,4 +30,4 @@
 HEADERS += drmencryptor.h
 FORMS += drmencryptor.ui
 SOURCES += drmencyptor.cpp main.cpp
-LIBS += -lplatformenv -ldrmserviceapi -ldcfrep -ldrmparsers -lfbscli -lcone -lestor -lcaf -lefsrv
+LIBS += -lplatformenv -ldrmserviceapi -ldcfrep -ldrmparsers -lfbscli -lcone -lestor -lcaf -lefsrv -ldrmserverinterfaces
--- a/commondrm/drmutility/group/qt/drmutilitydmgrwrapper.pro	Tue Jul 06 14:34:12 2010 +0300
+++ b/commondrm/drmutility/group/qt/drmutilitydmgrwrapper.pro	Wed Aug 18 10:03:14 2010 +0300
@@ -12,7 +12,7 @@
 #
 # Contributors:
 #
-# Description: 
+# Description:
 #
 
 include ( drmutilitydmgrwrapper.pri )
@@ -20,6 +20,13 @@
 TEMPLATE = lib
 TARGET = DrmUtilityDmgrWrapper
 
+IncludeBlock = \
+	"$${LITERAL_HASH}include <data_caging_paths.hrh>" \
+	"$${LITERAL_HASH}include <platform_paths.hrh>"
+
+MMP_RULES += IncludeBlock
+
+
 SrcIfdefBlock = \
 	"$${LITERAL_HASH}ifdef __DRM" \
 	"SOURCE ../../src/DrmUtilityDmgrWrapper.cpp" \
@@ -29,7 +36,7 @@
 
 MMP_RULES += SrcIfdefBlock
 
-symbian: { 
+symbian: {
 	TARGET.CAPABILITY = CAP_GENERAL_DLL
 	TARGET.VID = VID_DEFAULT
 	TARGET.UID3 = 0x102830FE
@@ -38,7 +45,7 @@
 	INCLUDEPATH += ../../inc
 	INCLUDEPATH += ../../../../omadrm/drmengine/roap/inc
 	INCLUDEPATH += ../../../../inc   // ADo level inc dir
-	INCLUDEPATH += ../../traces      // OST definitions 
+	INCLUDEPATH += ../../traces      // OST definitions
 	INCLUDEPATH += /epoc32/include/platform/mw/cwrt
 
 	LIBS += -leuser
@@ -76,6 +83,6 @@
 	"$${LITERAL_HASH}endif"
 
 	MMP_RULES += defBlock
-	
+
 	}
 
--- a/commondrm/rom/DRMEncryptor.iby	Tue Jul 06 14:34:12 2010 +0300
+++ b/commondrm/rom/DRMEncryptor.iby	Wed Aug 18 10:03:14 2010 +0300
@@ -20,9 +20,10 @@
 #define __DRMENCRYPTOR_IBY__
 
 #include <data_caging_paths_for_iby.hrh>
+#ifndef _IMAGE_TYPE_PRD
 
 S60_APP_EXE(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
 
+#endif //_IMAGE_TYPE_PRD
 #endif
--- a/omadrm/drmengine/agentv2/src/Oma2AgentContent.cpp	Tue Jul 06 14:34:12 2010 +0300
+++ b/omadrm/drmengine/agentv2/src/Oma2AgentContent.cpp	Wed Aug 18 10:03:14 2010 +0300
@@ -25,9 +25,7 @@
 #include <e32test.h>
 #include <utf.h>
 
-
-//#include <SchemeHandler.h>
-
+#include <drmbrowserlauncher.h>
 
 #include "Oma2AgentContent.h"
 #include "Oma2AgentAttributes.h"
@@ -604,11 +602,9 @@
     {
     TRequestStatus *ptr = &aStatus;
     TInt r;
-    //HBufC* b = NULL;
+    HBufC* b = NULL;
 
     r = KErrNotSupported;
-/*
-    CSchemeHandler* handler = NULL;
 
     r = iDcf->OpenPart(aUniqueId);
     if (r == KErrNone && iDcf->iRightsIssuerURL != NULL)
@@ -617,17 +613,17 @@
             *iDcf->iRightsIssuerURL));
         if (b != NULL)
             {
-            TRAP(r, handler = CSchemeHandler::NewL(*b));
-            if (handler != NULL)
-                {
-                TRAP(r, handler->HandleUrlStandaloneL());
-                delete handler;
-                }
+    				DRM::CDrmBrowserLauncher* browserLauncher = DRM::CDrmBrowserLauncher::NewLC();
+    	
+				    browserLauncher->LaunchUrlL(*b);
+    
+    				CleanupStack::PopAndDestroy(); // browserLauncher
+   
             delete b;
             }
         }
-*/
-    User::RequestComplete(ptr, r);
+
+		User::RequestComplete(ptr, r);
     }
 
 // -----------------------------------------------------------------------------
--- a/omadrm/drmengine/group/OmaDrmAgent.mmp	Tue Jul 06 14:34:12 2010 +0300
+++ b/omadrm/drmengine/group/OmaDrmAgent.mmp	Wed Aug 18 10:03:14 2010 +0300
@@ -77,5 +77,6 @@
 LIBRARY			ws32.lib
 LIBRARY			sysutil.lib
 LIBRARY         centralrepository.lib
+LIBRARY         drmbrowserlauncher.lib
 
 SMPSAFE
--- a/omadrm/drmplugins/drmromtm/group/bld.inf	Tue Jul 06 14:34:12 2010 +0300
+++ b/omadrm/drmplugins/drmromtm/group/bld.inf	Wed Aug 18 10:03:14 2010 +0300
@@ -19,12 +19,10 @@
 #include <platform_paths.hrh>
 
 PRJ_PLATFORMS
-    DEFAULT -ARMI
+DEFAULT
 
 
 PRJ_EXPORTS
-../client/inc/romtmcli.h
-../server/inc/romtmser.h
 ../loc/romtmui.loc MW_LAYER_LOC_EXPORT_PATH( romtmui.loc )
 
 
@@ -35,4 +33,4 @@
 RoMtmUi.mmp
 RoMtmDat.mmp
 
-//  End of File  
+//  End of File
--- a/omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp	Tue Jul 06 14:34:12 2010 +0300
+++ b/omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp	Wed Aug 18 10:03:14 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* 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"
@@ -52,6 +52,8 @@
 #include <RoMtmUi.rsg> // test
 #include "drmmsgwatcherobserver.h"
 
+#include "cleanupresetanddestroy.h"
+
 // EXTERNAL DATA STRUCTURES
 // EXTERNAL FUNCTION PROTOTYPES
 // CONSTANTS
@@ -566,7 +568,7 @@
     CRichText& body = BaseMtm().Body();
     TPtrC ptr16( body.Read(0) );
     //const TUid KUidDRMUI = { 0x101f85c7 };
-    CDrmMsgWatcherObserver* operation = NULL;
+    CMsvOperation* operation( NULL );
 
     if ( iType == ERoapTrigger || iType == ERoapTriggerRoAcquisition )
         {
@@ -580,36 +582,39 @@
         ptr.Append(ptr16.Right(ptr16.Length()-4));
 
         show = ShowQueryL(ptr);
+
         if (!show)
             {
-            CleanupStack::PopAndDestroy(filename);
-            return CompletedOperationL( aStatus );
+            operation = CompletedOperationL( aStatus );
+            }
+        else
+            {
+            operation = CDrmMsgWatcherObserver::NewL(
+                    Session(),
+                    CActive::EPriorityStandard,
+                    aStatus,
+                    Type(),
+                    ptr,
+                    type );
             }
 
-	operation = CDrmMsgWatcherObserver::NewL( 
-            Session(),
-            CActive::EPriorityStandard,
-            aStatus,
-            Type(),
-            ptr,
-            type );
+        CleanupStack::PopAndDestroy(filename);
         }
     else
         {
-
         CAiwGenericParamList* paramList = CAiwGenericParamList::NewLC();
         TAiwVariant variantObject( ptr16 );
         TAiwGenericParam param( EGenericParamFile, variantObject );
         paramList->AppendL( param );
 
-	operation = CDrmMsgWatcherObserver::NewL( 
-            Session(),
-            CActive::EPriorityStandard,
-            aStatus,
-            Type(),
-            paramList );
+        operation = CDrmMsgWatcherObserver::NewL(
+                Session(),
+                CActive::EPriorityStandard,
+                aStatus,
+                Type(),
+                paramList );
 
-        CleanupStack::PopAndDestroy( paramList ); // paramList
+        CleanupStack::PopAndDestroy( paramList );
         }
 
     return operation;
@@ -765,9 +770,9 @@
     CleanupStack::PushL(buf);
     roap = Roap::CRoapEng::NewL();
     CleanupStack::PushL(roap);
+    CleanupResetAndDestroyPushL(array);
     roap->SetTriggerL(ptr,NULL,type,status,op,array);
-    array.ResetAndDestroy();
-    array.Close();
+    CleanupStack::PopAndDestroy(&array);
     CleanupStack::PopAndDestroy(roap);
     CleanupStack::PopAndDestroy(buf);
 
--- a/wmdrm/wmdrmengine/asf/src/asf.cpp	Tue Jul 06 14:34:12 2010 +0300
+++ b/wmdrm/wmdrmengine/asf/src/asf.cpp	Wed Aug 18 10:03:14 2010 +0300
@@ -86,6 +86,11 @@
     TInt aOffset,
     TInt aLength );
 
+LOCAL_C HBufC16* HBuf16IgnoreNullL(
+    const TDesC8& aBlock,
+    TInt aOffset,
+    TInt aLength );
+
 LOCAL_C TUint32 ReadUint64FromBlockL( const TDesC8& aBlock, TInt aOffset )
     {
     if ( aBlock.Length() <= ( aOffset + 3 ) )
@@ -140,6 +145,33 @@
 	return buffer;
     }
 
+LOCAL_C HBufC16* HBuf16IgnoreNullL(
+    const TDesC8& aBlock,
+    TInt aOffset,
+    TInt aLength )
+    {
+    if ( aBlock.Length() < ( aOffset + aLength ) )
+        {
+        User::Leave( KErrArgument );
+        }
+    HBufC16* buffer( HBufC16::NewL( aLength / 2 + 1 ) );
+    TPtr ptr( buffer->Des() );
+    
+    for ( TInt i( 0 ) ; i < aLength; i+=2 )
+        {
+        ptr.Append( aBlock[aOffset + i] );
+        }
+    
+    TInt dLength = ptr.Length();
+    
+    if ( dLength != 0 && ptr[dLength - 1] == '\0' )
+        {
+        ptr.SetLength( dLength - 1 );
+        }
+    
+    return buffer;
+    }
+
 // ============================ MEMBER FUNCTIONS ===============================
 
 // -----------------------------------------------------------------------------
@@ -582,15 +614,19 @@
         User::Leave( KErrOverflow );
         }
 
-    iTitle = HBuf16FromBlockL( *iHeaderData, offset, iTitleLength );
+    iTitle = HBuf16IgnoreNullL( *iHeaderData, offset, iTitleLength );
     offset += iTitleLength;
-    iAuthor = HBuf16FromBlockL( *iHeaderData, offset, iAuthorLength );
+    
+    iAuthor = HBuf16IgnoreNullL( *iHeaderData, offset, iAuthorLength );
     offset += iAuthorLength;
-    iCopyright = HBuf16FromBlockL( *iHeaderData, offset, iCopyrightLength );
+    
+    iCopyright = HBuf16IgnoreNullL( *iHeaderData, offset, iCopyrightLength );
     offset += iCopyrightLength;
-    iDescription = HBuf16FromBlockL( *iHeaderData, offset, iDescriptionLength );
+    
+    iDescription = HBuf16IgnoreNullL( *iHeaderData, offset, iDescriptionLength );
     offset += iDescriptionLength;
-    iRating = HBuf16FromBlockL( *iHeaderData, offset, iRatingLength );
+    
+    iRating = HBuf16IgnoreNullL( *iHeaderData, offset, iRatingLength );
     offset += iRatingLength;
     }