--- 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);
+ }
}
// -----------------------------------------------------------------------------