commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp
branchRCL_3
changeset 16 457cd4423b8c
parent 12 8a03a285ab14
child 26 1221b68b8a5f
--- a/commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp	Tue Apr 27 16:56:11 2010 +0300
+++ b/commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp	Tue May 11 16:28:38 2010 +0300
@@ -41,6 +41,9 @@
 #include <browseruisdkcrkeys.h>
 #endif
 
+#include <featdiscovery.h>
+#include <aknmessagequerydialog.h>
+
 #include    <wmdrmagent.h> // for WMDRM file details view
 #include    <drmutilitytypes.h>
 #include    <drmuicheckrightsobserver.h>
@@ -59,6 +62,8 @@
 
 #include    "wmdrmdlawrapper.h"
 
+using namespace DRM;
+
 // CONSTANTS
 const TInt KMaxUrlLength( 1024 );
 const TInt KMaxUrlSanityLength( 102400 );
@@ -85,7 +90,8 @@
 //
 DRM::CDrmUtilityWMDrmWrapper::CDrmUtilityWMDrmWrapper() :
     iCoeEnv( NULL ),
-    iDrmUtilityUi( NULL )
+    iDrmUtilityUi( NULL ),
+    iWmDrmDlaSupportOn ( ETrue )
     {
     }
 
@@ -97,6 +103,8 @@
 void DRM::CDrmUtilityWMDrmWrapper::ConstructL()
     {
     User::LeaveIfError( iFs.Connect() );
+    TUid u = TUid::Uid( KFeatureIdFfWmdrmDlaSupport );
+    TRAPD(err, iWmDrmDlaSupportOn = CFeatureDiscovery::IsFeatureSupportedL( u ));
     }
 
 // -----------------------------------------------------------------------------
@@ -569,10 +577,16 @@
                 }
             TFileName fileName;
             User::LeaveIfError( aContent.GetStringAttribute( DRM::EDrmFileName, fileName ) );
-            ret = iDrmUtilityUi->DisplayQueryL( R_DRM_QUERY_EXPIRED_OR_NO_RO, fileName );
+            if(iWmDrmDlaSupportOn)
+                {
+                ret = iDrmUtilityUi->DisplayQueryL( R_DRM_QUERY_EXPIRED_OR_NO_RO, fileName );
+                }
+            else
+                {
+                ret = iDrmUtilityUi->DisplayMessageQueryL( R_DRMUTILITY_SYNC_WITH_PC, R_DRMUTILITY_HEAD_NO_LICENSE, fileName);
+                }
             }
-
-        if ( !err && ( ret == EAknSoftkeyYes || ret == EAknSoftkeyOk ) )
+        if ( !err && ( ret == EAknSoftkeyYes || ret == EAknSoftkeyOk ) && iWmDrmDlaSupportOn)
             {
             TRAP_IGNORE( DlaLicenseAcquisitionL( file ) );
             }
@@ -763,18 +777,31 @@
 void DRM::CDrmUtilityWMDrmWrapper::DlaLicenseAcquisitionL(
     RFile& aFile )
     {
-    TInt iapId( 0 );
-    HBufC* contentUrl( NULL );
-    HBufC* htmlData( NULL );
-    LoadDlaWrapperL();
-    TRAPD( err, iapId = DefaultAccessPointL() );
-    if ( !err )
+    if( iWmDrmDlaSupportOn )
         {
-        iDlaWrapper->SetIapId( iapId );
+        TInt iapId( 0 );
+        HBufC* contentUrl( NULL );
+        HBufC* htmlData( NULL );
+        LoadDlaWrapperL();
+        TRAPD( err, iapId = DefaultAccessPointL() );
+        if ( !err )
+            {
+            iDlaWrapper->SetIapId( iapId );
+            }
+        iDlaWrapper->AcquireLicenseL( aFile, contentUrl, htmlData  );
+        delete contentUrl;
+        delete htmlData;
         }
-    iDlaWrapper->AcquireLicenseL( aFile, contentUrl, htmlData  );
-    delete contentUrl;
-    delete htmlData;
+    else
+        {
+        if ( !iDrmUtilityUi )
+            {
+            iDrmUtilityUi = DRM::CDrmUtilityUI::NewL( iCoeEnv );
+            }
+        TFileName aFileName;
+        TInt err = aFile.Name(aFileName);
+        iDrmUtilityUi->DisplayNoteL( R_DRMUTILITY_SYNC_WITH_PC , aFileName);
+        }
     }
 
 // -----------------------------------------------------------------------------