# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1282114994 -10800 # Node ID 1e96dbdff71c6f27640468fdaf1386b61fa6272d # Parent 41137c634688904e36223f85676e6e5b51d557af Revision: 201031 Kit: 201033 diff -r 41137c634688 -r 1e96dbdff71c commondrm/drmqtencryptor/drmencryptor.h --- 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; diff -r 41137c634688 -r 1e96dbdff71c commondrm/drmqtencryptor/drmencyptor.cpp --- 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" ); diff -r 41137c634688 -r 1e96dbdff71c commondrm/drmqtencryptor/qt_drmencryptor.pro --- 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 diff -r 41137c634688 -r 1e96dbdff71c commondrm/drmutility/group/qt/drmutilitydmgrwrapper.pro --- 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 " \ + "$${LITERAL_HASH}include " + +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 - + } diff -r 41137c634688 -r 1e96dbdff71c commondrm/rom/DRMEncryptor.iby --- 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 +#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 diff -r 41137c634688 -r 1e96dbdff71c drm_plat/drm_common_api/tsrc/data/mmc/DRM/content.dcf diff -r 41137c634688 -r 1e96dbdff71c drm_plat/drm_rights_api/tsrc/data/c/content.dcf diff -r 41137c634688 -r 1e96dbdff71c drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/data/content.dcf diff -r 41137c634688 -r 1e96dbdff71c omadrm/drmengine/agentv2/src/Oma2AgentContent.cpp --- 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 #include - -//#include - +#include #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); } // ----------------------------------------------------------------------------- diff -r 41137c634688 -r 1e96dbdff71c omadrm/drmengine/group/OmaDrmAgent.mmp --- 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 diff -r 41137c634688 -r 1e96dbdff71c omadrm/drmplugins/drmromtm/group/bld.inf --- 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 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 diff -r 41137c634688 -r 1e96dbdff71c omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp --- 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 // 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); diff -r 41137c634688 -r 1e96dbdff71c wmdrm/wmdrmengine/asf/src/asf.cpp --- 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; }