--- 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;
}