Revision: 201003 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 19 Feb 2010 23:05:49 +0200
branchRCL_3
changeset 10 89a1f2bd800d
parent 5 79d62d1d7957
child 11 e16d72588c28
Revision: 201003 Kit: 201007
commondrm/drmrightsmanagerui/src/DRMCommonUtilities.cpp
commondrm/drmsettingsplugin/inc/drmsettingsusagecheckbox.h
commondrm/drmsettingsplugin/src/drmsettingsplugin.cpp
commondrm/drmsettingsplugin/src/drmsettingsusagecheckbox.cpp
commondrm/drmutility/src/DrmUiHandlingImpl.cpp
commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp
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/Oma2AgentAttributes.cpp
omadrm/drmengine/keystorage/data/CM/DeviceCert.der
omadrm/drmengine/keystorage/data/CM/DevicePrivateKey.der
omadrm/drmengine/keystorage/data/CM/SigningCert00.der
omadrm/drmengine/keystorage/data/CM/SigningCert01.der
omadrm/drmengine/keystorage/data/CMLA/DeviceCert.der
omadrm/drmengine/keystorage/data/CMLA/DevicePrivateKey.der
omadrm/drmengine/keystorage/data/CMLA/SigningCert00.der
omadrm/drmengine/keystorage/data/CMLA/SigningCert01.der
omadrm/drmengine/keystorage/data/DeviceCert.der
omadrm/drmengine/keystorage/data/DevicePrivateKey.der
omadrm/drmengine/keystorage/data/SigningCert00.der
omadrm/drmengine/keystorage/data/SigningCert01.der
omadrm/drmengine/keystorage/data/UdtCertificate.der
omadrm/drmhelper/src/drmhelper.cpp
omadrm/drmplugins/drmrohandler/src/CRoHandler.cpp
--- a/commondrm/drmrightsmanagerui/src/DRMCommonUtilities.cpp	Tue Feb 02 00:21:44 2010 +0200
+++ b/commondrm/drmrightsmanagerui/src/DRMCommonUtilities.cpp	Fri Feb 19 23:05:49 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* 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"
@@ -308,10 +308,18 @@
     TUint32 drmScheme( EDrmSchemeUnknownDrm );
     params = new( ELeave )CArrayFixFlat<TPtrC>( sizeof( TPtrC ) );
     CleanupStack::PushL( params );
-
+	TChar ch;
+		
+	aLex.Mark();
     while ( !aLex.Eos() )                // Extract the parameters
         {
-        params->AppendL( aLex.NextToken() );
+        ch = aLex.Get();
+        if ( ch == '\x00' ) {
+        	aLex.UnGet();
+            params->AppendL( aLex.MarkedToken() );
+        	aLex.Get();
+            aLex.Mark();
+        	}
         }
 
     TInt startParam = KMaxTInt;
--- a/commondrm/drmsettingsplugin/inc/drmsettingsusagecheckbox.h	Tue Feb 02 00:21:44 2010 +0200
+++ b/commondrm/drmsettingsplugin/inc/drmsettingsusagecheckbox.h	Fri Feb 19 23:05:49 2010 +0200
@@ -27,6 +27,7 @@
 class CDRMSettingUsageList;
 class CDRMSettingsModel;
 class CAknInfoPopupNoteController;
