201021
authorhgs
Fri, 28 May 2010 23:16:27 +0300
changeset 46 78de010160a8
parent 45 41c97f585365
child 47 5ed7931150e9
201021
commondrm/drmrightsmanagerui/data/DRMRightsManager.rss
commondrm/drmutility/inc/DrmUiHandlingImpl.h
drm_plat/camese_framework_api/camese_framework_api.metaxml
drm_plat/camese_framework_api/group/bld.inf
drm_plat/camese_framework_api/inc/wmdrmdlahandler.h
drm_plat/drm_common_api/tsrc/data/mmc/DRM/content.dcf
drm_plat/drm_rights_api/tsrc/data/c/content.dcf
drm_plat/wmdrm_ota_access_api/inc/wmdrmotaaccess.h
drm_plat/wmdrm_ota_access_api/inc/wmdrmotaaccessecominterface.h
drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/data/content.dcf
omadrm/drmengine/agentv2/src/Oma2AgentManager.cpp
omadrm/drmengine/group/CryptoPrep.flm
omadrm/drmengine/ro/inc/DRMProtectedRoParser.h
wmdrm/camese/wmdrmdla/inc/wmdrmdlahandler.h
wmdrm/camese/wmdrmdlaapp/src/wmdrmdlabrowsercontainer.cpp
wmdrm/camese/wmdrmdladefaulthttpplugin/src/wmdrmdladefaulthttpmanager.cpp
wmdrm/wmdrmengine/wmdrmotaaccess/bwins/wmdrmotaaccessu.def
wmdrm/wmdrmengine/wmdrmotaaccess/eabi/wmdrmotaaccessu.def
wmdrm/wmdrmengine/wmdrmotaaccess/src/wmdrmotaaccess.cpp
wmdrm/wmdrmengine/wmdrmserver/server/inc/clock.h
--- a/commondrm/drmrightsmanagerui/data/DRMRightsManager.rss	Thu May 13 22:40:14 2010 +0300
+++ b/commondrm/drmrightsmanagerui/data/DRMRightsManager.rss	Fri May 28 23:16:27 2010 +0300
@@ -74,7 +74,7 @@
     caption_and_icon =
     CAPTION_AND_ICON_INFO
         {
-        caption = qtn_drm_mgr;
+        caption = " ";
 
 #ifdef __SCALABLE_ICONS
         number_of_icons = 1;
--- a/commondrm/drmutility/inc/DrmUiHandlingImpl.h	Thu May 13 22:40:14 2010 +0300
+++ b/commondrm/drmutility/inc/DrmUiHandlingImpl.h	Fri May 28 23:16:27 2010 +0300
@@ -807,7 +807,7 @@
     * CallSilentAvailble after right
     * @return Etrue, if silent RO rerieval led to usable content
     */
-    TBool CDrmUiHandlingImpl::GetSilentAndCallL(
+    TBool GetSilentAndCallL(
         MDrmHandleErrorObserver* aObserver,
         TInt aOperationId,
         const ContentAccess::TIntent aIntent,
@@ -820,7 +820,7 @@
     * checks status if launched embedded.
     * CallRightsAvailable, if launched embedded or righsUrl not present
     */
-    void CDrmUiHandlingImpl::GetRightsAndCallL(
+    void GetRightsAndCallL(
         MDrmHandleErrorObserver* aObserver,
         TInt aOperationId,
         const ContentAccess::TIntent aIntent,
--- a/drm_plat/camese_framework_api/camese_framework_api.metaxml	Thu May 13 22:40:14 2010 +0300
+++ b/drm_plat/camese_framework_api/camese_framework_api.metaxml	Fri May 28 23:16:27 2010 +0300
@@ -1,14 +1,16 @@
-<?xml version="1.0" ?>
-<api id="bd75b8cdec8227a98d287e7dcb2a3ff1" dataversion="1.0">
-<name>camese framework api</name>
-<description>WMDRM DLA framework plugin interfaces</description>
-<type>c++</type>
-<subsystem>WMDRM</subsystem>
-<libs><lib name="wmdrmdla.lib"/>
-</libs>
-<release category="domain" sinceversion="5.1"/>
-<attributes>
-<htmldocprovided>yes</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
+<?xml version="1.0" encoding="UTF-8"?>
+<api id="bd75b8cdec8227a98d287e7dcb2a3ff1" dataversion="2.0">
+  <name>camese framework api</name>
+  <description>WMDRM DLA framework plugin interfaces
+WMDRM DLA Client API</description>
+  <type>c++</type>
+  <collection>WMDRM</collection>
+  <libs>
+    <lib name="wmdrmdla.lib"/>
+  </libs>
+  <release category="platform" sinceversion="5.1"/>
+  <attributes>
+    <htmldocprovided>yes</htmldocprovided>
+    <adaptation>no</adaptation>
+  </attributes>
 </api>
--- a/drm_plat/camese_framework_api/group/bld.inf	Thu May 13 22:40:14 2010 +0300
+++ b/drm_plat/camese_framework_api/group/bld.inf	Fri May 28 23:16:27 2010 +0300
@@ -29,3 +29,4 @@
 ../inc/wmdrmdlahttpplugin.inl               MW_LAYER_PLATFORM_EXPORT_PATH( wmdrmdlahttpplugin.inl )
 ../inc/wmdrmdlauiplugin.h                   MW_LAYER_PLATFORM_EXPORT_PATH( wmdrmdlauiplugin.h )
 ../inc/wmdrmdlauiplugin.inl                 MW_LAYER_PLATFORM_EXPORT_PATH( wmdrmdlauiplugin.inl )
+../inc/wmdrmdlahandler.h                    MW_LAYER_PLATFORM_EXPORT_PATH( wmdrmdlahandler.h )
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/drm_plat/camese_framework_api/inc/wmdrmdlahandler.h	Fri May 28 23:16:27 2010 +0300
@@ -0,0 +1,171 @@
+/*
+* Copyright (c) 2008-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:  Interface class for WMDRM DLA functionality
+*
+*/
+
+
+#ifndef C_WMDRMDLAHANDLER_H
+#define C_WMDRMDLAHANDLER_H
+
+#include <e32base.h>
+#include <f32file.h>
+
+class CWmDrmDlaHandlerImpl;
+
+/**
+ *  WMDRM DLA Interface
+ *
+ *  @lib wmdrmdla.lib
+ *  @since S60 v9.1
+ */
+NONSHARABLE_CLASS( CWmDrmDlaHandler ) : public CBase
+    {
+
+public:
+
+    IMPORT_C static CWmDrmDlaHandler* NewL();
+    IMPORT_C static CWmDrmDlaHandler* NewLC();
+
+    /**
+    * Destructor.
+    */
+    virtual ~CWmDrmDlaHandler();
+
+    /**
+     * Checks if license acquisition for file is silent
+     *
+     * @param   aFile wmdrm file
+     * @return  ETrue if license acquisition is silent
+     * @leave   KErrNotFound if there is no handler for the file
+     */
+    IMPORT_C TBool SilentL( const RFile& aFile );
+
+    /**
+     * Acquire license based on the file handle
+     *
+     * @param   aFile wmdrm file
+     * @param   aContentUrl contains content URL on return. Can be NULL.
+     * If it's not NULL, it must be freed by caller.  
+     * @param   aHtmlData contains HTML data returned by license server on
+     *                    return. Can be NULL.
+     * If it's not NULL, it must be freed by caller.  
+     * @leave   KErrNotFound if there is no handler for the file
+     */
+    IMPORT_C void AcquireLicenseL( const RFile& aFile, HBufC*& aContentUrl, 
+                                   HBufC*& aHtmlData );
+
+    /**
+     * Acquire license based on the file handle, asynchronous version
+     *
+     * @param   aFile wmdrm file
+     * @param   aContentUrl contains content URL on completion. Can be NULL.
+     * If it's not NULL, it must be freed by caller.  
+     * @param   aHtmlData contains HTML data returned by license server on 
+     *                    completion. Can be NULL.
+     * If it's not NULL, it must be freed by caller.  
+     * @param   aStatus Request status. On completion contains the error code.
+     */
+    IMPORT_C void AcquireLicense( const RFile& aFile, HBufC*& aContentUrl, 
+                                  HBufC*& aHtmlData, TRequestStatus& aStatus );
+
+    /**
+     * Acquire license based on the DRM Header
+     *
+     * @param   aDrmHeader DRM Header
+     * @param   aErrorUrl   URL where error code is sent. Can be NULL.
+     * @param   aContentUrl contains content URL on return. Can be NULL.
+     * If it's not NULL, it must be freed by caller.  
+     * @param   aHtmlData contains HTML data returned by license server on 
+     *                    return. Can be NULL.
+     * If it's not NULL, it must be freed by caller.  
+     * @leave   KErrNotFound if there is no handler for the file
+     */
+    IMPORT_C void AcquireLicenseFromDrmHeaderL( const TDesC8& aDrmHeader,
+                                                HBufC* aErrorUrl,
+                                                HBufC*& aContentUrl, 
+                                                HBufC*& aHtmlData );
+
+    /**
+     * Acquire license based on the DRM Header, asynchronous version
+     *
+     * @param   aDrmHeader DRM Header
+     * @param   aErrorUrl   URL where error code is sent. Can be NULL.
+     * @param   aContentUrl contains content URL on completion. Can be NULL.
+     * If it's not NULL, it must be freed by caller.  
+     * @param   aHtmlData contains HTML data returned by license server on
+     *                    completion. Can be NULL.
+     * If it's not NULL, it must be freed by caller.  
+     * @param   aStatus Request status. On completion contains the error code.
+     */
+    IMPORT_C void AcquireLicenseFromDrmHeader( const TDesC8& aDrmHeader, 
+                                               HBufC* aErrorUrl,
+                                               HBufC*& aContentUrl, 
+                                               HBufC*& aHtmlData, 
+                                               TRequestStatus& aStatus );
+
+    /**
+     * Cancels ongoing license acquisition
+     *
+     */
+    IMPORT_C void CancelLicenseAcquisition();
+
+    /**
+     * Handles metering certificate OTA
+     *
+     * @param   aCertificate metering certificate
+     */
+    IMPORT_C void ProcessMeteringCertificateL( const TDesC8& aCertificate );
+
+    /**
+     * Handles metering certificate OTA, asynchronous version
+     *
+     * @param   aCertificate metering certificate
+     * @param   aStatus Request status. On completion contains the error code.
+     */
+    IMPORT_C void ProcessMeteringCertificate( const TDesC8& aCertificate, 
+                                              TRequestStatus& aStatus );
+
+    /**
+     * Cancels ongoing metering
+     *
+     */
+    IMPORT_C void CancelMetering();
+
+    /**
+     * Sets the IAP to be used in the HTTP transactions
+     *
+     * @param   aIapId  Internet Access Point id
+     */
+    IMPORT_C void SetIapId( TInt aIapId );
+
+protected:
+
+private:
+
+    CWmDrmDlaHandler();
+
+    void ConstructL();
+
+private: // data
+
+    /**
+     * Implementation class
+     * Own.
+     */
+    CWmDrmDlaHandlerImpl* iImpl;
+
+    };
+
+#endif // C_WMDRMDLAHANDLER_H
--- a/drm_plat/wmdrm_ota_access_api/inc/wmdrmotaaccess.h	Thu May 13 22:40:14 2010 +0300
+++ b/drm_plat/wmdrm_ota_access_api/inc/wmdrmotaaccess.h	Fri May 28 23:16:27 2010 +0300
@@ -28,7 +28,9 @@
 *  Functionality
 *
 *  @code
-*  // Way to use CWmDrmOtaAccess
+*  Only one asynchronous operation can be happening at a time.
+*  If another call for async operation is received, this will result in
+*  KErrInUse leave code.
 *
 *  CWmDrmOtaAccess* access( CWmDrmOtaAccess::NewL() );
 *  delete access;
@@ -104,6 +106,17 @@
     */
     IMPORT_C void HandleLicenseResponseL( const TDesC8& aResponse, 
                                           TRequestStatus& aStatus );
+                                          
+                                          
+    /**
+    *  CancelAllAsync
+    *
+    *  Cancel all async methods        
+    *
+    *  @return  None    
+    */
+    IMPORT_C void CancelAllAsync();                              
+                                          
 
 private:
     /** Default constructor */
@@ -116,3 +129,4 @@
 
     };
 #endif // _WMDRM_OTA_ACCESS_API_H_
+
--- a/drm_plat/wmdrm_ota_access_api/inc/wmdrmotaaccessecominterface.h	Thu May 13 22:40:14 2010 +0300
+++ b/drm_plat/wmdrm_ota_access_api/inc/wmdrmotaaccessecominterface.h	Fri May 28 23:16:27 2010 +0300
@@ -22,9 +22,9 @@
 #include <e32base.h>
 
 // Class declaration
-// CWmDrmAccessEcomInterface
-// ecom plugin interface for WM DRM access implementation
-// @see CWmDrmAccess
+// CWmDrmOtaAccessEcomInterface
+// ecom plugin interface for WM DRM ota access implementation
+// @see CWmDrmOtaAccess
 NONSHARABLE_CLASS( CWmDrmOtaAccessEcomInterface ) : public CBase
     {
 public:
@@ -94,6 +94,16 @@
     */
     virtual void HandleLicenseResponseL( const TDesC8& aResponse, 
                                          TRequestStatus& aStatus ) = 0;
+                                              
+    /**
+    *  CancelAllAsync
+    *
+    *  Cancel all async methods        
+    *
+    *  @return  None    
+    */
+    virtual void CancelAllAsync() = 0;                                              
+                                         
 
 private:
     // internal variable used on freeing ecom related resources
@@ -101,4 +111,6 @@
     };
 
 #include "wmdrmotaaccessecominterface.inl"
+
 #endif _WMDRMOTAACCESSECOMINTERFACE_H_
+
--- a/omadrm/drmengine/agentv2/src/Oma2AgentManager.cpp	Thu May 13 22:40:14 2010 +0300
+++ b/omadrm/drmengine/agentv2/src/Oma2AgentManager.cpp	Fri May 28 23:16:27 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005 - 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005 - 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"
@@ -972,27 +972,7 @@
 //
 void COma2AgentManager::DisplayManagementInfoL()
     {
-    TUid KRightsManagerUid = TUid::Uid(0x101F85C7);
-    RWsSession wsSession;
-    RApaLsSession appArcSession;
-    TThreadId id;
-
-    User::LeaveIfError(wsSession.Connect());
-    CleanupClosePushL(wsSession);
-    TApaTaskList tasklist(wsSession);
-    TApaTask task = tasklist.FindApp(KRightsManagerUid);
-    if (task.Exists())
-        {
-        task.SendMessage(TUid::Uid(KUidApaMessageSwitchOpenFileValue),
-            KNullDesC8);
-        }
-    else
-        {
-        User::LeaveIfError(appArcSession.Connect());
-        appArcSession.StartDocument(_L("0"), KRightsManagerUid, id);
-        appArcSession.Close();
-        }
-    CleanupStack::PopAndDestroy();
-    }
+    User::Leave(KErrCANotSupported);
+  	}
 
 //  End of File
--- a/omadrm/drmengine/group/CryptoPrep.flm	Thu May 13 22:40:14 2010 +0300
+++ b/omadrm/drmengine/group/CryptoPrep.flm	Fri May 28 23:16:27 2010 +0300
@@ -13,9 +13,6 @@
 # Description: DRM Crypto Library build configuration
 #
 
-TMPROOT:=$(subst \,/,$(EPOCROOT))
-EPOCROOT:=$(patsubst %/,%,$(TMPROOT))/
-
 CREATABLEPATH:=$(EXTENSION_ROOT)/../drmengine/drmcrypto/build
 CLEANTARGETS:=$(CREATABLEPATH)/cmlacrypto.cpp $(CREATABLEPATH)/omacrypto.cpp
 
--- a/omadrm/drmengine/ro/inc/DRMProtectedRoParser.h	Thu May 13 22:40:14 2010 +0300
+++ b/omadrm/drmengine/ro/inc/DRMProtectedRoParser.h	Fri May 28 23:16:27 2010 +0300
@@ -278,9 +278,8 @@
         * @since Series 60 3.0
         * @param aProtectedRo protected RO element
         * @return protected RO element, if namespace was not added NULL
-        */
-        HBufC8* CDrmProtectedRoParser::AddRoapNamespaceL(
-            TDesC8& aProtectedRo ) const;
+        */    
+        HBufC8* AddRoapNamespaceL( TDesC8& aProtectedRo ) const;
 
     private:
 
--- a/wmdrm/camese/wmdrmdla/inc/wmdrmdlahandler.h	Thu May 13 22:40:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Interface class for WMDRM DLA functionality
-*
-*/
-
-
-#ifndef C_WMDRMDLAHANDLER_H
-#define C_WMDRMDLAHANDLER_H
-
-#include <e32base.h>
-#include <f32file.h>
-
-class CWmDrmDlaHandlerImpl;
-
-/**
- *  WMDRM DLA Interface
- *
- *  @lib wmdrmdla.lib
- *  @since S60 v9.1
- */
-NONSHARABLE_CLASS( CWmDrmDlaHandler ) : public CBase
-    {
-
-public:
-
-    IMPORT_C static CWmDrmDlaHandler* NewL();
-    IMPORT_C static CWmDrmDlaHandler* NewLC();
-
-    /**
-    * Destructor.
-    */
-    virtual ~CWmDrmDlaHandler();
-
-    /**
-     * Checks if license acquisition for file is silent
-     *
-     * @param   aFile wmdrm file
-     * @return  ETrue if license acquisition is silent
-     * @leave   KErrNotFound if there is no handler for the file
-     */
-    IMPORT_C TBool SilentL( const RFile& aFile );
-
-    /**
-     * Acquire license based on the file handle
-     *
-     * @param   aFile wmdrm file
-     * @param   aContentUrl contains content URL on return. Can be NULL.
-     * If it's not NULL, it must be freed by caller.  
-     * @param   aHtmlData contains HTML data returned by license server on
-     *                    return. Can be NULL.
-     * If it's not NULL, it must be freed by caller.  
-     * @leave   KErrNotFound if there is no handler for the file
-     */
-    IMPORT_C void AcquireLicenseL( const RFile& aFile, HBufC*& aContentUrl, 
-                                   HBufC*& aHtmlData );
-
-    /**
-     * Acquire license based on the file handle, asynchronous version
-     *
-     * @param   aFile wmdrm file
-     * @param   aContentUrl contains content URL on completion. Can be NULL.
-     * If it's not NULL, it must be freed by caller.  
-     * @param   aHtmlData contains HTML data returned by license server on 
-     *                    completion. Can be NULL.
-     * If it's not NULL, it must be freed by caller.  
-     * @param   aStatus Request status. On completion contains the error code.
-     */
-    IMPORT_C void AcquireLicense( const RFile& aFile, HBufC*& aContentUrl, 
-                                  HBufC*& aHtmlData, TRequestStatus& aStatus );
-
-    /**
-     * Acquire license based on the DRM Header
-     *
-     * @param   aDrmHeader DRM Header
-     * @param   aErrorUrl   URL where error code is sent. Can be NULL.
-     * @param   aContentUrl contains content URL on return. Can be NULL.
-     * If it's not NULL, it must be freed by caller.  
-     * @param   aHtmlData contains HTML data returned by license server on 
-     *                    return. Can be NULL.
-     * If it's not NULL, it must be freed by caller.  
-     * @leave   KErrNotFound if there is no handler for the file
-     */
-    IMPORT_C void AcquireLicenseFromDrmHeaderL( const TDesC8& aDrmHeader,
-                                                HBufC* aErrorUrl,
-                                                HBufC*& aContentUrl, 
-                                                HBufC*& aHtmlData );
-
-    /**
-     * Acquire license based on the DRM Header, asynchronous version
-     *
-     * @param   aDrmHeader DRM Header
-     * @param   aErrorUrl   URL where error code is sent. Can be NULL.
-     * @param   aContentUrl contains content URL on completion. Can be NULL.
-     * If it's not NULL, it must be freed by caller.  
-     * @param   aHtmlData contains HTML data returned by license server on
-     *                    completion. Can be NULL.
-     * If it's not NULL, it must be freed by caller.  
-     * @param   aStatus Request status. On completion contains the error code.
-     */
-    IMPORT_C void AcquireLicenseFromDrmHeader( const TDesC8& aDrmHeader, 
-                                               HBufC* aErrorUrl,
-                                               HBufC*& aContentUrl, 
-                                               HBufC*& aHtmlData, 
-                                               TRequestStatus& aStatus );
-
-    /**
-     * Cancels ongoing license acquisition
-     *
-     */
-    IMPORT_C void CancelLicenseAcquisition();
-
-    /**
-     * Handles metering certificate OTA
-     *
-     * @param   aCertificate metering certificate
-     */
-    IMPORT_C void ProcessMeteringCertificateL( const TDesC8& aCertificate );
-
-    /**
-     * Handles metering certificate OTA, asynchronous version
-     *
-     * @param   aCertificate metering certificate
-     * @param   aStatus Request status. On completion contains the error code.
-     */
-    IMPORT_C void ProcessMeteringCertificate( const TDesC8& aCertificate, 
-                                              TRequestStatus& aStatus );
-
-    /**
-     * Cancels ongoing metering
-     *
-     */
-    IMPORT_C void CancelMetering();
-
-    /**
-     * Sets the IAP to be used in the HTTP transactions
-     *
-     * @param   aIapId  Internet Access Point id
-     */
-    IMPORT_C void SetIapId( TInt aIapId );
-
-protected:
-
-private:
-
-    CWmDrmDlaHandler();
-
-    void ConstructL();
-
-private: // data
-
-    /**
-     * Implementation class
-     * Own.
-     */
-    CWmDrmDlaHandlerImpl* iImpl;
-
-    };
-
-#endif // C_WMDRMDLAHANDLER_H
--- a/wmdrm/camese/wmdrmdlaapp/src/wmdrmdlabrowsercontainer.cpp	Thu May 13 22:40:14 2010 +0300
+++ b/wmdrm/camese/wmdrmdlaapp/src/wmdrmdlabrowsercontainer.cpp	Fri May 28 23:16:27 2010 +0300
@@ -107,6 +107,10 @@
 //
 CWmDrmDlaBrowserContainer::~CWmDrmDlaBrowserContainer()
     {
+    if(iBrCtlInterface != NULL)
+    {
+    TRAP_IGNORE( iBrCtlInterface->HandleCommandL( (TInt)TBrCtlDefs::ECommandCancelFetch + (TInt)TBrCtlDefs::ECommandIdBase ));	
+    }	
     delete iBrCtlInterface;
     }
 
--- a/wmdrm/camese/wmdrmdladefaulthttpplugin/src/wmdrmdladefaulthttpmanager.cpp	Thu May 13 22:40:14 2010 +0300
+++ b/wmdrm/camese/wmdrmdladefaulthttpplugin/src/wmdrmdladefaulthttpmanager.cpp	Fri May 28 23:16:27 2010 +0300
@@ -162,6 +162,8 @@
             HandleDownloadComplete( KErrCancel );
             }
         }
+	// Close the HTTP session in use
+    iHttpSession.Close();
 
     CleanupConnection();
     DeleteUsernamePassword();
@@ -565,6 +567,9 @@
     GetConnectionInfoL( info );
     iIapNumber = info.iIapId;
 
+    // Close old session:
+    iHttpSession.Close();    
+
     // Open session
     iHttpSession.OpenL();
     RStringPool pool = iHttpSession.StringPool();
@@ -730,7 +735,6 @@
     iHdrFields.Reset();
 
     iHttpTransaction.Close();
-    iHttpSession.Close();
 
     if ( !iKeepAlive )
         {
--- a/wmdrm/wmdrmengine/wmdrmotaaccess/bwins/wmdrmotaaccessu.def	Thu May 13 22:40:14 2010 +0300
+++ b/wmdrm/wmdrmengine/wmdrmotaaccess/bwins/wmdrmotaaccessu.def	Fri May 28 23:16:27 2010 +0300
@@ -6,4 +6,5 @@
 	?GetLicenseChallengeL@CWmDrmOtaAccess@@QAEXABVTDesC8@@AAPAVHBufC8@@AAVTRequestStatus@@@Z @ 5 NONAME ; void CWmDrmOtaAccess::GetLicenseChallengeL(class TDesC8 const &, class HBufC8 * &, class TRequestStatus &)
 	?HandleLicenseResponseL@CWmDrmOtaAccess@@QAEXABVTDesC8@@AAVTRequestStatus@@@Z @ 6 NONAME ; void CWmDrmOtaAccess::HandleLicenseResponseL(class TDesC8 const &, class TRequestStatus &)
 	?GetLicenseChallengeL@CWmDrmOtaAccess@@QAEXABVTDesC8@@AAPAVHBufC8@@@Z @ 7 NONAME ; void CWmDrmOtaAccess::GetLicenseChallengeL(class TDesC8 const &, class HBufC8 * &)
+	?CancelAllAsync@CWmDrmOtaAccess@@QAEXXZ @ 8 NONAME ; void CWmDrmOtaAccess::CancelAllAsync(void)
 
--- a/wmdrm/wmdrmengine/wmdrmotaaccess/eabi/wmdrmotaaccessu.def	Thu May 13 22:40:14 2010 +0300
+++ b/wmdrm/wmdrmengine/wmdrmotaaccess/eabi/wmdrmotaaccessu.def	Fri May 28 23:16:27 2010 +0300
@@ -8,4 +8,5 @@
 	_ZN15CWmDrmOtaAccess20GetLicenseChallengeLERK6TDesC8RP6HBufC8R14TRequestStatus @ 7 NONAME
 	_ZN15CWmDrmOtaAccess22HandleLicenseResponseLERK6TDesC8 @ 8 NONAME
 	_ZN15CWmDrmOtaAccess22HandleLicenseResponseLERK6TDesC8R14TRequestStatus @ 9 NONAME
+	_ZN15CWmDrmOtaAccess14CancelAllAsyncEv @ 10 NONAME
 
--- a/wmdrm/wmdrmengine/wmdrmotaaccess/src/wmdrmotaaccess.cpp	Thu May 13 22:40:14 2010 +0300
+++ b/wmdrm/wmdrmengine/wmdrmotaaccess/src/wmdrmotaaccess.cpp	Fri May 28 23:16:27 2010 +0300
@@ -121,6 +121,7 @@
     
     iWmDrmOtaAccessEcomInterface->HandleLicenseResponseL( aResponse );                                
     }    
+    
 // ---------------------------------------------------------------------------
 // CWmDrmOtaAccess::HandleLicenseResponseL
 // ---------------------------------------------------------------------------
@@ -137,7 +138,19 @@
                                                           aStatus );                                 
     }                                                           
 
-
+// ---------------------------------------------------------------------------
+// CWmDrmOtaAccess::CancelAllAsync
+// ---------------------------------------------------------------------------
+EXPORT_C void CWmDrmOtaAccess::CancelAllAsync()
+    {
+    // Ecom interface not available    
+    if( !iWmDrmOtaAccessEcomInterface )
+        {
+        return;   
+        }   
+    
+    iWmDrmOtaAccessEcomInterface->CancelAllAsync();                                 
+    } 
 
     
 // End of file
--- a/wmdrm/wmdrmengine/wmdrmserver/server/inc/clock.h	Thu May 13 22:40:14 2010 +0300
+++ b/wmdrm/wmdrmengine/wmdrmserver/server/inc/clock.h	Fri May 28 23:16:27 2010 +0300
@@ -35,7 +35,7 @@
 public:
 	static const TInt KClockInterval = 15 * 60 * 1000000;
 
-    static CClock* CClock::NewL( CWmDrmServer* aServer );
+    static CClock* NewL( CWmDrmServer* aServer );
 	~CClock();
 	CClock( CWmDrmServer* aServer );