+class CDRMSettingsPlugin;
 
 /**
  * CDrmSettingUsageCheckBox class
@@ -41,7 +42,8 @@
 		*/
 		CDrmSettingUsageCheckBox( TInt aResourceId,
 		                          CDRMSettingUsageList* aList,
-		                          CDRMSettingsModel* aModel );
+		                          CDRMSettingsModel* aModel,
+		                          CDRMSettingsPlugin* aPlugin );
 		                          
 		/**
 		* Destructor.
@@ -73,6 +75,9 @@
         
         // Owned
         CAknInfoPopupNoteController* iPopupController;
+        
+        // Pointer to CDrmSettingsPlugin instance
+        CDRMSettingsPlugin* iDrmSettingsPlugin;
 
     };
 
--- a/commondrm/drmsettingsplugin/src/drmsettingsplugin.cpp	Tue Feb 02 00:21:44 2010 +0200
+++ b/commondrm/drmsettingsplugin/src/drmsettingsplugin.cpp	Fri Feb 19 23:05:49 2010 +0200
@@ -651,9 +651,10 @@
             new (ELeave) CDrmSettingUsageCheckBox(
                 R_DRM_SETTINGS_METERING_CHECKBOX_PAGE,
                 usageList,
-                model ) );
-
-        isValueUpdated =
+                model,
+                this ) );
+                                            
+        isValueUpdated = 
             usageCheckBox->ExecuteLD( CAknSettingPage::EUpdateWhenAccepted );
 
         CleanupStack::PopAndDestroy( usageList );
--- a/commondrm/drmsettingsplugin/src/drmsettingsusagecheckbox.cpp	Tue Feb 02 00:21:44 2010 +0200
+++ b/commondrm/drmsettingsplugin/src/drmsettingsusagecheckbox.cpp	Fri Feb 19 23:05:49 2010 +0200
@@ -25,6 +25,7 @@
 #include "drmsettingsusagecheckbox.h"
 #include "drmsettingsusagelist.h"
 #include "drmsettingsmodel.h"
+#include "drmsettingsplugin.h"
 
 // ================= MEMBER FUNCTIONS =======================
 
@@ -36,9 +37,11 @@
 CDrmSettingUsageCheckBox::CDrmSettingUsageCheckBox( 
     TInt aResourceId,
     CDRMSettingUsageList* aList,
-    CDRMSettingsModel* aModel ) : CAknCheckBoxSettingPage( aResourceId, aList ),
+    CDRMSettingsModel* aModel,
+    CDRMSettingsPlugin* aPlugin ) : CAknCheckBoxSettingPage( aResourceId, aList ),
                                   iList( aList ),
-                                  iModel( aModel )
+                                  iModel( aModel ),
+                                  iDrmSettingsPlugin( aPlugin )
     {
 	}
 
@@ -72,6 +75,11 @@
         ShowInfoPopupL();
         }
     
+    if ( ( aType == EEventKey ) && ( aKeyEvent.iCode == EKeyEscape ) )
+        {
+        iDrmSettingsPlugin->HandleCommandL( EEikCmdExit );
+        }
+    
     return response;
     }
 
--- a/commondrm/drmutility/src/DrmUiHandlingImpl.cpp	Tue Feb 02 00:21:44 2010 +0200
+++ b/commondrm/drmutility/src/DrmUiHandlingImpl.cpp	Fri Feb 19 23:05:49 2010 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+ * Copyright (c) 2006-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"
@@ -3826,7 +3826,7 @@
     __ASSERT_DEBUG( !aLaunchParam && aUrl && aFullPath,
         User::Panic( KDRMUtilityDebugPanicMessage,
             KDRMUtilityDebugPanicCode ) );
-    _LIT( KSpace, " " );
+    _LIT( KMarker, "\x00" );
 
     RPointerArray<CDRMPermission> uriList;
     TPtr ptr( NULL, 0 );
@@ -3850,10 +3850,10 @@
     ptr.AppendNum( localId );
 
     // length of startparam and drm protection scheme are always 1 and
-    // 4 spaces are needed
-    const TInt KSpacesBetweenParams( 4 );
+    // 5 markers are needed
+    const TInt KMarkersForParams( 5 );
     TInt length( 1 + aUrl->Length() + ptr.Length() + aFullPath->Length()
-        + KSpacesBetweenParams + 1 );
+        + KMarkersForParams + 1 );
 
     aLaunchParam = HBufC::NewLC( length );
     ptr.Set( aLaunchParam->Des() );
@@ -3869,20 +3869,21 @@
         {
         ptr.AppendNum( EDrmLaunchParamStandAloneUtility );
         }
-    ptr.Append( KSpace );
+    ptr.Append( KMarker );
     ptr.Append( *localIDBuf );
-    ptr.Append( KSpace );
+    ptr.Append( KMarker );
 
     HBufC* contentUrl( CnvUtfConverter::ConvertToUnicodeFromUtf8L( *aUrl ) );
 
     ptr.Append( *contentUrl );
-    ptr.Append( KSpace );
+    ptr.Append( KMarker );
 
     // OMA DRM protection scheme
     ptr.AppendNum( EDrmSchemeOmaDrm );
-    ptr.Append( KSpace );
+    ptr.Append( KMarker );
 
     ptr.Append( *aFullPath );
+    ptr.Append( KMarker );
 
     delete contentUrl;
 
@@ -3902,13 +3903,13 @@
         User::Panic( KDRMUtilityDebugPanicMessage,
             KDRMUtilityDebugPanicCode ) );
     _LIT( KZero, "0" );
-    _LIT( KSpace, " " );
+    _LIT( KMarker, "\x00" );
 
     TPtr ptr( NULL, 0 );
 
     // Length of startparam and drm protection scheme and zero local id
-    // are always 1 and total of 3 spaces are needed
-    TInt length( 1 + aUrl->Length() + 1 + 3 + 1 );
+    // are always 1 and total of 4 markers are needed
+    TInt length( 1 + aUrl->Length() + 1 + 4 + 1 );
 
     aLaunchParam = HBufC::NewLC( length );
     ptr.Set( aLaunchParam->Des() );
@@ -3924,14 +3925,15 @@
         {
         ptr.AppendNum( EDrmLaunchParamStandAloneUtility );
         }
-    ptr.Append( KSpace );
+    ptr.Append( KMarker );
     // Default value 0 for localId in case of WM DRM file
     ptr.Append( KZero );
-    ptr.Append( KSpace );
+    ptr.Append( KMarker );
     ptr.Append( *aUrl );
-    ptr.Append( KSpace );
+    ptr.Append( KMarker );
     // WM DRM protection scheme
     ptr.AppendNum( EDrmSchemeWmDrm );
+    ptr.Append( KMarker );
 
     CleanupStack::Pop( aLaunchParam );
     }
--- a/commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp	Tue Feb 02 00:21:44 2010 +0200
+++ b/commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp	Fri Feb 19 23:05:49 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-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"
@@ -672,13 +672,13 @@
                                  KWmDrmWrapperDebugPanicCode ) );
 
     _LIT( KZero, "0" );
-    _LIT( KSpace, " " );
+    _LIT( KMarker, "\x00" );
 
     TPtr ptr( NULL, 0 );
 
     // length of startparam and drm protection type indicator and zero local id
-    // are always 1 and total of 3 spaces are needed
-    TInt length( 1 + aUrl->Length() + 1 + 3 + 1 );
+    // are always 1 and total of 4 markers are needed
+    TInt length( 1 + aUrl->Length() + 1 + 4 + 1 );
 
     aLaunchParam = HBufC::NewLC( length );
     ptr.Set( aLaunchParam->Des() );
@@ -694,14 +694,15 @@
         {
         ptr.AppendNum( EDrmLaunchParamStandAloneUtility );
         }
-    ptr.Append( KSpace );
+    ptr.Append( KMarker );
     // Default value 0 for localId in case of WM DRM file
     ptr.Append( KZero );
-    ptr.Append( KSpace );
+    ptr.Append( KMarker );
     ptr.Append( *aUrl );
-    ptr.Append( KSpace );
+    ptr.Append( KMarker );
     // WM DRM protection scheme
     ptr.AppendNum( EDrmSchemeWmDrm );
+	ptr.Append( KMarker );
 
     CleanupStack::Pop( aLaunchParam );
     }
--- a/omadrm/drmengine/agentv2/src/Oma2AgentAttributes.cpp	Tue Feb 02 00:21:44 2010 +0200
+++ b/omadrm/drmengine/agentv2/src/Oma2AgentAttributes.cpp	Fri Feb 19 23:05:49 2010 +0200
@@ -682,7 +682,7 @@
                      }
                 break;
             case DRM::EDrmAllowedOutputs:
-                value = DRM::EDrmAllowAudioAnalog | DRM::EDrmAllowAudioBluetooth | DRM::EDrmAllowVideoMacroVision;
+                value = DRM::EDrmAllowAudioAnalog | DRM::EDrmAllowAudioBluetooth | DRM::EDrmAllowVideoMacroVision | DRM::EDrmAllowAudioFmTransmitter;
                 break;
             case ERightsNone:
                 if (aRightsClient == NULL)
Binary file omadrm/drmengine/keystorage/data/CM/DeviceCert.der has changed
Binary file omadrm/drmengine/keystorage/data/CM/DevicePrivateKey.der has changed
Binary file omadrm/drmengine/keystorage/data/CM/SigningCert00.der has changed
Binary file omadrm/drmengine/keystorage/data/CM/SigningCert01.der has changed
Binary file omadrm/drmengine/keystorage/data/CMLA/DeviceCert.der has changed
Binary file omadrm/drmengine/keystorage/data/CMLA/DevicePrivateKey.der has changed
Binary file omadrm/drmengine/keystorage/data/CMLA/SigningCert00.der has changed
Binary file omadrm/drmengine/keystorage/data/CMLA/SigningCert01.der has changed
Binary file omadrm/drmengine/keystorage/data/DeviceCert.der has changed
Binary file omadrm/drmengine/keystorage/data/DevicePrivateKey.der has changed
Binary file omadrm/drmengine/keystorage/data/SigningCert00.der has changed
Binary file omadrm/drmengine/keystorage/data/SigningCert01.der has changed
Binary file omadrm/drmengine/keystorage/data/UdtCertificate.der has changed
--- a/omadrm/drmhelper/src/drmhelper.cpp	Tue Feb 02 00:21:44 2010 +0200
+++ b/omadrm/drmhelper/src/drmhelper.cpp	Fri Feb 19 23:05:49 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2003-2008 Nokia Corporation and/or its subsidiary(-ies).
+* 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"
@@ -3587,16 +3587,16 @@
     {
     TInt index;
 
-    // MaxInt will fit into 10 characters
-    HBufC* b( HBufC::NewLC( 10 ) );
+    // MaxInt will fit into 11 characters
+    HBufC* b( HBufC::NewLC( 11 ) );
     b->Des().NumUC( aLocalId );
     HBufC* localIDBuf( b->ReAllocL( b->Des().Length() ) );
     CleanupStack::Pop( b );
     b = NULL;
     CleanupStack::PushL( localIDBuf );
 
-    // length of startparam is always 1 and 2 spaces are needed
-    TInt length = 1 + aUrl->Length() + localIDBuf->Des().Length() + 2;
+    // length of startparam is always 1 and some markers are needed
+    TInt length = 1 + aUrl->Length() + localIDBuf->Des().Length() + 4;
 
     aLaunchParam = HBufC::NewMaxL( length );
 
@@ -3604,7 +3604,7 @@
     ptr.SetLength( 0 );
     _LIT( KOne, "1" );
     _LIT( KTwo, "2" );
-    _LIT( KSpace, " " );
+    _LIT( KMarker, "\x00" );
 
     // start param is 1 for embedded launch and 2 for launching details view
     // standalone
@@ -3616,9 +3616,9 @@
         {
         ptr.Append( KTwo() );
         }
-    ptr.Append( KSpace() );
+    ptr.Append( KMarker() );
     ptr.Append( localIDBuf->Des() );
-    ptr.Append( KSpace() );
+    ptr.Append( KMarker() );
 
     index = ptr.Length();
     ptr.SetLength( length );
@@ -3627,6 +3627,8 @@
         ptr[index++] = ( unsigned char ) (*aUrl)[i];
         }
 
+    ptr.Append( KMarker() );
+    
     CleanupStack::PopAndDestroy( localIDBuf );
     }
 
--- a/omadrm/drmplugins/drmrohandler/src/CRoHandler.cpp	Tue Feb 02 00:21:44 2010 +0200
+++ b/omadrm/drmplugins/drmrohandler/src/CRoHandler.cpp	Fri Feb 19 23:05:49 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2004-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"
@@ -715,6 +715,7 @@
     HBufC16 *number( NULL );
     HBufC16 *messageContent( NULL );
     HBufC16* buffer( NULL );
+    _LIT( KMarker, "\x00" );
 
     TInt ret( 0 );
     if ( iMessageBodyPtr.Size() == 0 )
@@ -771,13 +772,15 @@
         TPtr ptr( number->Des() );
         ptr.AppendNum( localId, EDecimal );
 
-        messageContent = HBufC16::NewL( ptr.Length() + uri16.Length() + 4 );
+        messageContent = HBufC16::NewL( ptr.Length() + uri16.Length() + 5 );
         TPtr ptrToMz( messageContent->Des() );
-        ptrToMz.Append( _L( "1 " ) );
+        ptrToMz.Append( _L( "1" ) );
+        ptrToMz.Append( KMarker );
         ptrToMz.Append( ptr ); // add localID
-        ptrToMz.Append( _L( " " ) ); // add space
+        ptrToMz.Append( KMarker );
         ptrToMz.Append( uri16 ); //add uri16
-
+        ptrToMz.Append( KMarker );
+        
         CleanupStack::PopAndDestroy( number );
         CleanupStack::PopAndDestroy( buffer );
         CleanupStack::PushL( messageContent );