--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/commondrm.pro Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,25 @@
+#
+# Copyright (c) 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: Commondrm main level project file.
+#
+
+TEMPLATE = subdirs
+
+SYMBIAN_PLATFORMS = WINSCW ARMV5
+
+SUBDIRS += drmbrowserlauncher/drmbrowserlauncher.pro
+SUBDIRS += drmqtencryptor/qt_drmencryptor.pro
+SUBDIRS += drmutility/group/qt/drmutilitydmgrwrapper.pro
+SUBDIRS += drmutility/group/qt/drmuihandlingimpl.pro
+SUBDIRS += drmui/drmuinotifications/drmuinotifications.pro
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmbrowserlauncher/bwinscw/DRMBrowserLauncheru.def Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,5 @@
+EXPORTS
+ ?LaunchUrlL@CDrmBrowserLauncher@DRM@@QAEXAAVTDesC16@@@Z @ 1 NONAME ; void DRM::CDrmBrowserLauncher::LaunchUrlL(class TDesC16 &)
+ ?NewLC@CDrmBrowserLauncher@DRM@@SAPAV12@XZ @ 2 NONAME ; class DRM::CDrmBrowserLauncher * DRM::CDrmBrowserLauncher::NewLC(void)
+ ?NewL@CDrmBrowserLauncher@DRM@@SAPAV12@XZ @ 3 NONAME ; class DRM::CDrmBrowserLauncher * DRM::CDrmBrowserLauncher::NewL(void)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmbrowserlauncher/drmbrowserlauncher.pro Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,52 @@
+#
+# Copyright (c) 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:
+#
+
+
+TEMPLATE = lib
+TARGET = drmbrowserlauncher
+
+symbian:
+{
+TARGET.UID1 = 0x1000008D
+TARGET.UID3 = 0x200315BC
+
+TARGET.CAPABILITY = CAP_GENERAL_DLL
+TARGET.VID = VID_DEFAULT
+TARGET.EPOCALLOWDLLDATA = 1
+
+defBlock = \
+ "$${LITERAL_HASH}if defined(ARMCC)" \
+ "DEFFILE ./eabi/" \
+ "$${LITERAL_HASH}elif defined( WINSCW )" \
+ "DEFFILE ./bwinscw/" \
+ "$${LITERAL_HASH}elif defined( WINS )" \
+ "DEFFILE ./bwins/" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ./bmarm/" \
+ "$${LITERAL_HASH}endif"
+
+ MMP_RULES += defBlock
+
+ MMP_RULES -= "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl"
+}
+
+DEPENDPATH += .
+DEPENDPATH += ./src
+
+INCLUDEPATH += ../../inc
+
+SOURCES += drmbrowserlauncher.cpp
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmbrowserlauncher/eabi/DRMBrowserLauncheru.def Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,5 @@
+EXPORTS
+ _ZN3DRM19CDrmBrowserLauncher10LaunchUrlLER7TDesC16 @ 1 NONAME
+ _ZN3DRM19CDrmBrowserLauncher4NewLEv @ 2 NONAME
+ _ZN3DRM19CDrmBrowserLauncher5NewLCEv @ 3 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmbrowserlauncher/src/drmbrowserlauncher.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,92 @@
+/*
+* Copyright (c) 2006-2009 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: DRM Browser Launcher class
+*
+*/
+
+
+// INCLUDE FILES
+#include "drmbrowserlauncher.h"
+#include <QDesktopServices>
+#include <QString>
+#include <QUrl>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// Default constructor
+// -----------------------------------------------------------------------------
+//
+DRM::CDrmBrowserLauncher::CDrmBrowserLauncher()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// Destructor
+// -----------------------------------------------------------------------------
+//
+DRM::CDrmBrowserLauncher::~CDrmBrowserLauncher()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CDrmBrowserLauncher::NewLC
+// First phase constructor
+// -----------------------------------------------------------------------------
+//
+EXPORT_C DRM::CDrmBrowserLauncher* DRM::CDrmBrowserLauncher::NewLC()
+ {
+ DRM::CDrmBrowserLauncher* self( new( ELeave ) CDrmBrowserLauncher );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CDrmBrowserLauncher::NewL
+// First phase constructor
+// -----------------------------------------------------------------------------
+//
+EXPORT_C DRM::CDrmBrowserLauncher* DRM::CDrmBrowserLauncher::NewL()
+ {
+ DRM::CDrmBrowserLauncher* self( NewLC() );
+ CleanupStack::Pop();
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CDrmBrowserLauncher::LaunchUrlL
+// Static method for launching the Browser with a given URL.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void DRM::CDrmBrowserLauncher::LaunchUrlL(TDesC &aUrl)
+ {
+ // convert given URL to QUrl format
+ QString urlString = QString::fromUtf16(aUrl.Ptr(), aUrl.Length());
+ QUrl* url = new QUrl(urlString);
+ bool ret = QDesktopServices::openUrl(*url);
+ if(!ret)
+ {
+ User::Leave(KErrNotFound);
+ }
+
+ }
+
+void DRM::CDrmBrowserLauncher::ConstructL()
+ {
+ }
+
+
+
+// End of File
--- a/commondrm/drmencryptor/data/DRMEncryptor.rss Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,466 +0,0 @@
-/*
-* Copyright (c) 2004 - 2007 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:
-*
-*/
-
-
-// RESOURCE IDENTIFIER
-NAME DRME // 4 letter ID
-
-// INCLUDES
-
-#include "DRMEncryptor.rh"
-#include "DRMEncryptor.hrh"
-#include <drmencryptor.mbg>
-#include <data_caging_paths_strings.hrh>
-
-#include <eikon.rh>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-
-#include <appinfo.rh>
-
-RESOURCE RSS_SIGNATURE {}
-
-RESOURCE TBUF { buf= ""; }
-
-RESOURCE EIK_APP_INFO
- {
- cba = R_AVKON_SOFTKEYS_EXIT;
- cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
- menubar = r_DrmEncryptor_menubar;
- // no menu bar
- }
-
-// ---------------------------------------------------------
-//
-// r_helloworldbasic_menubar
-// Menubar for HelloWorldBasic example
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_BAR r_DrmEncryptor_menubar
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = r_DrmEncryptor_menu;
- }
- };
- }
-
-
-// ---------------------------------------------------------
-//
-// r_helloworldbasic_menu
-// Menu for "Options"
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_DrmEncryptor_menu
- {
- items =
- {
- MENU_ITEM
- {
- command = EDrmEncryptorUICommand1;
- txt = "Encrypt";
- flags = EEikMenuItemAction;
- },
- MENU_ITEM
- {
- command = EDrmEncryptorKeyCommand;
- txt = "Import Keys";
- flags = EEikMenuItemAction;
- },
- MENU_ITEM
- {
- command = EDrmEncryptorDeleteCommand;
- txt = "Delete Database";
- flags = EEikMenuItemAction;
- },
- MENU_ITEM
- {
- command = EDrmTimeCommand;
- txt = "DRMClock time";
- flags = EEikMenuItemAction;
- },
- MENU_ITEM
- {
- command = ESetDrmTimeCommand;
- txt = "Set DRMClock";
- flags = EEikMenuItemAction;
- },
- MENU_ITEM
- {
- command = EAddROsIntoDb;
- txt = "Process multiple ROs";
- flags = EEikMenuItemAction;
- },
- MENU_ITEM
- {
- command = EDrmBb5KeyTestCommand;
- txt = "Bb5KeyTest";
- flags = EEikMenuItemAction;
- },
- MENU_ITEM
- {
- command = EDRMPlayServerCommand;
- txt = "DrmPlayServerTest";
- flags = EEikMenuItemAction;
- },
- MENU_ITEM
- {
- command = EDRM_API_BATUICommand3;
- txt = "Run Performance test";
- cascade=r_DRM_API_sub_menu_1;
- flags = EEikMenuItemAction;
- },
- MENU_ITEM
- {
- command = EDrmEncryptorDeleteWmDrmCommand;
- txt = "Delete WmDrm Rights";
- flags = EEikMenuItemAction;
- },
- MENU_ITEM
- {
- command = EDrmEncryptorBackupWmDrmCommand;
- txt = "Backup WmDrm DB";
- flags = EEikMenuItemAction;
- },
- MENU_ITEM
- {
- command = EDrmEncryptorRestoreWmDrmCommand;
- txt = "Restore WmDrm DB";
- flags = EEikMenuItemAction;
- },
- MENU_ITEM
- {
- command = EAknSoftkeyExit;
- txt = "Exit";
- }
- };
- }
-
-
-RESOURCE TITLE_PANE r_DRMEncryptor_title_pane
- {
- txt = "DRMEncryptor";
- }
-
-// Texts and images appear in this order on the DRMEncryptor screen.
-// Every new text item starts from a new line.
-
-RESOURCE DRMEncryptor_ITEM_LIST r_DRMEncryptor_main_text
- {
- items =
- {
- DRMEncryptor_TEXT
- {
- txt = r_DRMEncryptor_copyright_text_1;
- },
- DRMEncryptor_TEXT
- {
- txt = r_DRMEncryptor_copyright_text_2;
- },
- DRMEncryptor_TEXT
- {
- txt = r_DRMEncryptor_copyright_text_3;
- },
- DRMEncryptor_TEXT
- {
- txt = r_DRMEncryptor_copyright_text_4;
- },
- DRMEncryptor_TEXT
- {
- txt = r_DRMEncryptor_copyright_text_5;
- },
- DRMEncryptor_TEXT
- {
- txt = r_DRMEncryptor_copyright_text_6;
- },
- DRMEncryptor_TEXT
- {
- txt = r_DRMEncryptor_copyright_text_7;
- },
- DRMEncryptor_TEXT
- {
- txt = r_DRMEncryptor_copyright_text_8;
- },
- DRMEncryptor_TEXT
- {
- txt = r_DRMEncryptor_copyright_text_9;
- },
- DRMEncryptor_TEXT
- {
- txt = r_DRMEncryptor_copyright_text_10;
- },
- DRMEncryptor_TEXT
- {
- txt = r_DRMEncryptor_copyright_text_11;
- }
- };
- }
-
-RESOURCE DIALOG r_drm_time_query
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
- items =
- {
- DLG_LINE
- {
- type = EAknCtMultilineQuery;
- id = EMultilineFirstLine;
- control = AVKON_DATA_QUERY
- {
- layout = EMultiDataFirstDateEd;
- label = "Date";
- control = DATE_EDITOR
- {
- minDate = DATE
- {
- year = 1900;
- };
- maxDate = DATE
- {
- year = 2100;
- };
- flags = 0;
- };
- };
- },
- DLG_LINE
- {
- type = EAknCtMultilineQuery;
- id = EMultilineSecondLine;
- control = AVKON_DATA_QUERY
- {
- layout = EMultiDataSecondTimeEd;
- label = "Time";
- control = TIME_EDITOR
- {
- minTime = TIME
- {
- second = 0;
- minute = 0;
- hour = 0;
- };
- maxTime = TIME
- {
- second = 59;
- minute = 59;
- hour = 23;
- };
- flags = 0;
- };
- };
- }
- };
- }
-
-/////////////////////////////////
-// PERFORMANCE
-///////////////////////////////
-
-// ---------------------------------------------------------
-//
-// r_DRM_API_sub_menu_1
-// SubMenu for "Options->Performance"
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_DRM_API_sub_menu_1
- {
- items=
- {
- MENU_ITEM
- {
- command=EDRM_API_SubMenuId_1;
- txt="Generate test files";
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- txt="RFile plain";
- cascade=r_DRM_API_sub_menu_1_1;
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- txt="CAF plain";
- cascade=r_DRM_API_sub_menu_1_2;
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- txt="DRM";
- cascade=r_DRM_API_sub_menu_1_3;
- flags = EEikMenuItemSpecific;
- }
- };
- }
-
-// ---------------------------------------------------------
-//
-// r_DRM_API_sub_menu_1
-// SubMenu for "Options->Performance->RFile"
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_DRM_API_sub_menu_1_1
- {
- items=
- {
- MENU_ITEM
- {
- command=EDRM_API_SubMenuId_1_1;
- txt="File opening";
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- command=EDRM_API_SubMenuId_1_2;
- txt="Sequential";
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- command=EDRM_API_SubMenuId_1_3;
- txt="Random";
- flags = EEikMenuItemSpecific;
- }
- };
- }
-// ---------------------------------------------------------
-//
-// r_DRM_API_sub_menu_1
-// SubMenu for "Options->Performance->CAF"
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_DRM_API_sub_menu_1_2
- {
- items=
- {
- MENU_ITEM
- {
- command=EDRM_API_SubMenuId_2_1;
- txt="File opening";
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- command=EDRM_API_SubMenuId_2_2;
- txt="Sequential";
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- command=EDRM_API_SubMenuId_2_3;
- txt="Random";
- flags = EEikMenuItemSpecific;
- }
- };
- }
-
-// ---------------------------------------------------------
-//
-// r_DRM_API_sub_menu_1
-// SubMenu for "Options->Performance->DRM"
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_DRM_API_sub_menu_1_3
- {
- items=
- {
- MENU_ITEM
- {
- command=EDRM_API_SubMenuId_3_1_1;
- txt="File Opening";
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- command=EDRM_API_SubMenuId_3_1_2;
- txt="File Opening with ExecuteIntent";
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- command=EDRM_API_SubMenuId_3_1_3;
- txt="Sequential";
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- command=EDRM_API_SubMenuId_3_1_4;
- txt="Random";
- flags = EEikMenuItemSpecific;
- }
- };
- }
-
-RESOURCE DIALOG r_aknicon_icon_size_query
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
- items =
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_DATA_QUERY
- {
- layout = ENumberLayout;
- label = "Add multiplier";
- control = AVKON_INTEGER_EDWIN
- {
- min = 0;
- max = 1000;
- };
- };
- }
- };
- }
-
-RESOURCE TBUF r_DRMEncryptor_copyright_text_1 { buf = "DRMEncryptor - tool to process OMA DRM 1.0 content into terminal."; }
-RESOURCE TBUF r_DRMEncryptor_copyright_text_2 { buf = "Encryptor tool will process DRM messages (.dm) from e:\DRM - directory. If the directory does not exist, it will be created during the first execution. Output files will be placed into e:\Others -directory. On the emulator, the c: drive is used instead of the e: drive"; }
-RESOURCE TBUF r_DRMEncryptor_copyright_text_3 { buf = "Encryptor tool process separate delivery rights objects (.oro && .ro && .drc && dr). Place the files under e:\DRM directory and press Encrypt."; }
-RESOURCE TBUF r_DRMEncryptor_copyright_text_4 { buf = "With tool the PKI -keys can be imported into hardware. PKI -key files should be placed under e:\DRM\keys."; }
-RESOURCE TBUF r_DRMEncryptor_copyright_text_5 { buf = "The tool also allows removal of all rights in the rights database."; }
-RESOURCE TBUF r_DRMEncryptor_copyright_text_6 { buf = "DRMClock can be viewed via menu. DRM Time is shown as nitz time."; }
-RESOURCE TBUF r_DRMEncryptor_copyright_text_7 { buf = "DRMClock can be set via menu. Use Options -> Set DRM clock."; }
-RESOURCE TBUF r_DRMEncryptor_copyright_text_8 { buf = "DRMEncryptor can be used for processing same RO for multiple times. Place ROs into e:\drm -folder and choose Options->Process multiple ROs->add multiplier which will be used for every processed RO."; }
-RESOURCE TBUF r_DRMEncryptor_copyright_text_9 { buf = "DRMEncryptor can be used for checking that DrmPlayServer's usage is prohibited for WMDRM files. Place any WMDRM file named as test.wma into e:\drm and choose Options->DrmPlayServerTest"; }
-RESOURCE TBUF r_DRMEncryptor_copyright_text_10 { buf = "DRMEncryptor can be used for making backup and restoring WMDRM SQlite License Store. Backup will make a copy of [10282F1B]hds.db to e:\[10282F1B]hds.db. Restore will copy e:\[10282F1B]hds.db back to c:\private\10281e17\[10282F1B]hds.db"; }
-RESOURCE TBUF r_DRMEncryptor_copyright_text_11 { buf = "This tool is purposed only for R&D and should not be used commercially. Copyright © 2004 Nokia. All rights reserved."; }
-
-
-RESOURCE LOCALISABLE_APP_INFO r_DRMEncryptor_localisable_app_info
- {
- short_caption = "DRMEncryptor";
- caption_and_icon =
- CAPTION_AND_ICON_INFO
- {
- caption = "DRMEncryptor";
- };
- }
-
-// End of File
--- a/commondrm/drmencryptor/data/DRMEncryptor_caption.rss Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2002 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:
-*
-*/
-
-
-#include <apcaptionfile.rh>
-
-RESOURCE CAPTION_DATA
- {
- caption = "DRMEncryptor";
- shortcaption = "DRM";
- }
--- a/commondrm/drmencryptor/data/DRMEncryptor_reg.rss Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-*
-*/
-
-
-#include <appinfo.rh>
-#include <DRMEncryptor.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x01105901 // 0x10005A22 // Define your application UID here
-
-RESOURCE APP_REGISTRATION_INFO
- {
- app_file = "DRMEncryptor";
-
-
- localisable_resource_file = APP_RESOURCE_DIR"\\DRMEncryptor";
-
- localisable_resource_id = R_DRMENCRYPTOR_LOCALISABLE_APP_INFO;
- datatype_list =
- {
- DATATYPE
- {
- priority = EDataTypePriorityNormal;
- type = "application/x-device-key-chain";
- }
- };
- }
-
-// End of File
--- a/commondrm/drmencryptor/group/DRMEncryptor.mmp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2002-2009 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: Internal drm test tool
-*
-*/
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET DRMEncryptor.exe
-TARGETTYPE exe
-
-UID 0x100039CE 0x01105901
-
-CAPABILITY CAP_APPLICATION ReadUserData AllFiles DRM PowerMgmt CommDD
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE DrmKeyStorage.cpp
-SOURCE DrmBb5KeyStorage.cpp
-SOURCE DRMEncryptorApp.cpp
-SOURCE DRMEncryptorAppUi.cpp
-SOURCE DRMEncryptorDocument.cpp
-SOURCE DRMEncryptorContainer.cpp
-SOURCE DRMEncryptorImage.cpp
-SOURCE DrmEncryptor.cpp
-SOURCE DRMPlayServerTest.cpp
-SOURCE Performance.cpp
-
-
-START RESOURCE ../data/DRMEncryptor.rss
-
-HEADER
-TARGETPATH APP_RESOURCE_DIR
-
-END //RESOURCE
-
-START RESOURCE ../data/DRMEncryptor_reg.rss
-DEPENDS drmencryptor.rsg
- TARGETPATH /private/10003a3f/apps
-END
-
-// Default system include paths for middleware layer modules.
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE ../inc
-USERINCLUDE ../../../inc
-
-LIBRARY DrmParsers.lib
-LIBRARY DrmDcf.lib
-LIBRARY DrmRights.lib
-LIBRARY DrmServerInterfaces.lib
-LIBRARY DRMCommon.lib
-LIBRARY apparc.lib
-LIBRARY avkon.lib
-LIBRARY bafl.lib
-LIBRARY cone.lib
-LIBRARY eikcoctl.lib
-LIBRARY eikcore.lib
-LIBRARY euser.lib
-LIBRARY fbscli.lib
-LIBRARY efsrv.lib
-LIBRARY estor.lib
-LIBRARY asn1.lib
-LIBRARY cryptography.lib
-LIBRARY crypto.lib
-LIBRARY x509.lib
-LIBRARY pkixcert.lib
-LIBRARY random.lib
-LIBRARY hash.lib
-LIBRARY flogger.lib
-LIBRARY ezip.lib
-
-// DRMKeyStorage
-LIBRARY DrmKeyStorage.lib
-LIBRARY DrmCrypto.lib
-
-LIBRARY gdi.lib
-
-
-LIBRARY caf.lib
-LIBRARY cafutils.lib
-LIBRARY drmhelper.lib
-LIBRARY XmlFramework.lib
-LIBRARY apmime.lib
-LIBRARY DcfRep.lib
-LIBRARY ecom.lib
-
-#ifdef RD_MULTIPLE_DRIVE
-LIBRARY platformenv.lib
-#endif
-
-LIBRARY drmaudioplayutility.lib
-
-SMPSAFE
-// End of File
--- a/commondrm/drmencryptor/group/DRMEncryptor.pkg Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-;
-; Copyright (c) 2009 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:
-;
-; Languages
-; =========
-&EN
-
-; Name, UID for installation, Maj.Ver., Min.Ver., Variant, FLAG TO SPECIFY UNICODE, System component
-; ==================================================================================================
-#{"DRMEncryptor"}, (0x01105901),1,0,0,TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-"\epoc32\release\armv5\urel\DRMEncryptor.exe"-"!:\sys\bin\DRMEncryptor.exe"
-"\epoc32\data\Z\private\10003a3f\apps\DRMEncryptor_reg.RSC"-"!:\private\10003a3f\import\apps\DRMEncryptor_reg.rsc"
-
-
-"\epoc32\data\Z\Resource\apps\DRMEncryptor.mbm"-"!:\resource\apps\DRMEncryptor.mbm"
-"\epoc32\data\Z\Resource\apps\DRMEncryptor.mif"-"!:\resource\apps\DRMEncryptor.mif"
-"\epoc32\data\Z\Resource\apps\DRMEncryptor.RSC"-"!:\resource\apps\DRMEncryptor.RSC"
-"\epoc32\data\Z\Resource\apps\DRMEncryptor_AIF.mif"-"!:\resource\apps\DRMEncryptor_AIF.mif"
-
-; eof
Binary file commondrm/drmencryptor/group/icon.bmp has changed
Binary file commondrm/drmencryptor/group/icon_mask_soft.bmp has changed
Binary file commondrm/drmencryptor/group/qgn_menu_DRMEncryptor.bmp has changed
Binary file commondrm/drmencryptor/group/qgn_menu_DRMEncryptor_cxt.bmp has changed
Binary file commondrm/drmencryptor/group/qgn_menu_DRMEncryptor_cxt_mask_soft.bmp has changed
Binary file commondrm/drmencryptor/group/qgn_menu_DRMEncryptor_mask_soft.bmp has changed
--- a/commondrm/drmencryptor/inc/DRMEncryptor.hrh Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2002 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:
-*
-*/
-
-
-#ifndef DRMEncryptor_HRH
-#define DRMEncryptor_HRH
-
-enum TDRMEncryptorItemType
- {
- EDRMEncryptorTextItem,
- EDRMEncryptorImageItem
- };
-
-// DrmEncryptor enumerate command codes
-enum TDrmEncryptorIds
- {
- EDrmEncryptorUICommand1 = 1, // start value must not be 0
- EDrmEncryptorKeyCommand,
- EDrmEncryptorDeleteCommand,
- ESetDrmTimeCommand,
- EAddROsIntoDb,
- EDrmTimeCommand,
- EDrmBb5KeyTestCommand,
- EDRMPlayServerCommand,
- EDRM_API_BATUICommand3,
- EDRM_API_SubMenuId_1,
- EDRM_API_SubMenuId_1_1,
- EDRM_API_SubMenuId_1_2,
- EDRM_API_SubMenuId_1_3,
- EDRM_API_SubMenuId_2_1,
- EDRM_API_SubMenuId_2_2,
- EDRM_API_SubMenuId_2_3,
- EDRM_API_SubMenuId_3_1_1,
- EDRM_API_SubMenuId_3_1_2,
- EDRM_API_SubMenuId_3_1_3,
- EDRM_API_SubMenuId_3_1_4,
- EDrmEncryptorDeleteWmDrmCommand,
- EDrmEncryptorBackupWmDrmCommand,
- EDrmEncryptorRestoreWmDrmCommand
- };
-
-#endif // DRMEncryptor_HRH
--- a/commondrm/drmencryptor/inc/DRMEncryptor.rh Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2002 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:
-*
-*/
-
-
-#ifndef DRMEncryptor_RH
-#define DRMEncryptor_RH
-
-#include "DRMEncryptor.hrh"
-
-STRUCT DRMEncryptor_TEXT
- {
- BYTE type = EDRMEncryptorTextItem;
- LLINK txt; // set this
- }
-
-STRUCT DRMEncryptor_IMAGE
- {
- BYTE type = EDRMEncryptorImageItem;
- LTEXT16 bmpfile = ""; // set this
- WORD bmpid = 0xffff; // set this
- }
-
-STRUCT DRMEncryptor_ITEM_LIST
- {
- STRUCT items[]; // text or image items
- }
-
-#endif // DRMEncryptor_RH
--- a/commondrm/drmencryptor/inc/DRMEncryptorApp.h Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2002-2009 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: Declares main application class
-*
-*/
-
-
-#ifndef DRMEncryptorAPP_H
-#define DRMEncryptorAPP_H
-
-// INCLUDES
-#include <aknapp.h>
-
-// CONSTANTS
-// UID of the application
-const TUid KUidDRMEncryptor = { 0x01105901 };
-
-// CLASS DECLARATION
-
-/**
-* CDRMEncryptorApp application class.
-* Provides factory to create concrete document object.
-*
-*/
-class CDRMEncryptorApp : public CAknApplication
- {
-
- public: // Functions from base classes
- private:
-
- /**
- * From CApaApplication, creates CDRMEncryptorDocument document object.
- * @return A pointer to the created document object.
- */
- CApaDocument* CreateDocumentL();
-
- /**
- * From CApaApplication, returns application's UID (KUidDRMEncryptor).
- * @return The value of KUidDRMEncryptor.
- */
- TUid AppDllUid() const;
- };
-
-#endif
-
-// End of File
-
--- a/commondrm/drmencryptor/inc/DRMEncryptorAppUi.h Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2002-2009 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: Declares UI class for application.
-*
-*/
-
-
-#ifndef DRMEncryptorAPPUI_H
-#define DRMEncryptorAPPUI_H
-
-// INCLUDES
-#include <eikapp.h>
-#include <eikdoc.h>
-#include <e32std.h>
-#include <coeccntx.h>
-#include <aknappui.h>
-
-// FORWARD DECLARATIONS
-class CDRMEncryptorContainer;
-
-// CONSTANTS
-
-// CLASS DECLARATION
-
-/**
-* Application UI class.
-* Provides support for the following features:
-* - EIKON control architecture
-*
-*/
-class CDRMEncryptorAppUi : public CAknAppUi
- {
- public: // Constructors and destructor
-
- /**
- * EPOC default constructor.
- */
- void ConstructL();
-
- /**
- * Destructor.
- */
- ~CDRMEncryptorAppUi();
-
- public: // New functions
-
- public: // Functions from base classes
-
- TBool ProcessCommandParametersL(
- TApaCommand aCommand,
- TFileName& aDocumentName,
- const TDesC8& aTail);
-
-
- private:
- /**
- * From CEikAppUi, takes care of command handling.
- * @param aCommand command to be handled
- */
- void HandleCommandL( TInt aCommand );
-
- private: // Data
- CDRMEncryptorContainer* iAppContainer;
- };
-
-#endif
-
-// End of File
--- a/commondrm/drmencryptor/inc/DRMEncryptorContainer.h Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2002 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: Declares container control for application.
-*
-*/
-
-
-#ifndef DRMEncryptorCONTAINER_H
-#define DRMEncryptorCONTAINER_H
-
-// INCLUDES
-#include <coecntrl.h>
-#include <gdi.h>
-
-// FORWARD DECLARATIONS
-class CEikScrollBarFrame;
-class CDRMEncryptorImage;
-class CFont;
-class TRect;
-class TBidiText;
-
-// CLASS DECLARATION
-
-/**
-* CDRMEncryptorContainer container control class.
-*
-*/
-class CDRMEncryptorContainer : public CCoeControl
- {
- public: // Constructors and destructor
- CDRMEncryptorContainer();
- void ConstructL( const TRect& aRect );
- ~CDRMEncryptorContainer();
-
- private: // from CCoeControl
-
- void Draw( const TRect& aRect ) const;
- void ActivateL();
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aModifiers );
-
- private: // new functions
-
- void SetTextL( const TDesC& aText );
- void SetImageL( const TDesC& aFileName, TInt aBitmapId );
- void UpdateScrollIndicatorL();
-
- private: // Data
-
- CArrayPtr<HBufC>* iText;
- CArrayPtr<CDRMEncryptorImage>* iImages;
- CArrayFixFlat<TInt>* iScreenStarts;
- TInt iCurrentScreen;
- TBool iDoNotShowLastLineAgain;
- CGraphicsContext::TTextAlign iTextAlign;
- CEikScrollBarFrame* iSBFrame;
- const CFont* iFont; // not owned
- TInt iLineWidth;
- TInt iBaseLineDelta;
- TInt iTopBaseLineX;
- TInt iTopBaseLineY;
- TInt iLinesPerScreen;
- };
-
-#endif
-
-// End of File
--- a/commondrm/drmencryptor/inc/DRMEncryptorDocument.h Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2002 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:
-*
-*/
-
-
-#ifndef DRMEncryptorDOCUMENT_H
-#define DRMEncryptorDOCUMENT_H
-
-// INCLUDES
-#include <AknDoc.h>
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class CEikAppUi;
-
-// CLASS DECLARATION
-
-/**
-* CDRMEncryptorDocument application class.
-*/
-class CDRMEncryptorDocument : public CAknDocument
- {
- public: // Constructors and destructor
- /**
- * Two-phased constructor.
- */
- static CDRMEncryptorDocument* NewL( CEikApplication& aApp );
-
- /**
- * Destructor.
- */
- virtual ~CDRMEncryptorDocument();
-
- virtual CFileStore* OpenFileL(TBool aDoOpen,const TDesC& aFilename,RFs& aFs);
-
- private:
-
- /**
- * Constructor.
- */
- CDRMEncryptorDocument( CEikApplication& aApp );
-
- /**
- * From CEikDocument, create CDRMEncryptorAppUi "App UI" object.
- */
- CEikAppUi* CreateAppUiL();
- };
-
-#endif
-
-// End of File
-
--- a/commondrm/drmencryptor/inc/DRMEncryptorImage.h Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2002-2009 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: Image to be shown in DRMEncryptor screen.
-*
-*/
-
-
-#ifndef DRMEncryptorIMAGE_H
-#define DRMEncryptorIMAGE_H
-
-// INCLUDES
-
-// FORWARD DECLARATIONS
-class CFbsBitmap;
-
-// CONSTANTS
-
-const TInt KImageTopMargin = 4 ;
-const TInt KImageBottomMargin = 4;
-
-// CLASS DECLARATION
-
-/**
-* CDRMEncryptorImage
-*/
-class CDRMEncryptorImage : public CBase
- {
- public: // Constructors and destructor
-
- static CDRMEncryptorImage* NewLC( const TDesC& aFileName, TInt aBitmapId,
- TInt aStartLine, TInt aBaseLineDelta );
-
- /**
- * Destructor
- */
- ~CDRMEncryptorImage();
-
- public: // New functions
-
- TInt HeightInPixels() const;
- TInt WidthInPixels() const;
- TInt StartLine() const;
- TInt EndLine() const;
- TInt Lines() const;
- const CFbsBitmap* Bitmap() const;
-
- private: // private constructor
-
- /**
- * C++ default constructor.
- */
- CDRMEncryptorImage();
-
- private: // Data
-
- CFbsBitmap* iBitmap; // owned
- TInt iStartLine;
- TInt iEndLine;
- };
-
-#endif // DRMEncryptorIMAGE_H
-
-// End of File
--- a/commondrm/drmencryptor/inc/DRMPlayServerTest.h Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2007 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:
-*
-*/
-
-
-#ifndef DRMPLAYSERVERTEST_H
-#define DRMPLAYSERVERTEST_H
-
-#include <e32base.h>
-#include <DrmAudioSamplePlayer.h>
-
-class CDRMPlayServerTest : public CBase, public MDrmAudioPlayerCallback
- {
-
- public:
-
- static CDRMPlayServerTest* NewLC();
-
- ~CDRMPlayServerTest();
-
- TInt ExecutePlayServerTest();
-
- void MdapcInitComplete( TInt aError,
- const TTimeIntervalMicroSeconds& aDuration );
-
- void MdapcPlayComplete( TInt aError );
-
- private:
-
- CDRMPlayServerTest();
-
- void ConstructL();
-
- private: // Data
-
- CDrmPlayerUtility* iDrmPlayerUtility;
- CActiveSchedulerWait* iWait;
- TInt iError;
-
- };
-
-#endif // DRMPLAYSERVERTEST_H
-
-// End of File
--- a/commondrm/drmencryptor/inc/Performance.h Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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: ?Description
-*
-*/
-
-
-
-#ifndef PERFORMANCE_H
-#define PERFORMANCE_H
-
-void TestPerformanceL(TInt aCommand);
-
-#endif // PERFORMANCE_H
-
-// End of File
--- a/commondrm/drmencryptor/src/DRMEncryptorApp.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2002 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:
-*
-*/
-
-
-// INCLUDE FILES
-#include "DRMEncryptorApp.h"
-#include "DRMEncryptorDocument.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CDRMEncryptorApp::AppDllUid()
-// Returns application UID
-// ---------------------------------------------------------
-//
-TUid CDRMEncryptorApp::AppDllUid() const
- {
- return KUidDRMEncryptor;
- }
-
-
-// ---------------------------------------------------------
-// CDRMEncryptorApp::CreateDocumentL()
-// Creates CDRMEncryptorDocument object
-// ---------------------------------------------------------
-//
-CApaDocument* CDRMEncryptorApp::CreateDocumentL()
- {
- return CDRMEncryptorDocument::NewL( *this );
- }
-
-#include <eikstart.h>
-
-LOCAL_C CApaApplication* NewApplication()
- {
- return new CDRMEncryptorApp;
- }
-
-// ---------------------------------------------------------
-// E32Main()
-// Main startup entry point
-// Returns: KErrNone
-// ---------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
- {
- return EikStart::RunApplication(NewApplication);
- }
-
-
-// End of File
-
--- a/commondrm/drmencryptor/src/DRMEncryptorAppUi.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +0,0 @@
-/*
-* Copyright (c) 2002 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:
-*
-*/
-
-
-// INCLUDE FILES
-#include "DRMEncryptorAppUi.h"
-#include "DRMEncryptorContainer.h"
-#include "DRMEncryptor.hrh"
-#include "Performance.h"
-#include "DRMPlayServerTest.h"
-
-#include <avkon.hrh>
-#include <aknnotewrappers.h>
-
-extern TUint EncryptL(TUint& aEncryptedCount, TUint& aRightsCount, TUint& aMessagesProcessed);
-extern TUint KeyStorage();
-extern void DeleteRdbL();
-extern void GetDrmClockL();
-extern void SetDrmClockL();
-extern TUint Bb5KeyStorage();
-extern void DeleteWmDrmRdbL();
-extern void BackupWmDrmDbL();
-extern void RestoreWmDrmDbL();
-
-
-// ================= MEMBER FUNCTIONS =======================
-//
-// ----------------------------------------------------------
-// CDRMEncryptorAppUi::ConstructL()
-// ?implementation_description
-// ----------------------------------------------------------
-//
-void CDRMEncryptorAppUi::ConstructL()
- {
- BaseConstructL();
- iAppContainer = new( ELeave ) CDRMEncryptorContainer;
- iAppContainer->SetMopParent( this );
- iAppContainer->ConstructL( ClientRect() );
- AddToStackL( iAppContainer );
- }
-
-// ----------------------------------------------------
-// CDRMEncryptorAppUi::~CDRMEncryptorAppUi()
-// Destructor
-// Frees reserved resources
-// ----------------------------------------------------
-//
-CDRMEncryptorAppUi::~CDRMEncryptorAppUi()
- {
- if ( iAppContainer )
- {
- RemoveFromStack( iAppContainer );
- delete iAppContainer;
- }
- }
-
-// ----------------------------------------------------
-// CDRMEncryptorAppUi::HandleCommandL( TInt aCommand )
-// ?implementation_description
-// ----------------------------------------------------
-//
-void CDRMEncryptorAppUi::HandleCommandL( TInt aCommand )
- {
- TUint result = 0;
- TUint aEncryptedCount = 0;
- TUint aRightsCount = 0;
- TUint aMessagesProcessed = 0;
- TBuf<128> buffer;
-
- switch ( aCommand )
- {
- case EAknSoftkeyExit:
- case EAknSoftkeyBack:
- case EEikCmdExit:
- {
- Exit();
- break;
- }
- case EDrmEncryptorUICommand1:
- {
-
- result = EncryptL(aEncryptedCount, aRightsCount, aMessagesProcessed);
-
- buffer.Append(_L("Encryption done\n"));
- if(result < 1)
- {
- buffer.Append(_L("No files found"));
- }
- if(aMessagesProcessed != 0)
- {
- buffer.AppendNum(aMessagesProcessed);
- buffer.Append(_L(" messages processed\n"));
- }
- if(aRightsCount != 0)
- {
- buffer.AppendNum(aRightsCount);
- buffer.Append(_L(" rights objects processed\n"));
- }
- if(aMessagesProcessed != 0)
- {
- buffer.AppendNum(aEncryptedCount);
- buffer.Append(_L(" files encrypted\n"));
- }
-
- CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
- informationNote->ExecuteLD(buffer);
-
- break;
- }
- case EDrmEncryptorKeyCommand:
- {
- result = KeyStorage();
-
- if(result < 1)
- {
- buffer.Append(_L("No key files found"));
- }
- else
- {
- buffer.Append(_L("Keys imported\n"));
- buffer.AppendNum(result);
- buffer.Append(_L(" keys imported"));
- }
- CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
- informationNote->ExecuteLD(buffer);
- break;
- }
- case EDrmEncryptorDeleteCommand:
- {
- DeleteRdbL();
- CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
- informationNote->ExecuteLD(_L("Database deleted"));
- break;
- }
- case EDrmTimeCommand:
- {
- GetDrmClockL();
- break;
- }
- case ESetDrmTimeCommand:
- {
- SetDrmClockL();
- break;
- }
- case EDrmBb5KeyTestCommand:
- {
- result = Bb5KeyStorage();
-
- if(result != KErrNone)
- {
- buffer.Append(_L("No CMLA keys available"));
- buffer.AppendNum(result);
-
- }
- else
- {
- buffer.Append(_L(" CMLA data OK! \n"));
- buffer.AppendNum(result);
- buffer.Append(_L(" \n Check log for Root."));
- }
- CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
- informationNote->ExecuteLD(buffer);
- break;
- }
- case EDRMPlayServerCommand:
- {
- CDRMPlayServerTest* test = CDRMPlayServerTest::NewLC();
- TInt error = test->ExecutePlayServerTest();
- CleanupStack::PopAndDestroy( test );
- if ( error == KErrCANoRights )
- {
- buffer.Append(_L("Test succeeded\n"));
- buffer.Append(_L("DRMPlayServer can't be used with WMDRM"));
- }
- else
- {
- buffer.Append(_L("Test failed with error code: "));
- buffer.AppendNum(error);
- }
- CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
- informationNote->ExecuteLD(buffer);
- break;
- }
- case EDrmEncryptorDeleteWmDrmCommand:
- {
- DeleteWmDrmRdbL();
- CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
- informationNote->ExecuteLD(_L("WmDrm Rights Deleted"));
- break;
- }
- case EDrmEncryptorBackupWmDrmCommand:
- {
- TRAPD( error, BackupWmDrmDbL() );
- if ( !error )
- {
- buffer.Append(_L("WmDrm License DB backup succeeded"));
- }
- else
- {
- buffer.Append(_L("WmDrm License DB backup failed"));
- }
- CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
- informationNote->ExecuteLD(buffer);
- break;
- }
- case EDrmEncryptorRestoreWmDrmCommand:
- {
- TRAPD( error, RestoreWmDrmDbL() );
- if ( !error )
- {
- buffer.Append(_L("WmDrm License DB restore succeeded"));
- }
- else
- {
- buffer.Append(_L("WmDrm License DB restore failed"));
- }
- CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
- informationNote->ExecuteLD(buffer);
- break;
- }
- default:
- TestPerformanceL(aCommand);
-
- buffer.Append(_L("Performance test done\n"));
- buffer.Append(_L("See results from \nc:\\logs\\performance.log"));
-
- CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
- informationNote->ExecuteLD(buffer);
-
- break;
- }
- }
-
-
-TBool CDRMEncryptorAppUi::ProcessCommandParametersL(
- TApaCommand /*aCommand*/,
- TFileName& /*aDocumentName*/,
- const TDesC8& /*aTail*/)
- {
- return EFalse;
- }
-
-// End of File
--- a/commondrm/drmencryptor/src/DRMEncryptorContainer.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,444 +0,0 @@
-/*
-* Copyright (c) 2002-2009 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:
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <eiksbfrm.h>
-#include <eikscrlb.h>
-#include <eikrted.h>
-#include <txtrich.h>
-#include <barsread.h>
-#include <eikenv.h>
-#include <aknenv.h>
-#include <AknUtils.h>
-#include <aknconsts.h>
-#include <txtfrmat.h>
-#include <AknBidiTextUtils.h>
-
-#include <DRMEncryptor.rsg>
-#include "DRMEncryptorContainer.h"
-#include "DRMEncryptorImage.h"
-#include "DRMEncryptor.hrh"
-
-// CONSTANTS
-
-_LIT( KDRMEncryptorPanicCategory, "DRMEncryptor" );
-
-enum TDRMEncryptorPanic
- {
- EDRMEncryptorNotSupported = 0
- };
-
-// constructors
-
-CDRMEncryptorContainer::CDRMEncryptorContainer()
- {
- }
-
-void CDRMEncryptorContainer::ConstructL( const TRect& aRect )
- {
- CreateWindowL();
-
- // In case of APAC layout, use APAC font
- TAknLayoutId layoutId;
- iAvkonEnv->GetCurrentLayoutId( layoutId );
-
- if ( layoutId == EAknLayoutIdAPAC )
- {
- iFont = ApacPlain12();
- }
- else
- {
- iFont = LatinPlain12();
- }
-
- // Calculate various text positioning parameters
- iBaseLineDelta = iFont->HeightInPixels() * 4 / 3;
-
- TInt mainPaneWidth( aRect.iBr.iX - aRect.iTl.iX );
- TInt mainPaneHeight( aRect.iBr.iY - aRect.iTl.iY );
- // Line width is 87% of client rect, horizontal margins 13%
- iLineWidth = mainPaneWidth * 87 / 100;
-
- iTopBaseLineX = ( mainPaneWidth - iLineWidth ) / 2;
-
- // top margin is 6.5% of the client rect
- TInt topMargin = mainPaneHeight * 65 / 1000;
- iTopBaseLineY = topMargin + iFont->AscentInPixels();
-
- // minimum bottom margin is 3% of the client rect
- TInt bottomMargin = mainPaneHeight * 3 / 100;
- iLinesPerScreen =
- ( mainPaneHeight - topMargin - bottomMargin ) / iBaseLineDelta;
-
- iTextAlign = CGraphicsContext::ELeft;
-
- // Every text line on screen is one entry in this array
- iText = new( ELeave ) CArrayPtrFlat<HBufC>( 20 );
- // Every image on screen is one entry in this array
- iImages = new( ELeave ) CArrayPtrFlat<CDRMEncryptorImage>( 1 );
- // This array contains indices for lines that start the subsequent
- // screens, for custom scrolling
- iScreenStarts = new( ELeave ) CArrayFixFlat<TInt>( 5 );
- // Initialisation: first screen starts at line 0.
- iScreenStarts->AppendL( 0 );
-
- // Read text and image items to be shown on the screen from a resource file.
-
- // real resource
- TResourceReader reader;
- iEikonEnv->CreateResourceReaderLC( reader, R_DRMENCRYPTOR_MAIN_TEXT );
-
- TInt numItems( reader.ReadInt16() );
-
- for ( TInt i = 0 ; i < numItems ; i++ )
- {
- TInt type = reader.ReadInt8();
-
- if ( type == EDRMEncryptorTextItem )
- {
- HBufC* text = iEikonEnv->AllocReadResourceLC( reader.ReadInt32() );
- SetTextL( *text );
-
-
- CleanupStack::PopAndDestroy(); // text
- }
- else if ( type == EDRMEncryptorImageItem )
- {
- TPtrC bitmapFile = reader.ReadTPtrC();
- TInt bitmapId = reader.ReadInt16();
- SetImageL( bitmapFile, bitmapId );
- }
- else
- {
- User::Panic( KDRMEncryptorPanicCategory, EDRMEncryptorNotSupported );
- }
- }
-
- CleanupStack::PopAndDestroy(); // reader
-
- UpdateScrollIndicatorL();
- SetRect( aRect );
- ActivateL();
- }
-
-// destructor
-
-CDRMEncryptorContainer::~CDRMEncryptorContainer()
- {
- delete iSBFrame;
- delete iScreenStarts;
-
- if ( iText )
- {
- iText->ResetAndDestroy();
- delete iText;
- }
-
- if ( iImages )
- {
- iImages->ResetAndDestroy();
- delete iImages;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CDRMEncryptorContainer::Draw()
-// -----------------------------------------------------------------------------
-
-void CDRMEncryptorContainer::Draw( const TRect& aRect ) const
- {
- CWindowGc& gc = SystemGc();
-
- // clear the area
-
- gc.SetBrushColor( iEikonEnv->ControlColor( EColorWindowBackground, *this ) );
- gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
- gc.Clear( aRect );
-
- // draw text
- gc.UseFont( iFont );
-
- // index of the first line on the screen in the text array
- TInt firstLine( (*iScreenStarts)[ iCurrentScreen ] );
- // index of the last line on the screen in the text array
- TInt lastLine( firstLine + iLinesPerScreen - 1 );
-
- gc.SetBrushStyle( CGraphicsContext::ENullBrush );
- TPoint position( iTopBaseLineX, iTopBaseLineY );
- TPoint topLeft;
- TSize rectSize( iLineWidth, iBaseLineDelta +iFont->DescentInPixels() );
-
- for ( TInt index = firstLine ;
- index < iText->Count() && index <= lastLine ;
- index++, position.iY += iBaseLineDelta )
- {
- HBufC* text = (*iText)[ index ];
-
- if ( text )
- {
- topLeft = TPoint( position.iX, position.iY-iBaseLineDelta );
- gc.DrawText( *text,
- TRect( topLeft, rectSize ),
- iBaseLineDelta,
- iTextAlign );
- }
- }
-
- gc.DiscardFont();
-
- // draw images
-
- for ( TInt i = 0 ; i < iImages->Count() ; i++ )
- {
- CDRMEncryptorImage* image = (*iImages)[ i ];
-
- // If part of the image resides in visible lines, draw it.
- if ( image->StartLine() <= lastLine && image->EndLine() >= firstLine )
- {
- position.SetXY( iTopBaseLineX, iTopBaseLineY );
- position.iY += ( image->StartLine() - firstLine ) * iBaseLineDelta;
-
- position.iY -= iBaseLineDelta - iFont->DescentInPixels();
- // Now iY is the top line of rectangle where the picture is
- // centered in.
- position.iY += ( (image->Lines()+1) * iBaseLineDelta -
- iFont->HeightInPixels() -
- image->HeightInPixels() ) / 2;
-
- // If text is right-aligned, also align images to the right.
-
- if ( iTextAlign == CGraphicsContext::ERight )
- {
- position.iX += ( iLineWidth - image->WidthInPixels() );
- }
-
- gc.BitBlt( position, image->Bitmap(), aRect );
- }
- }
-
- }
-
-// -----------------------------------------------------------------------------
-// CDRMEncryptorContainer::ActivateL()
-// -----------------------------------------------------------------------------
-
-void CDRMEncryptorContainer::ActivateL()
- {
- CCoeControl::ActivateL();
- UpdateScrollIndicatorL();
- }
-
-// -----------------------------------------------------------------------------
-// CDRMEncryptorContainer::SetTextL()
-// -----------------------------------------------------------------------------
-
-void CDRMEncryptorContainer::SetTextL( const TDesC& aText )
- {
- CArrayFix<TPtrC>* wrappedArray =
- new( ELeave ) CArrayFixFlat<TPtrC>( 10 );
-
- CleanupStack::PushL( wrappedArray );
-
- HBufC* dataToDestroy =
- AknBidiTextUtils::ConvertToVisualAndWrapToArrayL(
- aText, iLineWidth, *iFont, *wrappedArray
- );
-
- TInt numLines( wrappedArray->Count() );
- for ( TInt i = 0 ; i < numLines ; i++ )
- {
- HBufC* line = (*wrappedArray)[i].AllocLC();
-
- if(!line->Length())
- {
- iText->AppendL( NULL );
-
- CleanupStack::PopAndDestroy(); // line
- }
- else
- {
- iText->AppendL( line );
- CleanupStack::Pop(); // line
- }
- }
- iText->AppendL( NULL );
-
- // If the last char was newline, add one extra, since
- // wrapping automatically removes it.
- if ( aText[ aText.Length() - 1 ] == '\n' )
- {
- iText->AppendL( NULL );
- }
-
- CleanupStack::PopAndDestroy(); // wrappedArray
- delete dataToDestroy;
-
- // update screen scrolling info array
-
- TInt lastLine( iText->Count() - 1 );
- TInt screenStart( (*iScreenStarts)[ iScreenStarts->Count() - 1 ] );
-
- TBool firstNewScreenHandled( EFalse );
-
- while ( lastLine >= screenStart + iLinesPerScreen )
- {
- if ( !firstNewScreenHandled && iDoNotShowLastLineAgain )
- {
- screenStart++;
- firstNewScreenHandled = ETrue;
- }
-
- screenStart += iLinesPerScreen - 1;
- iScreenStarts->AppendL( screenStart );
- }
-
- // if text, last line is shown again in next screen
- iDoNotShowLastLineAgain = EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CDRMEncryptorContainer::SetImageL()
-// -----------------------------------------------------------------------------
-
-void CDRMEncryptorContainer::SetImageL( const TDesC& aFileName, TInt aBitmapId )
- {
- TInt firstLineOfImage( iText->Count() );
-
- CDRMEncryptorImage* image =
- CDRMEncryptorImage::NewLC( aFileName, aBitmapId, firstLineOfImage, iBaseLineDelta );
-
- // new lines to make room for the picture
-
- for ( TInt i = 0 ; i < image->Lines() ; i++ )
- {
- iText->AppendL( NULL );
- }
-
- iImages->AppendL( image );
- CleanupStack::Pop(); // image
-
- // update screen scrolling info array
-
- TInt lastLineOfImage( iText->Count() - 1 );
- TInt screenStart( (*iScreenStarts)[ iScreenStarts->Count() - 1 ] );
-
- TBool firstNewScreenHandled( EFalse );
-
- // If the image was not fully shown in the first screen,
- // start the next screen with the image.
-
- if ( firstLineOfImage < screenStart + iLinesPerScreen &&
- lastLineOfImage >= screenStart + iLinesPerScreen )
- {
- screenStart = firstLineOfImage;
- iScreenStarts->AppendL( screenStart );
- firstNewScreenHandled = ETrue;
- }
-
- while ( lastLineOfImage >= screenStart + iLinesPerScreen )
- {
- if ( !firstNewScreenHandled && iDoNotShowLastLineAgain )
- {
- screenStart++;
- firstNewScreenHandled = ETrue;
- }
-
- screenStart += iLinesPerScreen - 1;
- iScreenStarts->AppendL( screenStart );
- }
-
- if ( lastLineOfImage == screenStart + iLinesPerScreen - 1 )
- {
- iDoNotShowLastLineAgain = ETrue;
- }
- else
- {
- iDoNotShowLastLineAgain = EFalse;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CDRMEncryptorContainer::OfferKeyEventL()
-// -----------------------------------------------------------------------------
-
-TKeyResponse CDRMEncryptorContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType )
- {
- if ( aType == EEventKey && iScreenStarts->Count() > 1 )
- {
- switch ( aKeyEvent.iCode )
- {
- case EKeyUpArrow:
- if ( iCurrentScreen > 0 )
- {
- iCurrentScreen--;
- DrawNow();
- UpdateScrollIndicatorL();
- }
- break;
-
- case EKeyDownArrow:
- if ( iCurrentScreen < iScreenStarts->Count() - 1 )
- {
- iCurrentScreen++;
- DrawNow();
- UpdateScrollIndicatorL();
- }
- break;
-
- default:
- break;
- }
- }
-
- return EKeyWasConsumed;
- }
-
-// -----------------------------------------------------------------------------
-// CDRMEncryptorContainer::UpdateScrollIndicatorL()
-// -----------------------------------------------------------------------------
-
-void CDRMEncryptorContainer::UpdateScrollIndicatorL()
- {
- if ( iScreenStarts->Count() <= 1 )
- {
- return;
- }
-
- if ( !iSBFrame )
- {
- iSBFrame = new( ELeave ) CEikScrollBarFrame( this, NULL, ETrue );
- iSBFrame->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,
- CEikScrollBarFrame::EAuto );
- iSBFrame->SetTypeOfVScrollBar( CEikScrollBarFrame::EArrowHead );
- }
-
- TEikScrollBarModel hSbarModel;
- TEikScrollBarModel vSbarModel;
- vSbarModel.iThumbPosition = iCurrentScreen;
- vSbarModel.iScrollSpan = iScreenStarts->Count();
- vSbarModel.iThumbSpan = 1;
-
- TEikScrollBarFrameLayout layout;
- TRect rect( Rect() );
- iSBFrame->TileL( &hSbarModel, &vSbarModel, rect, rect, layout );
- iSBFrame->SetVFocusPosToThumbPos( vSbarModel.iThumbPosition );
- }
-
-// End of File
--- a/commondrm/drmencryptor/src/DRMEncryptorDocument.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2002 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:
-*
-*/
-
-
-// INCLUDE FILES
-#include "DRMEncryptorDocument.h"
-#include "DRMEncryptorAppUi.h"
-#include "DrmKeyStorage.h"
-
-extern TUint KeyStorageFromZipL(const TDesC&, RFs&);
-
-// ================= MEMBER FUNCTIONS =======================
-
-// constructor
-CDRMEncryptorDocument::CDRMEncryptorDocument( CEikApplication& aApp ) : CAknDocument( aApp )
- {
- }
-
-// destructor
-CDRMEncryptorDocument::~CDRMEncryptorDocument()
- {
- }
-
-// Two-phased constructor.
-CDRMEncryptorDocument* CDRMEncryptorDocument::NewL( CEikApplication& aApp )
- {
- return new( ELeave ) CDRMEncryptorDocument( aApp );
- }
-
-CFileStore* CDRMEncryptorDocument::OpenFileL(TBool /*aDoOpen*/, const TDesC& aFileName, RFs& aFs)
- {
- KeyStorageFromZipL(aFileName, aFs);
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CDRMEncryptorDocument::CreateAppUiL()
-// constructs CDRMEncryptorAppUi
-// -----------------------------------------------------------------------------
-//
-CEikAppUi* CDRMEncryptorDocument::CreateAppUiL()
- {
- return new( ELeave ) CDRMEncryptorAppUi;
- }
-
-// End of File
--- a/commondrm/drmencryptor/src/DRMEncryptorImage.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2002 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:
-*
-*/
-
-
-// INCLUDE FILES
-#include <fbs.h>
-#include "DRMEncryptorImage.h"
-
-// ================= MEMBER FUNCTIONS ==========================================
-
-CDRMEncryptorImage::CDRMEncryptorImage()
- {
- }
-
-CDRMEncryptorImage::~CDRMEncryptorImage()
- {
- delete iBitmap;
- }
-
-CDRMEncryptorImage* CDRMEncryptorImage::NewLC( const TDesC& aFileName,
- TInt aBitmapId,
- TInt aStartLine,
- TInt aBaseLineDelta )
- {
- CDRMEncryptorImage* self = new( ELeave ) CDRMEncryptorImage();
- CleanupStack::PushL( self );
-
- self->iBitmap = new( ELeave ) CFbsBitmap;
- self->iBitmap->Load( aFileName, aBitmapId );
-
- self->iStartLine = aStartLine;
-
- // enough lines so that image and margins fit in them.
-
- TInt lines( ( self->HeightInPixels() +
- KImageTopMargin +
- KImageBottomMargin +
- aBaseLineDelta - 1 ) / aBaseLineDelta );
-
- self->iEndLine = aStartLine + lines - 1;
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CDRMEncryptorImage::HeightInPixels()
-// -----------------------------------------------------------------------------
-
-TInt CDRMEncryptorImage::HeightInPixels() const
- {
- return iBitmap->SizeInPixels().iHeight;
- }
-
-// -----------------------------------------------------------------------------
-// CDRMEncryptorImage::WidthInPixels()
-// -----------------------------------------------------------------------------
-
-TInt CDRMEncryptorImage::WidthInPixels() const
- {
- return iBitmap->SizeInPixels().iWidth;
- }
-
-// -----------------------------------------------------------------------------
-// CDRMEncryptorImage::StartLine()
-// -----------------------------------------------------------------------------
-
-TInt CDRMEncryptorImage::StartLine() const
- {
- return iStartLine;
- }
-
-// -----------------------------------------------------------------------------
-// CDRMEncryptorImage::EndLine()
-// -----------------------------------------------------------------------------
-
-TInt CDRMEncryptorImage::EndLine() const
- {
- return iEndLine;
- }
-
-// -----------------------------------------------------------------------------
-// CDRMEncryptorImage::Lines()
-// -----------------------------------------------------------------------------
-
-TInt CDRMEncryptorImage::Lines() const
- {
- return iEndLine - iStartLine + 1;
- }
-
-// -----------------------------------------------------------------------------
-// CDRMEncryptorImage::Bitmap()
-// -----------------------------------------------------------------------------
-
-const CFbsBitmap* CDRMEncryptorImage::Bitmap() const
- {
- return iBitmap;
- }
-
-// End of File
--- a/commondrm/drmencryptor/src/DRMPlayServerTest.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2007 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:
-*
-*/
-
-
-#include <DrmAudioSamplePlayer.h>
-
-#include "DRMPlayServerTest.h"
-
-#ifdef __WINS__
-_LIT( KTestFile, "c:\\data\\drm\\test.wma" );
-#else
-_LIT( KTestFile, "e:\\drm\\test.wma" );
-#endif
-
-// ================= MEMBER FUNCTIONS ==========================================
-
-CDRMPlayServerTest::CDRMPlayServerTest()
- {
- }
-
-
-void CDRMPlayServerTest::ConstructL()
- {
- iWait = new (ELeave) CActiveSchedulerWait();
- iDrmPlayerUtility = CDrmPlayerUtility::NewL( *this,
- 0,
- EMdaPriorityPreferenceNone );
- }
-
-CDRMPlayServerTest::~CDRMPlayServerTest()
- {
- delete iWait;
- delete iDrmPlayerUtility;
- }
-
-CDRMPlayServerTest* CDRMPlayServerTest::NewLC()
- {
- CDRMPlayServerTest* self = new( ELeave ) CDRMPlayServerTest();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-TInt CDRMPlayServerTest::ExecutePlayServerTest()
- {
- iError = KErrNone;
- TRAP( iError, iDrmPlayerUtility->OpenFileL( KTestFile ) );
- if ( iError )
- {
- return iError;
- }
- iWait->Start();
- return iError;
- }
-
-void CDRMPlayServerTest::MdapcInitComplete(
- TInt aError,
- const TTimeIntervalMicroSeconds& /*aDuration*/ )
- {
- iWait->AsyncStop();
- iError = aError;
- }
-
-void CDRMPlayServerTest::MdapcPlayComplete( TInt aError )
- {
- iWait->AsyncStop();
- iError = aError;
- }
-
-// End of File
-
--- a/commondrm/drmencryptor/src/DrmBb5KeyStorage.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-/*
-* Copyright (c) 2003-2009 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:
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <f32file.h>
-#include <flogger.h>
-#include <x509cert.h>
-#include <symmetric.h>
-#include <asymmetric.h>
-
-#ifdef RD_MULTIPLE_DRIVE
-#include <driveinfo.h>
-#endif
-
-#include "DrmKeyStorage.h"
-
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// CONSTANTS
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-
-// Test logging macros
-
-#ifdef RD_MULTIPLE_DRIVE
-_LIT(KFullLogDir, "%c:\\logs\\drm\\");
-#else
-_LIT(KFullLogDir, "c:\\logs\\drm\\");
-#endif
-
-_LIT(KLogDir, "drm");
-_LIT(KLogName, "DrmEncryptorBb5KeyStorage.log");
-
-#define TEST_STEP(string) \
- GBb5Log.WriteFormat(_L("Next Test: %S"), &string);
-
-#define CHECK(condition) \
- if (!condition) GBb5Log.WriteFormat(_L("FAIL: line %d"), __LINE__);
-
-// MODULE DATA STRUCTURES
-
-RFs GBb5Fs;
-RFileLogger GBb5Log;
-
-// STATIC TEST CONTENT AND RIGHTS OBJECTS
-
-// LOCAL FUNCTION PROTOTYPES
-
-// ==================== LOCAL FUNCTIONS ====================
-
-HBufC8* I2OSPL(
- RInteger& aInt)
- {
- HBufC8* r = aInt.BufferLC();
- CleanupStack::Pop(r);
- return r;
- }
-
-RInteger OS2IPL(
- const TDesC8& aOctetStream)
- {
- RInteger r;
- TInt i;
-
- r = RInteger::NewL(0);
- for (i = 0; i < aOctetStream.Length(); i++)
- {
- r *= 256;
- r += aOctetStream[i];
- }
- return r;
- }
-
-HBufC8* RsaEncryptL(
- CRSAPublicKey* aKey,
- const TDesC8& aInput)
- {
- RInteger result;
- RInteger input;
- HBufC8* output;
-
- input = OS2IPL(aInput);
- CleanupClosePushL(input);
- result = TInteger::ModularExponentiateL(input, aKey->E(), aKey->N());
- CleanupClosePushL(result);
- output = I2OSPL(result);
- CleanupStack::PopAndDestroy(2); // result, input
- return output;
- }
-
-LOCAL_C TUint MDrmKeyStorage_GetCertificateChainL()
- {
- MDrmKeyStorage* storage = NULL;
- RPointerArray<HBufC8> chain;
- TInt i;
- TUint result = NULL;
-
- GBb5Log.WriteFormat(_L("MDrmKeyStorage_GetCertificateChainL -> DrmKeyStorageNewL"));
- TRAPD(err,storage = DrmKeyStorageNewL());
- if (err != KErrNone)
- {
- result = err;
- }
-
- GBb5Log.WriteFormat(_L("MDrmKeyStorage_GetCertificateChainL -> SelectDefaultRootL"));
- storage->SelectDefaultRootL();
-
- GBb5Log.WriteFormat(_L("MDrmKeyStorage_GetCertificateChainL -> GetCertificateChainL"));
- storage->GetCertificateChainL(chain);
-
- for (i = 0; i < chain.Count(); i++)
- {
- GBb5Log.WriteFormat(_L("Certificate %d:"), i);
- GBb5Log.HexDump(_S(""), _S(""), chain[i]->Ptr(), chain[i]->Length());
- }
- chain.ResetAndDestroy();
- chain.Close();
- delete storage;
- return result;
- }
-
-LOCAL_C TUint MDrmKeyStorage_DecryptL()
- {
- MDrmKeyStorage* storage = NULL;
- RPointerArray<HBufC8> chain;
- CRSAPublicKey* key = NULL;
- CX509Certificate* cert = NULL;
- TX509KeyFactory factory;
- TBuf8<128> data;
- HBufC8* encData;
- HBufC8* decData;
- TUint result = KErrNone;
-
-
- GBb5Log.WriteFormat(_L("MDrmKeyStorage_Decrypt"));
- storage = DrmKeyStorageNewL();
- storage->SelectDefaultRootL();
- storage->GetCertificateChainL(chain);
- cert = CX509Certificate::NewL(*chain[0]);
- chain.ResetAndDestroy();
- chain.Close();
- key = factory.RSAPublicKeyL(cert->PublicKey().KeyData());
- data.SetLength(128);
- data.Fill(1);
- GBb5Log.WriteFormat(_L("data:"));
- GBb5Log.HexDump(_S(""), _S(""), &data[0], sizeof(data));
-
- encData = RsaEncryptL(key, data);
- GBb5Log.WriteFormat(_L("encrypted data:"));
- GBb5Log.HexDump(_S(""), _S(""), encData->Ptr(), encData->Length());
-
- decData = storage->RsaDecryptL(*encData);
- GBb5Log.WriteFormat(_L("decrypted data :"));
- GBb5Log.HexDump(_S(""), _S(""), decData->Ptr(), decData->Length());
-
- delete cert;
- delete key;
- delete storage;
- return result;
- }
-
-// ==================== TEST FUNCTIONS =====================
-
-
-
-TUint Bb5KeyStorage()
- {
- TUint result = 0;
- TInt catchy = 0;
- result = GBb5Fs.Connect();
- if( result != KErrNone )
- {
- return result;
- }
-
-#ifndef RD_MULTIPLE_DRIVE
-
- GBb5Fs.MkDirAll(KFullLogDir);
-
-#else //RD_MULTIPLE_DRIVE
-
- TInt driveNumber( -1 );
- TChar driveLetter;
- DriveInfo::GetDefaultDrive( DriveInfo::EDefaultSystem, driveNumber );
- GBb5Fs.DriveToChar( driveNumber, driveLetter );
-
- TFileName fullLogDir;
- fullLogDir.Format( KFullLogDir, (TUint)driveLetter );
-
- GBb5Fs.MkDirAll(fullLogDir);
-
-#endif
-
- result = GBb5Log.Connect();
- if( result != KErrNone )
- {
- GBb5Fs.Close();
- return result;
- }
- GBb5Log.CreateLog(KLogDir, KLogName, EFileLoggingModeOverwrite);
- GBb5Log.Write(_L("Start %D"));
-
- TRAPD(err,result = MDrmKeyStorage_GetCertificateChainL());
- CHECK(err == KErrNone);
- if (err ==KErrNone)
- {
- TRAP(catchy, result = MDrmKeyStorage_DecryptL());
- if( catchy )
- {
- result = catchy;
- }
- }
- CHECK(err == KErrNone);
- GBb5Log.CloseLog();
- GBb5Fs.Close();
- return result;
- }
-
--- a/commondrm/drmencryptor/src/DrmEncryptor.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,577 +0,0 @@
-/*
-* Copyright (c) 2003-2009 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: DRM Encryption tool for DRM5
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <e32base.h>
-#include <barsc.h>
-#include <barsread.h>
-#include <apmstd.h>
-#include <e32test.h>
-#include <s32strm.h>
-#include <s32file.h>
-#include <bacline.h>
-#include <e32math.h>
-
-
-#ifdef RD_MULTIPLE_DRIVE
-#include <driveinfo.h>
-#endif
-
-#include <DRMRights.h>
-#include <DcfCommon.h>
-#include <DRMMessageParser.h>
-#include <Oma1DcfCreator.h>
-#include <DRMRightsClient.h>
-#include "DRMClockClient.h"
-
-#include <DcfRep.h>
-#include <DcfEntry.h>
-
-#include <DRMEncryptor.rsg>
-
-#include <avkon.hrh>
-#include <aknnotewrappers.h>
-
-#include <wmdrmagent.h>
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// CONSTANTS
-
-_LIT( KWmdrmBd, "c:\\private\\10281e17\\[10282F1B]hds.db" );
-_LIT( KWmdrmBdBackup, "e:\\[10282F1B]hds.db" );
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-
-// MODULE DATA STRUCTURES
-
-// LOCAL FUNCTION PROTOTYPES
-
-// ==================== LOCAL FUNCTIONS ====================
-
-LOCAL_C void ReadFileL(HBufC8*& aContent, const TDesC& aName, RFs& aFs)
- {
- TInt size = 0;
- RFile file;
- User::LeaveIfError(file.Open(aFs, aName, EFileRead));
- User::LeaveIfError(file.Size(size));
- aContent = HBufC8::NewLC(size);
- TPtr8 ptr(aContent->Des());
- User::LeaveIfError(file.Read(ptr, size));
- CleanupStack::Pop(); //aContent
- }
-
-// ---------------------------------------------------------
-// UpdateDCFRepositoryL()
-// Update saved file to DCFRepository
-// ---------------------------------------------------------
-//
-LOCAL_C void UpdateDCFRepositoryL( const TDesC& aFileName)
- {
- CDcfEntry* dcf( NULL );
- CDcfRep* dcfRep( NULL );
-
- dcf = CDcfEntry::NewL();
- CleanupStack::PushL( dcf );
-
- dcfRep = CDcfRep::NewL();
- CleanupStack::PushL( dcfRep );
-
- dcf->SetLocationL( aFileName, 0 );
- dcfRep->UpdateL( dcf );
-
- CleanupStack::PopAndDestroy(2); // dcf, dcfRep
- }
-
-
-
-
-// ==================== TEST FUNCTIONS =====================
-
-const TInt KBufferSize = 20000;
-
-void ProcessMessageL(const TDesC& aFile, const TDesC& aOutput)
- {
- CDRMMessageParser* c = NULL;
- HBufC8* d = NULL;
- RFs fs;
- TPtr8 inRead(NULL, 0);
- TInt error = 1;
- __UHEAP_MARK;
-
- User::LeaveIfError(fs.Connect());
- CleanupClosePushL(fs);
- c = CDRMMessageParser::NewL();
- CleanupStack::PushL(c);
-
- d = HBufC8::NewLC( KBufferSize );
-
- RFile input;
- User::LeaveIfError(input.Open( fs, aFile, EFileRead ));
- CleanupClosePushL( input );
-
- RFileWriteStream output;
- output.Replace( fs, aOutput, EFileWrite );
- CleanupClosePushL( output );
-
- c->InitializeMessageParserL( output );
-
- while( error )
- {
- inRead.Set( const_cast<TUint8*>(d->Ptr()),0,KBufferSize);
- error = input.Read( inRead );
-
- if( error )
- {
- c->FinalizeMessageParserL();
-
- User::Leave( error );
- }
- else
- {
- error = inRead.Length();
- }
-
- if( error )
- {
- c->ProcessMessageDataL(inRead);
- }
- }
-
- c->FinalizeMessageParserL();
-
-
- CleanupStack::PopAndDestroy( 5 ); // fs, c, d, input, output
- UpdateDCFRepositoryL( aOutput );
- __UHEAP_MARKEND;
- }
-
-void ProcessRightsL(const TDesC& aFile)
- {
- CDRMMessageParser* c = NULL;
- HBufC8* d = NULL;
- RFs fs;
- RPointerArray<CDRMRights> rights;
-
- User::LeaveIfError(fs.Connect());
- c = CDRMMessageParser::NewL();
- ReadFileL(d, aFile, fs);
- c->ProcessRightsObject(*d, rights);
- rights.ResetAndDestroy();
- delete d;
- delete c;
- fs.Close();
- }
-
-void EncryptFileL(const TDesC& aFile, TDesC& aOutput, TInt aMultiplier)
- {
- COma1DcfCreator* c = NULL;
- CDRMRights* rights = NULL;
- TBuf8<64> mime;
- RFs fs;
- TFileName aDcfFile;
- TInt aOriginalFileNameLength(aOutput.Length() - 4);
-
- User::LeaveIfError(fs.Connect());
- if (aFile.Right(3).CompareF(_L("amr")) == 0) //AMR
- {
- mime.Copy(_L8("audio/amr"));
- }
- else if (aFile.Right(3).CompareF(_L("awb")) == 0) //AMR-AWB
- {
- mime.Copy(_L8("audio/amr-wb"));
- }
- else if (aFile.Right(3).CompareF(_L("mp3")) == 0) //MP3
- {
- mime.Copy(_L8("audio/mpeg"));
- }
- else if (aFile.Right(3).CompareF(_L("mp4")) == 0) //MP4
- {
- mime.Copy(_L8("audio/mp4"));
- }
- else if (aFile.Right(3).CompareF(_L("m4a")) == 0) //M4A
- {
- mime.Copy(_L8("audio/mp4"));
- }
- else if (aFile.Right(3).CompareF(_L("3gp")) == 0) //3GPP
- {
- mime.Copy(_L8("audio/3gpp"));
- }
- else if (aFile.Right(3).CompareF(_L("3g2")) == 0) //3GPP2
- {
- mime.Copy(_L8("audio/3gpp2"));
- }
- else if (aFile.Right(3).CompareF(_L("aac")) == 0) //AAC
- {
- mime.Copy(_L8("audio/aac"));
- }
- else if (aFile.Right(3).CompareF(_L("mid")) == 0) //MIDI
- {
- mime.Copy(_L8("audio/midi"));
- }
- else if (aFile.Right(5).CompareF(_L(".spmid")) == 0) //SP-MIDI
- {
- mime.Copy(_L8("audio/sp-midi"));
- }
- else if (aFile.Right(3).CompareF(_L("rmf")) == 0) //RMF
- {
- mime.Copy(_L8("audio/rmf"));
- }
- else if (aFile.Right(4).CompareF(_L("mxmf")) == 0) //Mobile-XMF
- {
- mime.Copy(_L8("audio/mobile-xmf"));
- }
- else if (aFile.Right(3).CompareF(_L("wav")) == 0) //WAV
- {
- mime.Copy(_L8("audio/x-wav"));
- }
- else if (aFile.Right(3).CompareF(_L("gif")) == 0) // GIF
- {
- mime.Copy(_L8("image/gif"));
- }
- else if (aFile.Right(3).CompareF(_L("jpg")) == 0) // JPEG
- {
- mime.Copy(_L8("image/jpeg"));
- }
- else if (aFile.Right(3).CompareF(_L("txt")) == 0) // text
- {
- mime.Copy(_L8("text/plain"));
- }
- else if (aFile.Right(3).CompareF(_L("pip")) == 0) // PIP
- {
- mime.Copy(_L8("application/x-pip"));
- }
-
- aDcfFile.Append(aOutput);
-
- for(TInt i = 0; i < aMultiplier ; ++i)
- {
- aDcfFile.Delete(aOriginalFileNameLength, aDcfFile.Length());
- aDcfFile.Append(_L("-"));
- aDcfFile.AppendNum(i);
- aDcfFile.Append(_L(".dcf"));
- c = COma1DcfCreator::NewL();
- CleanupStack::PushL(c);
- fs.Delete(aOutput);
- c->EncryptFileL(aFile, aDcfFile, mime, rights);
- UpdateDCFRepositoryL( aDcfFile );
- delete rights;
- CleanupStack::PopAndDestroy(); // c
- }
- fs.Close();
-
- }
-
-TUint EncryptL(TUint& aEncryptedCount, TUint& aRightsCount, TUint& aMessagesProcessed)
- {
- TInt i;
- CDir* files;
- TFileName input;
- TFileName output;
- TUint inputNameSize = 0;
- TUint outputNameSize = 0;
- RFs fs;
- User::LeaveIfError(fs.Connect());
- TInt aMultiplier(1);
-
-
-#ifdef __WINS__
- input.Append(_L("c:\\data\\DRM\\"));
- output.Append(_L("c:\\data\\Others\\"));
-#else
-#ifndef RD_MULTIPLE_DRIVE
-
- input.Append(_L("e:\\DRM\\"));
- output.Append(_L("e:\\Others\\"));
-
-#else //RD_MULTIPLE_DRIVE
-
- TInt driveNumber( -1 );
- TChar driveLetter;
- DriveInfo::GetDefaultDrive( DriveInfo::EDefaultMassStorage, driveNumber );
- fs.DriveToChar( driveNumber, driveLetter );
-
- _LIT( KdrmDir, "%c:\\DRM\\" );
- input.Format( KdrmDir, (TUint)driveLetter );
-
- _LIT( KothersDir, "%c:\\Others\\" );
- output.Format( KothersDir, (TUint)driveLetter );
-
-#endif
-#endif
-
- inputNameSize = input.Length();
- outputNameSize = output.Length();
-
-
- fs.MkDir(input);
- fs.MkDir(output);
-
- fs.GetDir(input, KEntryAttNormal, ESortNone, files);
- for (i = 0; i < files->Count(); i++)
- {
- input.Append((*files)[i].iName);
-
- output.Append((*files)[i].iName);
-
- if (input.Right(2).CompareF(_L("dm")) == 0)
- {
-
- for(TInt ii = 0; ii < aMultiplier ; ++ii)
- {
- output.Delete(outputNameSize +(*files)[i].iName.Length() , output.Length()-1);
- output.Append(_L("-"));
- output.AppendNum(ii);
- output.Append(_L(".dcf"));
- ProcessMessageL(input, output);
- ++aMessagesProcessed;
- }
- }
- else if (input.Right(3).CompareF(_L("oro")) == 0 ||
- input.Right(3).CompareF(_L("drc")) == 0 ||
- input.Right(2).CompareF(_L("ro")) == 0 ||
- input.Right(2).CompareF(_L("dr")) == 0 )
- {
- for (TInt iii = 0; iii < aMultiplier; ++iii)
- {
- ProcessRightsL(input);
- ++aRightsCount;
- }
- }
- else if (input.Right(3).CompareF(_L("dcf")) != 0)
- {
- output.Append(_L(".dcf"));
- EncryptFileL(input, output, aMultiplier);
- ++aEncryptedCount;
- }
-
- //restore paths
- input.Delete(inputNameSize, input.Length()-1);
- output.Delete(outputNameSize, output.Length()-1);
- }
-
- fs.Close();
-
- TRequestStatus status;
- CDcfRep* rep = CDcfRep::NewL();
- CleanupStack::PushL(rep);
- rep->RefreshDcf(status);
- User::WaitForRequest( status );
- CleanupStack::PopAndDestroy( rep );
-
- delete files;
-
- return (aEncryptedCount*aMultiplier + aRightsCount + aMessagesProcessed);
- }
-
-void DeleteRdbL()
- {
- RDRMRightsClient client;
-
- User::LeaveIfError(client.Connect());
- client.DeleteAll();
- client.Close();
- }
-
-
-
-
-// -----------------------------------------------------------------------------
-// GetCafDataL
-// -----------------------------------------------------------------------------
-//
-ContentAccess::CManager* GetCafDataL( TAgent& aAgent )
- {
- TPtr8 ptr(NULL, 0, 0);
- RArray<TAgent> agents;
- TRequestStatus status;
- TInt i;
-
- CleanupClosePushL( agents );
- CManager* manager = CManager::NewLC();
-
- manager->ListAgentsL( agents );
-
- for (i = 0; i < agents.Count(); i++)
- {
- if (agents[i].Name().Compare(KWmDrmAgentName) == 0)
- {
- aAgent = agents[i];
- break;
- }
- }
- CleanupStack::Pop( manager );
- CleanupStack::PopAndDestroy(); // agents
- return manager;
- }
-
-
-// -----------------------------------------------------------------------------
-// DeleteWmDrmRdbL
-//-----------------------------------------------------------------------------
-//
-
-void DeleteWmDrmRdbL()
- {
- // get the data part
- ContentAccess::CManager* manager = NULL;
- ContentAccess::TAgent agent;
- TPtr8 ptr(NULL, 0, 0);
- TPtrC8 ptr2;
-
- // Find the caf agent and create manager
- manager = GetCafDataL( agent );
- CleanupStack::PushL( manager );
-
- User::LeaveIfError(
- manager->AgentSpecificCommand( agent,
- (TInt)DRM::EWmDrmDeleteRights,
- ptr2,
- ptr) );
- CleanupStack::PopAndDestroy( manager );
- }
-
-
-
-void GetDrmClockL()
- {
- RDRMClockClient client;
-
- TTime drmTime;
- TDateTime date;
- TInt aTimeZone;
- DRMClock::ESecurityLevel secLevel = DRMClock::KInsecure;
- TBuf< 80 > buf;
-
-
-
- User::LeaveIfError( client.Connect() );
-
- client.GetSecureTime(drmTime, aTimeZone, secLevel);
-
- client.Close();
-
- date = drmTime.DateTime();
-
- if(secLevel == DRMClock::KSecure)
- {
- _LIT(KFormatTxt,"DRMClock Time:\n%d/%d/%d\n%d:%d:%d\nNitz available");
- buf.Format( KFormatTxt,
- date.Day()+1,
- TInt(date.Month()+1),
- date.Year(),
- date.Hour(),
- date.Minute(),
- date.Second());
- }
- else
- {
- _LIT(KFormatTxt,"DRMClock Time:\n%d/%d/%d\n%d:%d:%d\nNitz unavailable");
- buf.Format( KFormatTxt,
- date.Day()+1,
- TInt(date.Month()+1),
- date.Year(),
- date.Hour(),
- date.Minute(),
- date.Second());
- }
-
- CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
- informationNote->ExecuteLD(buf);
-
-
- }
-
-void SetDrmClockL()
- {
- RDRMClockClient client;
-
- TTime drmTime (_L("20000111:200600.000000"));
- TTime aDate (_L("20040000:"));
- TDateTime date;
- TInt aTimeZone;
- DRMClock::ESecurityLevel secLevel = DRMClock::KInsecure;
-
- User::LeaveIfError(client.Connect());
- CleanupClosePushL(client);
-
- client.GetSecureTime(drmTime, aTimeZone, secLevel);
-
- aDate = drmTime;
-
- CAknMultiLineDataQueryDialog* dlg = CAknMultiLineDataQueryDialog::NewL(aDate, drmTime);
- if ( dlg->ExecuteLD( R_DRM_TIME_QUERY ) )
- {
- TTime aTime = aDate.Int64() + drmTime.Int64();
- client.UpdateSecureTime(aTime, aTimeZone);
- CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
- informationNote->ExecuteLD(_L("DRM time changed"));
- }
- else
- {
- //User pressed cancel on confirmation screen
- CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
- informationNote->ExecuteLD(_L("DRM time not changed"));
- }
- CleanupStack::PopAndDestroy();
- }
-
-void BackupWmDrmDbL()
- {
- RProcess process;
- TFullName name;
- TFindProcess wmDrmServerFinder( _L( "*wmdrmserver*" ) );
- if ( wmDrmServerFinder.Next( name ) == KErrNone && process.Open( name ) == KErrNone )
- {
- process.Kill( -1 );
- process.Close();
- }
- RFs fs;
- User::LeaveIfError( fs.Connect() );
- CleanupClosePushL( fs );
- CFileMan* fileMan = CFileMan::NewL( fs );
- CleanupStack::PushL( fileMan );
- User::LeaveIfError( fileMan->Copy( KWmdrmBd, KWmdrmBdBackup, CFileMan::EOverWrite ) );
- CleanupStack::PopAndDestroy( 2, &fs ); //fs, fileMan
- }
-
-void RestoreWmDrmDbL()
- {
- RProcess process;
- TFullName name;
- TFindProcess wmDrmServerFinder( _L( "*wmdrmserver*" ) );
- if ( wmDrmServerFinder.Next( name ) == KErrNone && process.Open( name ) == KErrNone )
- {
- process.Kill( -1 );
- process.Close();
- }
- RFs fs;
- User::LeaveIfError( fs.Connect() );
- CleanupClosePushL( fs );
- CFileMan* fileMan = CFileMan::NewL( fs );
- CleanupStack::PushL( fileMan );
- User::LeaveIfError( fileMan->Copy( KWmdrmBdBackup, KWmdrmBd, CFileMan::EOverWrite ) );
- CleanupStack::PopAndDestroy( 2, &fs ); //fs, fileMan
- }
-
-// End of File
--- a/commondrm/drmencryptor/src/DrmKeyStorage.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,334 +0,0 @@
-/*
-* Copyright (c) 2003-2009 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:
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <f32file.h>
-#include <flogger.h>
-#include <x509cert.h>
-#include <symmetric.h>
-#include <asymmetric.h>
-
-#ifdef RD_MULTIPLE_DRIVE
-#include <driveinfo.h>
-#endif
-
-#include <zipfile.h>
-#include <aknnotewrappers.h>
-
-#include "DrmKeyStorage.h"
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// CONSTANTS
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-
-// Test logging macros
-
-#ifdef RD_MULTIPLE_DRIVE
-_LIT(KPrivateRightsDir, "%c:\\private\\101F51F2\\PKI");
-_LIT(KFullLogDir, "%c:\\logs\\drm\\");
-#else
-_LIT(KPrivateRightsDir, "c:\\private\\101F51F2\\PKI");
-_LIT(KFullLogDir, "c:\\logs\\drm\\");
-#endif
-
-
-#ifdef __WINS__
-_LIT(KInputDir, "c:\\data\\drm\\keys\\");
-_LIT(KInputFilePattern, "c:\\data\\drm\\keys\\SigningCert*");
-#else
-#ifdef RD_MULTIPLE_DRIVE
-_LIT(KInputDir, "%c:\\drm\\keys\\");
-_LIT(KInputFilePattern, "%c:\\drm\\keys\\SigningCert*");
-#else
-_LIT(KInputDir, "e:\\drm\\keys\\");
-_LIT(KInputFilePattern, "e:\\drm\\keys\\SigningCert*");
-#endif
-#endif
-
-_LIT(KLogDir, "drm");
-_LIT(KLogName, "MtDrmKeyStorage.log");
-_LIT(KDeviceKeyFileName, "DevicePrivateKey.der");
-_LIT(KDeviceCertFileName, "DeviceCert.der");
-
-#define TEST_STEP(string) \
- GLog.WriteFormat(_L("Next Test: %S"), &string);
-
-#define CHECK(condition) \
- if (!condition) GLog.WriteFormat(_L("FAIL: line %d"), __LINE__);
-
-// MODULE DATA STRUCTURES
-
-RFs GFs;
-RFileLogger GLog;
-
-// STATIC TEST CONTENT AND RIGHTS OBJECTS
-
-// LOCAL FUNCTION PROTOTYPES
-
-// ==================== LOCAL FUNCTIONS ====================
-
-LOCAL_C void ReadFileL(HBufC8*& aContent, const TDesC& aName)
- {
- TInt size = 0;
- RFile file;
-
- User::LeaveIfError(file.Open(GFs, aName, EFileRead));
- User::LeaveIfError(file.Size(size));
- aContent = HBufC8::NewLC(size);
- TPtr8 ptr(aContent->Des());
- User::LeaveIfError(file.Read(ptr, size));
- CleanupStack::Pop(); //aContent
- }
-
-
-// ==================== TEST FUNCTIONS =====================
-
-LOCAL_C TUint MDrmKeyStorage_ImportDataL()
- {
- MDrmKeyStorage* storage = NULL;
- HBufC8* privateKey = NULL;
- HBufC8* cert = NULL;
- RArray<TPtrC8> certChain;
- RPointerArray<HBufC8> buffers;
- TFileName fileName;
- TInt i;
- CDir* dir;
- TEntry entry;
- TUint fileCount = 0;
-
- storage = DrmKeyStorageNewL();
-
-#ifndef RD_MULTIPLE_DRIVE
-
- GFs.SetSessionPath(KInputDir);
-
-#else //RD_MULTIPLE_DRIVE
-
- TFileName tempPath;
- TInt driveNumber( -1 );
- TChar driveLetter;
- DriveInfo::GetDefaultDrive( DriveInfo::EDefaultMassStorage, driveNumber );
- GFs.DriveToChar( driveNumber, driveLetter );
-
- tempPath.Format( KInputDir, (TUint)driveLetter );
-
- GFs.SetSessionPath(tempPath);
-
-#endif
-
- ReadFileL(privateKey, KDeviceKeyFileName);
- ReadFileL(cert, KDeviceCertFileName);
- buffers.Append(cert);
-
-#ifndef RD_MULTIPLE_DRIVE
-
- GFs.GetDir(KInputFilePattern, KEntryAttNormal, ESortByName, dir);
-
-#else //RD_MULTIPLE_DRIVE
-
- tempPath.Format( KInputFilePattern, (TUint)driveLetter );
-
- GFs.GetDir(tempPath, KEntryAttNormal, ESortByName, dir);
-
-#endif
-
- for (i = 0; i < dir->Count(); i++)
- {
- ReadFileL(cert, (*dir)[i].iName);
- buffers.Append(cert);
- }
- for (i = 0; i < buffers.Count(); i++)
- {
- certChain.Append(*(buffers[i]));
- }
- storage->ImportDataL(*privateKey, certChain);
- delete storage;
- delete privateKey;
- fileCount = buffers.Count();
- certChain.Close();
- buffers.ResetAndDestroy();
- buffers.Close();
- return fileCount;
- }
-
-
-TUint KeyStorage()
- {
- TUint result = 0;
- result = GFs.Connect();
- if( result != KErrNone )
- {
- return result;
- }
-
-#ifndef RD_MULTIPLE_DRIVE
-
- GFs.MkDirAll(KFullLogDir);
- GFs.MkDirAll(KPrivateRightsDir);
- GFs.MkDirAll(KInputDir);
-
-#else //RD_MULTIPLE_DRIVE
-
- TFileName tempPath;
- TInt driveNumber( -1 );
- TChar driveLetter;
- DriveInfo::GetDefaultDrive( DriveInfo::EDefaultSystem, driveNumber );
- GFs.DriveToChar( driveNumber, driveLetter );
-
- tempPath.Format( KFullLogDir, (TUint)driveLetter );
- GFs.MkDirAll(tempPath);
-
- tempPath.Format( KPrivateRightsDir, (TUint)driveLetter );
- GFs.MkDirAll(tempPath);
-
- DriveInfo::GetDefaultDrive( DriveInfo::EDefaultMassStorage, driveNumber );
- GFs.DriveToChar( driveNumber, driveLetter );
-
- tempPath.Format( KInputDir, (TUint)driveLetter );
- GFs.MkDirAll(tempPath);
-
-#endif
-
-
- result = GLog.Connect();
- if( result != KErrNone )
- {
- GFs.Close();
- return result;
- }
- GLog.CreateLog(KLogDir, KLogName, EFileLoggingModeOverwrite);
- GLog.Write(_L("Start %D"));
-
- TRAPD(err,result = MDrmKeyStorage_ImportDataL());
-
- GLog.WriteFormat(_L("Result: %d"), err);
- CHECK(err == KErrNone);
- GLog.CloseLog();
- GFs.Close();
- return result;
- }
-
-TUint KeyStorageFromZipL(const TDesC& aFileName, RFs& aFs)
- {
- RFile f;
- CZipFile* file;
- CZipFileMemberIterator* iter;
- CZipFileMember* member;
- MDrmKeyStorage* storage = NULL;
- TInt err = KErrNone;
- HBufC8* privateKey = NULL;
- HBufC8* cert = NULL;
- RArray<TPtrC8> certChain;
- TInt numCerts;
- TInt i;
- RZipFileMemberReaderStream* data;
- TPtr8 ptr(NULL, 0);
- TFileName fileName;
- RPointerArray<HBufC8> buffers;
-
- storage = DrmKeyStorageNewL();
-
- err = f.Open( aFs, aFileName, EFileShareReadersOrWriters | EFileRead );
- if ( err == KErrInUse )
- {
- err = f.Open( aFs, aFileName, EFileShareAny | EFileRead );
- if ( err == KErrInUse )
- {
- err = f.Open( aFs, aFileName, EFileShareReadersOnly| EFileRead );
- }
- }
- User::LeaveIfError( err );
-
- CleanupClosePushL<RFile>( f );
- file = CZipFile::NewL( aFs, f );
- CleanupStack::PushL( file );
- iter = file->GetMembersL();
- CleanupStack::PushL( iter );
- member = iter->NextL();
- numCerts = 0;
- while ( member != NULL )
- {
- if (member->Name()->Left(11).CompareF(_L("SigningCert")) == 0)
- {
- numCerts++;
- }
- delete member;
- member = iter->NextL();
- }
-
- member = file->CaseInsensitiveMemberL(_L("DeviceCert.der"));
- cert = HBufC8::NewL(member->UncompressedSize());
- buffers.Append(cert);
- file->GetInputStreamL(member, data);
- ptr.Set(cert->Des());
- data->Read(ptr, member->UncompressedSize());
- certChain.Append(ptr);
- delete data;
- delete member;
- for (i = 0; i < numCerts; i++)
- {
- fileName.Copy(_L("SigningCert"));
- if (i < 10)
- {
- fileName.Append(_L("0"));
- }
- fileName.AppendNum(i);
- fileName.Append(_L(".der"));
- member = file->CaseInsensitiveMemberL(fileName);
- cert = HBufC8::NewL(member->UncompressedSize());
- buffers.Append(cert);
- file->GetInputStreamL(member, data);
- ptr.Set(cert->Des());
- data->Read(ptr, member->UncompressedSize());
- certChain.Append(ptr);
- delete data;
- delete member;
- }
- member = file->CaseInsensitiveMemberL(_L("DevicePrivateKey.der"));
- privateKey = HBufC8::NewL(member->UncompressedSize());
- file->GetInputStreamL(member, data);
- ptr.Set(privateKey->Des());
- data->Read(ptr, member->UncompressedSize());
- delete data;
- delete member;
-
- storage->ImportDataL(*privateKey, certChain);
- delete privateKey;
- certChain.Close();
- buffers.ResetAndDestroy();
-
- CleanupStack::PopAndDestroy(3);
- delete storage;
-
- numCerts++;
- fileName.SetLength(0);
- fileName.AppendNum(numCerts);
- fileName.Append(_L(" keys imported"));
- CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
- informationNote->ExecuteLD(fileName);
-
- return KErrNone;
- }
-
--- a/commondrm/drmencryptor/src/Performance.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,861 +0,0 @@
-/*
-* Copyright (c) 2002-2009 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: ?Description
-*
-*/
-
-
-// INCLUDE FILES
-#include <caf/caf.h>
-#include <caf/cafplatform.h>
-#include <f32file.h>
-#include <s32strm.h>
-#include <s32file.h>
-#include <Oma1DcfCreator.h>
-#include <DRMMessageParser.h>
-#include <e32math.h>
-
-#ifdef RD_MULTIPLE_DRIVE
-#include <driveinfo.h>
-#endif
-
-#include "Base64.h"
-#include "Performance.h"
-#include "DRMEncryptor.hrh"
-
-_LIT(KLogDir, "DRM");
-_LIT(KLogName, "Performance.log");
-#include "flogger.h"
-#define LOG(string) \
- RFileLogger::Write(KLogDir, KLogName, \
- EFileLoggingModeAppend, string);
-#define LOG2(string, a) \
- RFileLogger::WriteFormat(KLogDir, KLogName, \
- EFileLoggingModeAppend, string, a);
-#define LOGHEX(buffer) \
- RFileLogger::HexDump(KLogDir, KLogName, \
- EFileLoggingModeAppend, _S(""), _S(""), \
- buffer.Ptr(), buffer.Length());
-
-_LIT8(KMidiContent,
-"TVRoZAAAAAYAAQAGAHhNVHJrAAAAGQD/WAQEAhgIAP9ZAgAAAP9RAwehIAD/LwBN\n\
-VHJrAAAKsgD/IQEAALkHaQCZLmQAM2QAI2QOIwAAMwAALgAuM2QOMwAuKGQAM2QO\n\
-MwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuKGQAM2QOMwAAKAAu\n\
-M2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuM2QAKGQOKAAAMwAuI2QAM2QO\n\
-MwAAIwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuM2QAKGQOKAAAMwAuMWQAM2QO\n\
-MwAAMQAuLmQAM2QAI2QOIwAAMwAALgAuM2QOMwAuKGQAM2QOMwAAKAAuM2QOMwAu\n\
-I2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuKGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QO\n\
-MwAAIwAuI2QAM2QOMwAAIwAuMmQAM2QAKGQOKAAAMwAAMgAuMmQAI2QAM2QOMwAA\n\
-IwAAMgAuMGQAI2QAM2QOMwAAIwAAMAAuMGQAI2QAM2QOMwAAIwAAMAAuMmQAM2QA\n\
-KGQOKAAAMwAAMgAQMmQOMgAQMGQAM2QOMwAAMAAQLWQOLQAQMWQALmQAM2QAI2QO\n\
-IwAAMQAALgAAMwAuM2QOMwAuKGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAu\n\
-I2QAM2QOMwAAIwAuKGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QO\n\
-MwAAIwAuM2QAKGQOKAAAMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuI2QAM2QO\n\
-MwAAIwAuM2QAKGQOKAAAMwAuMWQAM2QOMwAAMQAuLmQAM2QAI2QOIwAAMwAALgAu\n\
-M2QOMwAuKGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAu\n\
-KGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuM2QAKGQO\n\
-KAAAMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuM2QAKGQO\n\
-KAAAMwAuMWQAM2QOMwAAMQAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuMmQAM2QA\n\
-KGQOKAAAMwAAMgAuMmQAI2QAM2QOMwAAIwAAMgAuMGQAI2QAM2QOMwAAIwAAMAAu\n\
-MGQAI2QAM2QOMwAAIwAAMAAuMmQAM2QAKGQOKAAAMwAAMgAQMmQOMgAQMGQAM2QO\n\
-MwAAMAAQLWQOLQAQMWQALmQAM2QAI2QOIwAAMQAALgAAMwAuM2QOMwAuKGQAM2QO\n\
-MwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuKGQAM2QOMwAAKAAu\n\
-M2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuM2QAKGQOKAAAMwAuI2QAM2QO\n\
-MwAAIwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuM2QAKGQOKAAAMwAuMWQAM2QO\n\
-MwAAMQAuLmQAM2QAI2QOIwAAMwAALgAuM2QOMwAuKGQAM2QOMwAAKAAuM2QOMwAu\n\
-I2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuKGQAM2QOMwAAKAAuM2QOMwAuMWQALmQA\n\
-M2QAI2QOIwAAMQAALgAAMwAuM2QOMwAuKGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QO\n\
-MwAAIwAuI2QAM2QOMwAAIwAuKGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAu\n\
-I2QAM2QOMwAAIwAuM2QAKGQOKAAAMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAu\n\
-I2QAM2QOMwAAIwAuM2QAKGQOKAAAMwAuMWQAM2QOMwAAMQAuLmQAM2QAI2QOIwAA\n\
-MwAALgAuM2QOMwAuKGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QO\n\
-MwAAIwAuKGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAu\n\
-M2QAKGQOKAAAMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAu\n\
-M2QAKGQOKAAAMwAuMWQAM2QOMwAAMQAuMWQALmQAM2QAI2QOIwAAMQAALgAAMwAu\n\
-M2QOMwAuKGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAu\n\
-KGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuM2QAKGQO\n\
-KAAAMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuM2QAKGQO\n\
-KAAAMwAuMWQAM2QOMwAAMQAuLmQAM2QAI2QOIwAAMwAALgAuM2QOMwAuKGQAM2QO\n\
-MwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuKGQAM2QOMwAAKAAu\n\
-M2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuMmQAM2QAKGQOKAAAMwAAMgAu\n\
-MmQAI2QAM2QOMwAAIwAAMgAuMGQAI2QAM2QOMwAAIwAAMAAuMGQAI2QAM2QOMwAA\n\
-IwAAMAAuMmQAM2QAKGQOKAAAMwAAMgAQMmQOMgAQMGQAM2QOMwAAMAAQLWQOLQAQ\n\
-MWQALmQAM2QAI2QOIwAAMQAALgAAMwAuM2QOMwAuKGQAM2QOMwAAKAAuM2QOMwAu\n\
-I2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuKGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QO\n\
-MwAAIwAuI2QAM2QOMwAAIwAuM2QAKGQOKAAAMwAuI2QAM2QOMwAAIwAuI2QAM2QO\n\
-MwAAIwAuI2QAM2QOMwAAIwAuM2QAKGQOKAAAMwAuMWQAM2QOMwAAMQAuLmQAM2QA\n\
-I2QOIwAAMwAALgAuM2QOMwAuKGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAu\n\
-I2QAM2QOMwAAIwAuKGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QO\n\
-MwAAIwAuM2QAKGQOKAAAMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuI2QAM2QO\n\
-MwAAIwAuM2QAKGQOKAAAMwAuMWQAM2QOMwAAMQAuI2QAM2QOMwAAIwAuI2QAM2QO\n\
-MwAAIwAuMmQAM2QAKGQOKAAAMwAAMgAuMmQAI2QAM2QOMwAAIwAAMgAuMGQAI2QA\n\
-M2QOMwAAIwAAMAAuMGQAI2QAM2QOMwAAIwAAMAAuMmQAM2QAKGQOKAAAMwAAMgAQ\n\
-MmQOMgAQMGQAM2QOMwAAMAAQLWQOLQAQMWQALmQAM2QAI2QOIwAAMQAALgAAMwAu\n\
-M2QOMwAuKGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAu\n\
-KGQAM2QOMwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuM2QAKGQO\n\
-KAAAMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuM2QAKGQO\n\
-KAAAMwAuMWQAM2QOMwAAMQAuLmQAM2QAI2QOIwAAMwAALgAuM2QOMwAuKGQAM2QO\n\
-MwAAKAAuM2QOMwAuI2QAM2QOMwAAIwAuI2QAM2QOMwAAIwAuKGQAM2QOMwAAKAAu\n\
-M2QOMwAA/y8ATVRyawAABTMA/yEBAADAIwCwB2kAkCRkHSQAHyRkDiQALiRkHSQA\n\
-HyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQA\n\
-HyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQA\n\
-HyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQA\n\
-HyRkDiQALiRkHSQAHyRkDiQALiRkHSQAWyRkHSQAHyRkDiQALiRkHSQAHyRkDiQA\n\
-LiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQA\n\
-LiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQA\n\
-LiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQA\n\
-LiRkHSQAHyRkDiQALiRkHSQAWyRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQA\n\
-HyRkDiQALiRkHSQAWyRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQA\n\
-LiRkHSQAHyRkDiQALitkHSsAHytkDisALitkHSsAHytkDisALitkHSsAHytkDisA\n\
-LitkHSsAHytkDisALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQA\n\
-LiRkHSQAHyRkDiQALilkHSkAHylkDikALilkHSkAHylkDikALilkHSkAHylkDikA\n\
-LilkHSkAHylkDikALitkHSsAHytkDisALitkHSsAHytkDisALitkHSsAHytkDisA\n\
-LitkHSsAHyRkDiQALilkHSkAHylkDikALilkHSkAHylkDikALilkHSkAHylkDikA\n\
-LilkHSkAHy1kDi0ALitkHSsAHytkDisALitkHSsAHytkDisALitkHSsAHytkDisA\n\
-LitkHSsAHytkDisALilkHSkAHylkDikALilkHSkAHylkDikALilkHSkAHylkDikA\n\
-LilkHSkAHylkDikALitkHSsAHytkDisALitkHSsAHytkDisALitkHSsAHytkDisA\n\
-LitkHSsAHytkDisALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQA\n\
-LiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQA\n\
-LiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQA\n\
-LiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQA\n\
-LiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQA\n\
-LiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQA\n\
-LiRkHSQAWyRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQA\n\
-WyRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQA\n\
-LitkHSsAHytkDisALitkHSsAHytkDisALitkHSsAHytkDisALitkHSsAHytkDisA\n\
-LiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQALiRkHSQAHyRkDiQA\n\
-AP8vAE1UcmsAAAEeAP8hAQAAwQGOCJFTZABUZA5UAABTAAFPZABRZA5RAABPAAFM\n\
-ZABNZA5NAABMAAFIZABKZA5KAABIAAFFZABHZA5HAABFAAFBZABDZA5DAABBAAE+\n\
-ZABAZA5AAAA+AAE8ZA48AJ0JU2QAVGQOVAAAUwABT2QAUWQOUQAATwABTGQATWQO\n\
-TQAATAABSGQASmQOSgAASAABRWQAR2QORwAARQABQWQAQ2QOQwAAQQABPmQAQGQO\n\
-QAAAPgABPGQOPAC7CVNkAFRkDlQAAFMAAU9kAFFkDlEAAE8AAUxkAE1kDk0AAEwA\n\
-AUhkAEpkDkoAAEgAAUVkAEdkDkcAAEUAAUFkAENkDkMAAEEAAT5kAEBkDkAAAD4A\n\
-ATxkDjwAAP8vAE1UcmsAAAQ9AP8hAQAAwh4AsgdkjwCSTGQANGQAMGR3MAAANAAA\n\
-TAABNGQAMGQdMAAANAAfLmQPRmQsRgAALgABSmQANGQAL2Q7LwAANAAASgABSmQA\n\
-NGQAL2Q7LwAANAAASgA9SGQATGQAMGQANGR3NAAASAAATAAAMACCLS5kOy4AAS9k\n\
-Oy8AAUxkADBkADRkdzQAADAAAEwAATRkADBkHTAAADQAH0hkAC5kOy4AAEgAAVFk\n\
-ADlkADVkOzUAADkAAFEAAVBkADlkADVkOzUAADkAAFAAAUxkHUwAAU1kHU0AAVRk\n\
-AExkADdkADRkdzQAADcAAEwAgyRUAAFMZAA0ZAAwZHcwAAA0AABMAAE0ZAAwZB0w\n\
-AAA0AB8uZA9GZCxGAAAuAAFKZAA0ZAAvZDsvAAA0AABKAAFKZAA0ZAAvZDsvAAA0\n\
-AABKAD1IZABMZAAwZAA0ZHc0AABIAABMAAAwAIMlR2QAQ2QAO2QAN2R3NwAARwAA\n\
-QwAAOwABQ2QAR2QAO2QAN2QdNwAAQwAARwAAOwAfSmQAPmQ7PgAASgABSGQAPGR3\n\
-PAAASAABT2QAN2QAO2Q7OwAANwAATwA9VGSDX1QAATlkADVkdzUAADkAPUhkO0gA\n\
-AUdkd0cAPUVkO0UAAUdkd0cAgXEwZHcwAAE5ZAA1ZHc1AAA5AD1IZDtIAAFKZHdK\n\
-AD1IZDtIAAFHZDtHAIMpOWQANWR3NQAAOQA9SGQ7SAABSmR3SgA9SGQ4NGQAN2QA\n\
-T2QATGQDSAA4TwAANAAANwAATAA9NGQAN2QAT2QATGQ7TAAANAAANwAATwA9MmQA\n\
-SmQ7SgAAMgABMGQASGQ7SAAAMAABL2QAR2Q7RwAALwABMGQASGQ7MACHQEgAAUxk\n\
-ADRkADBkdzAAADQAAEwAATRkADBkHTAAADQAHy5kD0ZkLEYAAC4AAUpkADRkAC9k\n\
-Oy8AADQAAEoAAUpkADRkAC9kOy8AADQAAEoAPUhkAExkADBkADRkdzQAAEgAAEwA\n\
-ADAAgi0uZDsuAAEvZDsvAAFMZAAwZAA0ZHc0AAAwAABMAAE0ZAAwZB0wAAA0AB9I\n\
-ZAAuZDsuAABIAAFRZAA5ZAA1ZDs1AAA5AABRAAFQZAA5ZAA1ZDs1AAA5AABQAAFM\n\
-ZB1MAAFNZB1NAAFUZABMZAA3ZAA0ZHc0AAA3AABMAIMkVAABTGQANGQAMGR3MAAA\n\
-NAAATAABNGQAMGQdMAAANAAfLmQPRmQsRgAALgABSmQANGQAL2Q7LwAANAAASgAB\n\
-SmQANGQAL2Q7LwAANAAASgA9SGQATGQAMGQANGR3NAAASAAATAAAMACDJUdkAENk\n\
-ADtkADdkdzcAAEcAAEMAADsAAUNkAEdkADtkADdkHTcAAEMAAEcAADsAH0pkAD5k\n\
-Oz4AAEoAAUhkADxkdzwAAEgAAU9kADdkADtkOzsAADcAAE8APVRkg19UAAD/LwBN\n\
-VHJrAAAAWAD/IQEAAMNQALMHeK0AkzVkg181AAE3ZINfNwABNWSDXzUAATdkg183\n\
-AAE1ZINfNQABN2SDXzcAATBkhz8wAAEwZJY/MAABN2SDXzcAATBkg18wAAD/LwA=\n");
-
-_LIT8(KContentHeader, "--boundary\r\nContent-type: audio/midi\r\nContent-Transfer-Encoding: base64\r\n\r\n");
-_LIT8(KCdStartEndHeader,
-"--boundary\r\n\
-Content-Type: application/vnd.oma.drm.rights+xml\r\n\
-Content-Transfer-Encoding: binary\r\n\
-\r\n\
-<o-ex:rights\
- xmlns:o-ex=\"http://odrl.net/1.1/ODRL-EX\"\
- xmlns:o-dd=\"http://odrl.net/1.1/ODRL-DD\"\
- xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#/\"\
->\
-<o-ex:context><o-dd:version>1.0</o-dd:version></o-ex:context>\
-<o-ex:agreement><o-ex:asset><o-ex:context>\
-<o-dd:uid>cid:content0000@localhost</o-dd:uid>\
-</o-ex:context></o-ex:asset>\
-<o-ex:permission><o-dd:play><o-ex:constraint>\
-<o-dd:datetime>\
-<o-dd:end>2020-01-01T00:00:00</o-dd:end><o-dd:start>1980-01-01T00:00:00</o-dd:start>\
-</o-dd:datetime>\
-</o-ex:constraint></o-dd:play></o-ex:permission>\
-</o-ex:agreement></o-ex:rights>\r\n\
-\r\n");
-_LIT8(KCdCountHeader,
-"--boundary\r\n\
-Content-Type: application/vnd.oma.drm.rights+xml\r\n\
-Content-Transfer-Encoding: binary\r\n\
-\r\n\
-<o-ex:rights\
- xmlns:o-ex=\"http://odrl.net/1.1/ODRL-EX\"\
- xmlns:o-dd=\"http://odrl.net/1.1/ODRL-DD\"\
- xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#/\"\
->\
-<o-ex:context><o-dd:version>1.0</o-dd:version></o-ex:context>\
-<o-ex:agreement><o-ex:asset><o-ex:context>\
-<o-dd:uid>cid:content0001@localhost</o-dd:uid>\
-</o-ex:context></o-ex:asset>\
-<o-ex:permission><o-dd:play><o-ex:constraint>\
-<o-dd:count>1000000</o-dd:count>\
-</o-ex:constraint></o-dd:play></o-ex:permission>\
-</o-ex:agreement></o-ex:rights>\r\n\
-\r\n");
-_LIT8(KFooter, "\r\n--boundary--\r\n");
-
-const TInt KFileNumber = 50;
-const TInt KOpenCount = 10;
-
-#ifdef __WINS__
-_LIT(KFilesDir, "c:\\data\\others\\DrmTest\\");
-#else
-#ifdef RD_MULTIPLE_DRIVE
-_LIT(KFilesDir, "%c:\\others\\DrmTest\\");
-#else
-_LIT(KFilesDir, "e:\\others\\DrmTest\\");
-#endif
-#endif
-_LIT(KFlFileNameBase, "-fl");
-_LIT(KPlainFileNameBase, "-plain.mid");
-_LIT(KCdStartEndFileNameBase, "-cd-se");
-_LIT(KCdCountFileNameBase, "-cd-count");
-_LIT(KFileSuffix, ".dcf");
-_LIT(KBigFilePlain, "bigfile.txt");
-_LIT(KBigFileEncrypted, "bigfile.dcf");
-
-enum ETestFileType
- {
- EFl,
- ECdStartEnd,
- ECdCount,
- EPlain
- };
-
-void SetupDirectoryL(const TDesC& aDir)
- {
- RFs fs;
- TFileName fileName;
- CFileMan* fm = NULL;
-
- LOG(_L("SetupDirectoryL"));
- User::LeaveIfError(fs.Connect());
- CleanupClosePushL(fs);
- fm = CFileMan::NewL(fs);
- CleanupStack::PushL(fm);
- fm->RmDir(aDir);
- fs.MkDirAll(aDir);
- CleanupStack::PopAndDestroy(2); // fm, fs
- }
-
-void CreateFileL(RFs& aFs, CDRMMessageParser* aParser, ETestFileType aType, TInt aNumber)
- {
- TFileName fileName;
- RFileWriteStream out;
- HBufC8* buffer = NULL;
-
- fileName.AppendNum(aNumber);
- switch (aType)
- {
- case EPlain:
- fileName.Append(KPlainFileNameBase);
- break;
- case EFl:
- fileName.Append(KFlFileNameBase);
- fileName.Append(KFileSuffix);
- break;
- case ECdStartEnd:
- fileName.Append(KCdStartEndFileNameBase);
- fileName.Append(KFileSuffix);
- break;
- case ECdCount:
- fileName.Append(KCdCountFileNameBase);
- fileName.Append(KFileSuffix);
- break;
- }
- out.Create(aFs, fileName, EFileWrite);
- CleanupClosePushL(out);
- if (aType != EPlain)
- {
- aParser->InitializeMessageParserL(out);
- switch (aType)
- {
- case ECdStartEnd:
- aParser->ProcessMessageDataL(KCdStartEndHeader);
- break;
- case ECdCount:
- aParser->ProcessMessageDataL(KCdCountHeader);
- break;
- }
- aParser->ProcessMessageDataL(KContentHeader);
- aParser->ProcessMessageDataL(KMidiContent);
- aParser->ProcessMessageDataL(KFooter);
- aParser->FinalizeMessageParserL();
- }
- else
- {
- buffer = Base64DecodeL(KMidiContent);
- CleanupStack::PushL(buffer);
- out.WriteL(*buffer);
- CleanupStack::PopAndDestroy(); // buffer
- }
- CleanupStack::PopAndDestroy(); // out
- }
-
-void GenerateFilesL(const TDesC& aDir, TInt aCount)
- {
- CDRMMessageParser* parser = NULL;
- TInt i;
- RFs fs;
-
- LOG(_L("GenerateFilesL"));
- User::LeaveIfError(fs.Connect());
- CleanupClosePushL(fs);
- fs.SetSessionPath(aDir);
- parser = CDRMMessageParser::NewL();
- CleanupStack::PushL(parser);
- for (i = 0; i < aCount; i++)
- {
- CreateFileL(fs, parser, EPlain, i);
- CreateFileL(fs, parser, EFl, i);
- CreateFileL(fs, parser, ECdStartEnd, i);
- CreateFileL(fs, parser, ECdCount, i);
- }
- CleanupStack::PopAndDestroy(2); // parser, fs
- }
-
-
-void GenerateBigFilesL(const TDesC& aDir)
- {
- RFs fs;
- RFileWriteStream out;
- COma1DcfCreator* creator = NULL;
- HBufC8* buffer = NULL;
- TPtr8 ptr(NULL, 0);
- TInt i;
-
- LOG(_L("GenerateBigFilesL"));
- User::LeaveIfError(fs.Connect());
- CleanupClosePushL(fs);
- fs.SetSessionPath(aDir);
- creator = COma1DcfCreator::NewL();
- CleanupStack::PushL(creator);
-
- buffer = HBufC8::NewMax(50 * 1024);
- CleanupStack::PushL(buffer);
- ptr.Set(buffer->Des());
- ptr.Fill('0');
-
- LOG(_L("Creating plain file"));
- fs.Delete(KBigFilePlain);
- out.Create(fs, KBigFilePlain, EFileWrite);
- CleanupClosePushL(out);
- for (i = 0; i < 40; i++)
- {
- out.WriteL(ptr);
- }
- CleanupStack::PopAndDestroy(); // out
-
- LOG(_L("Creating encrypted file"));
- fs.Delete(KBigFileEncrypted);
- out.Create(fs, KBigFileEncrypted, EFileWrite);
- CleanupClosePushL(out);
- creator->EncryptInitializeL(out, _L8("text/plain"), NULL);
- for (i = 0; i < 40; i++)
- {
- creator->EncryptUpdateL(ptr);
- }
- creator->EncryptFinalizeL();
- CleanupStack::PopAndDestroy(4); // out, creator, buffer, fs
- }
-
-
-void TestDecryptionSpeedL(const TDesC& aDir, TBool aRandom, TInt aType)
- {
- TInt i;
- TInt j;
- HBufC8* buffer = NULL;
- RFs fs;
- TPtr8 ptr(NULL, 0);
- CData* data = NULL;
- RFile file;
- TInt blockSize[5] = {64, 512, 1024, 2048, 4096};
- TFileName fileName;
- TInt pos = 0;
-
- LOG(_L("TestDecryptionSpeedL"));
- if (aRandom)
- {
- LOG(_L("Random Reading"));
- }
- else
- {
- LOG(_L("Sequential Reading"));
- }
- User::LeaveIfError(fs.Connect());
- CleanupClosePushL(fs);
- fs.SetSessionPath(aDir);
-
- buffer = HBufC8::NewL(4096);
- CleanupStack::PushL(buffer);
- ptr.Set(buffer->Des());
- for (j = 0; j < 5; j++)
- {
- LOG2(_L("Block size: %d"), blockSize[j]);
-
- switch (aType)
- {
- case 1: //Plain file with RFile
- {
- LOG(_L("Reading plain file (RFile)"));
- User::LeaveIfError(file.Open(fs, KBigFilePlain, EFileRead));
- CleanupClosePushL(file);
- for (i = 0; i < 40 * 50 * 1024 / blockSize[j]; i++)
- {
- if (aRandom)
- {
- pos = Abs(Math::Random() % (40 * 50 * 1024 - 2 * blockSize[j]));
- file.Seek(ESeekStart, pos);
- }
- file.Read(ptr, blockSize[j]);
- }
- CleanupStack::PopAndDestroy(); // file
- LOG2(_L("Reading plain file (RFile) done (%d blocks)"), i);
- }
- break;
- case 2: //Plain file with CAF
- {
- LOG(_L("Reading plain file (CAF)"));
- fileName.Copy(aDir);
- fileName.Append(KBigFilePlain);
- data = CData::NewL(TVirtualPathPtr(fileName, KDefaultContentObject),
- EPeek, EContentShareReadOnly);
- CleanupStack::PushL(data);
- for (i = 0; i < 40 * 50 * 1024 / blockSize[j]; i++)
- {
- if (aRandom)
- {
- pos = Abs(Math::Random() % (40 * 50 * 1024 - 2 * blockSize[j]));
- data->Seek(ESeekStart, pos);
- }
- data->Read(ptr, blockSize[j]);
- }
- CleanupStack::PopAndDestroy(); // data
- LOG2(_L("Reading plain file (CAF) done (%d blocks)"), i);
- }
- break;
- case 3: //DRM Protected on server side
- {
- LOG(_L("Reading encrypted file (server decryption)"));
- fileName.Copy(aDir);
- fileName.Append(KBigFileEncrypted);
- __UHEAP_MARK;
- data = CData::NewL(TVirtualPathPtr(fileName, KDefaultContentObject),
- EPeek, EContentShareReadOnly);
- CleanupStack::PushL(data);
- data->ExecuteIntent(EView); //!!!!!!!!!!!!!
- for (i = 0; i < 40 * 50 * 1024 / blockSize[j]; i++)
- {
- if (aRandom)
- {
- pos = Abs(Math::Random() % (40 * 50 * 1024 - 2 * blockSize[j]));
- data->Seek(ESeekStart, pos);
- }
- data->Read(ptr, blockSize[j]);
- }
-
- CleanupStack::PopAndDestroy(); // data
- __UHEAP_MARKEND;
- LOG2(_L("Reading encrypted file done (%d blocks)"), i);
-
- // DRM protected on client side
- LOG(_L("Reading encrypted file (client decryption)"));
- fileName.Copy(aDir);
- fileName.Append(KBigFileEncrypted);
- __UHEAP_MARK;
- data = CData::NewL(TVirtualPathPtr(fileName, KDefaultContentObject),
- EPeek, EContentShareReadOnly);
- CleanupStack::PushL(data);
- data->ExecuteIntent(EView);
- for (i = 0; i < 40 * 50 * 1024 / blockSize[j]; i++)
- {
- if (aRandom)
- {
- pos = Math::Random() % (40 * 50 * 1024 - blockSize[j]);
- data->Seek(ESeekStart, pos);
- }
- data->Read(ptr, blockSize[j]);
- }
- CleanupStack::PopAndDestroy(); // data
- __UHEAP_MARKEND;
- LOG2(_L("Reading encrypted file done (%d blocks)"), i);
- }
- break;
- }
- }
- CleanupStack::PopAndDestroy(); // buffer
-
- CleanupStack::PopAndDestroy(); // fs
- }
-
-void TestFileOpeningSpeedL(const TDesC& aDir, TInt aType)
- {
- TFileName fileName;
- TInt j;
- TInt i;
- CData* data = NULL;
- RFs fs;
- RFile file;
-
- LOG2(_L("TestFileOpeningSpeedL (%d files)"), KFileNumber * KOpenCount);
-
- switch( aType)
- {
- case 1: // With RFile
- {
- LOG(_L("Opening plain files (with RFs::Connect)"));
- for (i = 0; i < KFileNumber; i++)
- {
- fileName.Copy(aDir);
- fileName.AppendNum(i);
- fileName.Append(KFlFileNameBase);
- fileName.Append(KFileSuffix);
- for (j = 0; j < KOpenCount; j++)
- {
- User::LeaveIfError(fs.Connect());
- CleanupClosePushL(fs);
- User::LeaveIfError(file.Open(fs, fileName, EFileRead));
- file.Close();
- CleanupStack::PopAndDestroy();
- }
- }
- LOG(_L("Opening plain files done"));
-
- LOG(_L("Opening plain files (without RFs::Connect)"));
- User::LeaveIfError(fs.Connect());
- CleanupClosePushL(fs);
- for (i = 0; i < KFileNumber; i++)
- {
- fileName.Copy(aDir);
- fileName.AppendNum(i);
- fileName.Append(KFlFileNameBase);
- fileName.Append(KFileSuffix);
- for (j = 0; j < KOpenCount; j++)
- {
- User::LeaveIfError(file.Open(fs, fileName, EFileRead));
- file.Close();
- }
- }
- CleanupStack::PopAndDestroy();
- LOG(_L("Opening plain files done"));
- }
- break;
-
- case 2: //With CAF
- {
-
- LOG(_L("Opening plain files (CAF)"));
- for (i = 0; i < KFileNumber; i++)
- {
- fileName.Copy(aDir);
- fileName.AppendNum(i);
- fileName.Append(KPlainFileNameBase);
- for (j = 0; j < KOpenCount; j++)
- {
- data = CData::NewL(TVirtualPathPtr(fileName, KDefaultContentObject),
- EPlay, EContentShareReadOnly);
- delete data;
- }
- }
-
-
- LOG(_L("Opening plain files done"));
-
- User::After(3000000);
-
- LOG(_L("Opening plain files CAF with Filehandle"));
-
- User::LeaveIfError(fs.Connect());
- CleanupClosePushL(fs);
- for (i = 0; i < KFileNumber; i++)
- {
- fileName.Copy(aDir);
- fileName.AppendNum(i);
- fileName.Append(KPlainFileNameBase);
- for (j = 0; j < KOpenCount; j++)
- {
- User::LeaveIfError(file.Open(fs, fileName, EFileRead | EFileShareAny));
- CleanupClosePushL(file);
- data = CData::NewL(file, KDefaultContentObject, EPlay );
- delete data;
- CleanupStack::PopAndDestroy(); // file
- }
- }
- CleanupStack::PopAndDestroy();
-
-
- LOG(_L("Opening plain files (CAF with filehandle) done"));
- }
- break;
-
- case 3: //With DRM
- {
-
- LOG(_L("Opening FL files"));
- for (i = 0; i < KFileNumber; i++)
- {
- fileName.Copy(aDir);
- fileName.AppendNum(i);
- fileName.Append(KFlFileNameBase);
- fileName.Append(KFileSuffix);
- for (j = 0; j < KOpenCount; j++)
- {
- data = CData::NewL(TVirtualPathPtr(fileName, KDefaultContentObject),
- EPlay, EContentShareReadOnly);
- delete data;
- }
- }
- LOG(_L("Opening FL files done"));
-
- User::After(3000000);
-
- LOG(_L("Opening DRM FL files (CAF with filehandle)"));
-
- User::LeaveIfError(fs.Connect());
- CleanupClosePushL(fs);
- for (i = 0; i < KFileNumber; i++)
- {
- fileName.Copy(aDir);
- fileName.AppendNum(i);
- fileName.Append(KFlFileNameBase);
- fileName.Append(KFileSuffix);
- for (j = 0; j < KOpenCount; j++)
- {
- User::LeaveIfError(file.Open(fs, fileName, EFileRead | EFileShareAny));
- CleanupClosePushL(file);
- data = CData::NewL(file, KDefaultContentObject, EPlay );
- delete data;
- CleanupStack::PopAndDestroy();
- }
- }
- CleanupStack::PopAndDestroy();
-
- LOG(_L("Opening DRM FL files (CAF with filehandle) done"));
-
- User::After(3000000);
-
- LOG(_L("Opening CD (Start/End) files"));
- for (i = 0; i < KFileNumber; i++)
- {
- fileName.Copy(aDir);
- fileName.AppendNum(i);
- fileName.Append(KCdStartEndFileNameBase);
- fileName.Append(KFileSuffix);
- for (j = 0; j < KOpenCount; j++)
- {
- data = CData::NewL(TVirtualPathPtr(fileName, KDefaultContentObject),
- EPlay, EContentShareReadOnly);
- delete data;
- }
- }
- LOG(_L("Opening CD (Start/End) files done"));
-
- User::After(3000000);
-
- LOG(_L("Opening CD (Count) files"));
- for (i = 0; i < KFileNumber; i++)
- {
- fileName.Copy(aDir);
- fileName.AppendNum(i);
- fileName.Append(KCdCountFileNameBase);
- fileName.Append(KFileSuffix);
- for (j = 0; j < KOpenCount; j++)
- {
- data = CData::NewL(TVirtualPathPtr(fileName, KDefaultContentObject),
- EPlay, EContentShareReadOnly);
- delete data;
- }
- }
- LOG(_L("Opening CD (Count) files done"));
-
- }
- break;
- case 4:
- {
- LOG(_L("Opening CD (Count) files with Consumption"));
- for (i = 0; i < KFileNumber; i++)
- {
- fileName.Copy(aDir);
- fileName.AppendNum(i);
- fileName.Append(KCdCountFileNameBase);
- fileName.Append(KFileSuffix);
- for (j = 0; j < KOpenCount; j++)
- {
- data = CData::NewL(TVirtualPathPtr(fileName, KDefaultContentObject),
- EPlay, EContentShareReadOnly);
- data->ExecuteIntent(EPlay);
- delete data;
- }
- }
- LOG(_L("Opening CD (Count) files with Consumption done"));
- }
- break;
- }
- }
-void TestDatabasePerformanceL()
- {
- LOG(_L("TestDatabasePerformanceL"));
- }
-
-void TestPerformanceL(TInt aCommand)
- {
- LOG(_L("TestPerformanceL"));
-
-#ifndef RD_MULTIPLE_DRIVE
-
- switch(aCommand)
- {
- case EDRM_API_SubMenuId_1: // Generate files
- {
- SetupDirectoryL(KFilesDir);
- GenerateFilesL(KFilesDir, KFileNumber);
- GenerateBigFilesL(KFilesDir);
- break;
- }
- case EDRM_API_SubMenuId_1_1: // RFile opening
- {
- TestFileOpeningSpeedL(KFilesDir, 1);
- break;
- }
- case EDRM_API_SubMenuId_1_2: // RFile Sequential
- {
- TestDecryptionSpeedL(KFilesDir, EFalse, 1);
- break;
- }
- case EDRM_API_SubMenuId_1_3: // RFile Random
- {
- TestDecryptionSpeedL(KFilesDir, ETrue, 1);
- break;
- }
- case EDRM_API_SubMenuId_2_1: // CAF File Opening
- {
- TestFileOpeningSpeedL(KFilesDir, 2);
- break;
- }
- case EDRM_API_SubMenuId_2_2: // CAF Sequential
- {
- TestDecryptionSpeedL(KFilesDir, EFalse, 2);
- break;
- }
- case EDRM_API_SubMenuId_2_3: // CAF Random
- {
- TestDecryptionSpeedL(KFilesDir, ETrue, 2);
- break;
- }
- case EDRM_API_SubMenuId_3_1_1: // DRM file opening
- {
- TestFileOpeningSpeedL(KFilesDir, 3);
- break;
- }
- case EDRM_API_SubMenuId_3_1_2: // DRM file opening with consume
- {
- TestFileOpeningSpeedL(KFilesDir, 4);
- break;
- }
- case EDRM_API_SubMenuId_3_1_3: // Sequential DRM
- {
- TestDecryptionSpeedL(KFilesDir, EFalse, 3);
- break;
- }
- case EDRM_API_SubMenuId_3_1_4: // Random DRM
- {
- TestDecryptionSpeedL(KFilesDir, ETrue, 3);
- break;
- }
- }
-
-#else //RD_MULTIPLE_DRIVE
-
- RFs fs;
- TInt driveNumber( -1 );
- TChar driveLetter;
- DriveInfo::GetDefaultDrive( DriveInfo::EDefaultMassStorage, driveNumber );
-
- User::LeaveIfError( fs.Connect() );
- fs.DriveToChar( driveNumber, driveLetter );
- fs.Close();
-
- TFileName filesDir;
- filesDir.Format( KFilesDir, (TUint)driveLetter );
-
- switch(aCommand)
- {
- case EDRM_API_SubMenuId_1: // Generate files
- {
- SetupDirectoryL(filesDir);
- GenerateFilesL(filesDir, KFileNumber);
- GenerateBigFilesL(filesDir);
- break;
- }
- case EDRM_API_SubMenuId_1_1: // RFile opening
- {
- TestFileOpeningSpeedL(filesDir, 1);
- break;
- }
- case EDRM_API_SubMenuId_1_2: // RFile Sequential
- {
- TestDecryptionSpeedL(filesDir, EFalse, 1);
- break;
- }
- case EDRM_API_SubMenuId_1_3: // RFile Random
- {
- TestDecryptionSpeedL(filesDir, ETrue, 1);
- break;
- }
- case EDRM_API_SubMenuId_2_1: // CAF File Opening
- {
- TestFileOpeningSpeedL(filesDir, 2);
- break;
- }
- case EDRM_API_SubMenuId_2_2: // CAF Sequential
- {
- TestDecryptionSpeedL(filesDir, EFalse, 2);
- break;
- }
- case EDRM_API_SubMenuId_2_3: // CAF Random
- {
- TestDecryptionSpeedL(filesDir, ETrue, 2);
- break;
- }
- case EDRM_API_SubMenuId_3_1_1: // DRM file opening
- {
- TestFileOpeningSpeedL(filesDir, 3);
- break;
- }
- case EDRM_API_SubMenuId_3_1_2: // DRM file opening with consume
- {
- TestFileOpeningSpeedL(filesDir, 4);
- break;
- }
- case EDRM_API_SubMenuId_3_1_3: // Sequential DRM
- {
- TestDecryptionSpeedL(filesDir, EFalse, 3);
- break;
- }
- case EDRM_API_SubMenuId_3_1_4: // Random DRM
- {
- TestDecryptionSpeedL(filesDir, ETrue, 3);
- break;
- }
- }
-
-#endif
-
- //TestDatabasePerformanceL();
- }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmqtencryptor/drmencryptor.h Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2003-2009 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: DRM Encryption tool.
+*
+*/
+
+#ifndef DRMENCRYPTOR_H
+#define DRMENCRYPTOR_H
+
+#include <QtGui/QDialog>
+#include <QDateTimeEdit>
+#include <QPushButton>
+#include <QDateTimeEdit>
+#include <QMainWindow>
+#include <QMenuBar>
+#include <QAction>
+#include <QHBoxLayout>
+#include <wmdrmagent.h>
+#include <caf/manager.h>
+
+/*namespace Ui
+{
+ class mainWindow;
+ class QPushButton;
+}*/
+
+//forward declarations
+class DateTimeDialog;
+
+class DRMEncryptor : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ DRMEncryptor();
+ ~DRMEncryptor();
+
+private:
+ void ProcessMessageL(const TDesC& aFile, const TDesC& aOutput);
+ //ContentAccess::CManager* GetCafDataL( ContentAccess::TAgent& aAgent );
+ void DeleteWmDrmRdbL();
+
+
+signals:
+
+private slots:
+ void onTextChanged(const QString &);
+ void setDRMClock();
+ void getDRMClock();
+ void startEncrypt();
+ void deleteWmDrmDB();
+ void deleteOmaDrmDB();
+ void launchBrowser();
+ TUint EncryptL(TUint& aEncryptedCount, TUint& aRightsCount, TUint& aMessagesProcessed);
+
+ //void onDateTimeChanged(const QDateTime & datetime );
+
+private:
+ QMenu *iOptionsMenu;
+ QPushButton *iSetDRMClockButton;
+
+ // Menu options
+ QAction *iSetDRMClockAct;
+ QAction *iGetDRMClockAct;
+ QAction *iEncryptAct;
+ QAction *iDeleteWMDRMDBAct;
+ QAction *iDeleteOMADRMDBAct;
+ QAction *iLaunchBrowserAct;
+
+ DateTimeDialog *iDateTimeDialog;
+ QDateTime iDatetime;
+};
+
+class DateTimeDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+ DateTimeDialog();
+ ~DateTimeDialog();
+
+private slots:
+ void setDRMClock();
+
+private:
+ QHBoxLayout *iLayout;
+ QDateTimeEdit *iDateEdit;
+ /*QDateTimeEdit *iDateEdit;
+ QPushButton *iOkButton;
+ QPushButton *iCancelButton;*/
+
+};
+
+
+#endif // DRMENCRYPTOR_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmqtencryptor/drmencryptor.ui Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2003-2009 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: DRM Encryption tool.
+*
+*/
+
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>mainWindow</class>
+ <widget class="QDialog" name="mainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>310</width>
+ <height>498</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>DRMEncryptor</string>
+ </property>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections/>
+</ui>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmqtencryptor/drmencyptor.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,795 @@
+/*
+* Copyright (c) 2003-2009 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: DRM Encryption tool.
+*
+*/
+
+#include "drmencryptor.h"
+//#include "ui_dialog.h"
+#include <QMessageBox>
+#include <QDoubleValidator>
+#include <QMenu>
+#include <QHBoxLayout>
+#include <QString>
+#include <QLabel>
+#include <QPlainTextEdit>
+#include <QVBoxLayout>
+#include <QWidget>
+#include <QPalette>
+
+#ifdef RD_MULTIPLE_DRIVE
+#include <driveinfo.h>
+#endif
+
+#include <e32std.h>
+#include <e32base.h>
+#include <e32cmn.h>
+
+#include <Oma1DcfCreator.h>
+#include <s32file.h>
+#include <DRMMessageParser.h>
+#include <DcfRep.h>
+#include <DcfEntry.h>
+#include <DRMRights.h>
+//#include <drmbrowserlauncher.h>
+
+#include "drmserviceapi.h"
+#include "DRMTypes.h"
+
+const TInt KBufferSize = 20000;
+
+DRMEncryptor::DRMEncryptor()
+{
+ QWidget *widget = new QWidget();
+ setCentralWidget(widget);
+
+ setBackgroundRole( QPalette::Window );
+
+ QVBoxLayout *layout = new QVBoxLayout;
+ layout->setAlignment(Qt::AlignCenter);
+
+ QLabel *mainWindowLabel = new QLabel("DRM Encryptor");
+ layout->addWidget(mainWindowLabel);
+
+ //layout->addStretch();
+
+ //ui->setupUi(this);
+ //iOptionsMenu = menuBar()->addMenu(tr("&Options"));
+
+ // Create menu options
+ iSetDRMClockAct = new QAction(tr("&Set DRM Clock"), this);
+ iSetDRMClockAct->setStatusTip(tr("Set DRM secure clock time."));
+
+ iGetDRMClockAct = new QAction(tr("&Get DRM Clock Time"), this);
+ iGetDRMClockAct->setStatusTip(tr("Get DRM secure clock time."));
+
+ iEncryptAct = new QAction(tr("&Encrypt"), this);
+ iEncryptAct->setStatusTip(tr("Encrypt"));
+
+ iLaunchBrowserAct = new QAction(tr("&Launch Browser"), this);
+ iLaunchBrowserAct->setStatusTip(tr("Launch Browser"));
+
+ 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);
+ //connect(setDRMClockButton, SIGNAL(clicked()), this, SLOT(setDRMClock()));
+ //setDRMClockButton->show();
+
+/* ui->pushButton->setEnabled(false);
+
+ ui->lineEdit->setValidator(new QDoubleValidator(this));
+ ui->lineEdit_2->setValidator(new QDoubleValidator(this));
+*/
+ //connect(ui->mainMenu,SIGNAL(onChanged()),this,SLOT(onLaske()));
+ //connect(ui->lineEdit,SIGNAL(textChanged(const QString &)),this,SLOT(onTextChanged(const QString &)));
+ //connect(ui->mainMenu,SIGNAL(textChanged(const QString &)),this,SLOT(onTextChanged(const QString &)));
+
+ widget->setLayout(layout);
+}
+
+DRMEncryptor::~DRMEncryptor()
+{
+ //delete ui;
+}
+
+void DRMEncryptor::setDRMClock()
+{
+ DateTimeDialog *dateTimeDialog = new DateTimeDialog();
+ dateTimeDialog->show();
+}
+
+void DRMEncryptor::getDRMClock()
+{
+ TTime time;
+ TInt timeZone;
+ TDateTime date;
+ DRMClock::ESecurityLevel level;
+ TInt error( KErrNone );
+ TBuf< 80 > buf;
+
+ DRM::CDrmServiceApi* service = NULL;
+
+ TRAPD(err, service = DRM::CDrmServiceApi::NewL());
+ if(err!=KErrNone)
+ {
+ QMessageBox::information(this, tr("DRM Clock"),tr("Error creating CDrmServiceApi."));
+ buf.AppendNum(error);
+ QString string((QChar*)buf.Ptr(),buf.Length());
+ QMessageBox::information(this, tr("DRM Clock"),string);
+ delete service; // service
+ return;
+ }
+
+ error = service->GetSecureTime( time, timeZone, level );
+ if(!error==KErrNone)
+ {
+ QMessageBox::information(this, tr("DRM Clock"),tr("Error getting secure time."));
+
+ buf.AppendNum(error);
+ QString string((QChar*)buf.Ptr(),buf.Length());
+ QMessageBox::information(this, tr("DRM Clock"),string);
+ delete service;
+ return;
+ }
+
+ date = time.DateTime();
+
+ if(level == DRMClock::KSecure)
+ {
+ _LIT(KFormatTxt,"DRMClock Time:\n%d/%d/%d\n%d:%d:%d\nNitz available");
+ buf.Format( KFormatTxt,
+ date.Day()+1,
+ TInt(date.Month()+1),
+ date.Year(),
+ date.Hour(),
+ date.Minute(),
+ date.Second());
+ }
+ else
+ {
+ _LIT(KFormatTxt,"DRMClock Time:\n%d/%d/%d\n%d:%d:%d\nNitz unavailable");
+ buf.Format( KFormatTxt,
+ date.Day()+1,
+ TInt(date.Month()+1),
+ date.Year(),
+ date.Hour(),
+ date.Minute(),
+ date.Second());
+ }
+
+ QGridLayout *layout = new QGridLayout;
+ layout->setAlignment(Qt::AlignCenter);
+ setLayout(layout);
+
+
+ QString datetimeString((QChar*)buf.Ptr(),buf.Length());
+
+ QMessageBox *drmClockTime = new QMessageBox(this);
+ drmClockTime->setWindowTitle(tr("DRM Clock"));
+ drmClockTime->setText(datetimeString);
+
+ layout->addWidget(drmClockTime);
+ drmClockTime->show();
+
+}
+
+LOCAL_C void ReadFileL(HBufC8*& aContent, const TDesC& aName, RFs& aFs)
+ {
+ TInt size = 0;
+ RFile file;
+ User::LeaveIfError(file.Open(aFs, aName, EFileRead));
+ User::LeaveIfError(file.Size(size));
+ aContent = HBufC8::NewLC(size);
+ TPtr8 ptr(aContent->Des());
+ User::LeaveIfError(file.Read(ptr, size));
+ CleanupStack::Pop(); //aContent
+ }
+
+// ---------------------------------------------------------
+// UpdateDCFRepositoryL()
+// Update saved file to DCFRepository
+// ---------------------------------------------------------
+//
+LOCAL_C void UpdateDCFRepositoryL( const TDesC& aFileName)
+ {
+ CDcfEntry* dcf( NULL );
+ CDcfRep* dcfRep( NULL );
+
+ dcf = CDcfEntry::NewL();
+ CleanupStack::PushL( dcf );
+
+ dcfRep = CDcfRep::NewL();
+ CleanupStack::PushL( dcfRep );
+
+ dcf->SetLocationL( aFileName, 0 );
+ dcfRep->UpdateL( dcf );
+
+ CleanupStack::PopAndDestroy(2); // dcf, dcfRep
+ }
+
+void ProcessRightsL(const TDesC& aFile)
+ {
+ CDRMMessageParser* c = NULL;
+ HBufC8* d = NULL;
+ RFs fs;
+ RPointerArray<CDRMRights> rights;
+
+ User::LeaveIfError(fs.Connect());
+ c = CDRMMessageParser::NewL();
+ ReadFileL(d, aFile, fs);
+ c->ProcessRightsObject(*d, rights);
+ rights.ResetAndDestroy();
+ delete d;
+ delete c;
+ fs.Close();
+ }
+
+void DRMEncryptor::ProcessMessageL(const TDesC& aFile, const TDesC& aOutput)
+ {
+ CDRMMessageParser* c = NULL;
+ HBufC8* d = NULL;
+ RFs fs;
+ TPtr8 inRead(NULL, 0);
+ TInt error = 1;
+ __UHEAP_MARK;
+
+ User::LeaveIfError(fs.Connect());
+ CleanupClosePushL(fs);
+ c = CDRMMessageParser::NewL();
+ CleanupStack::PushL(c);
+
+ d = HBufC8::NewLC( KBufferSize );
+
+ RFile input;
+ User::LeaveIfError(input.Open( fs, aFile, EFileRead ));
+ CleanupClosePushL( input );
+
+ RFileWriteStream output;
+ output.Replace( fs, aOutput, EFileWrite );
+ CleanupClosePushL( output );
+
+ c->InitializeMessageParserL( output );
+
+ while( error )
+ {
+ inRead.Set( const_cast<TUint8*>(d->Ptr()),0,KBufferSize);
+ error = input.Read( inRead );
+
+ if( error )
+ {
+ c->FinalizeMessageParserL();
+
+ User::Leave( error );
+ }
+ else
+ {
+ error = inRead.Length();
+ }
+
+ if( error )
+ {
+ c->ProcessMessageDataL(inRead);
+ }
+ }
+
+ c->FinalizeMessageParserL();
+
+
+ CleanupStack::PopAndDestroy( 5 ); // fs, c, d, input, output
+ UpdateDCFRepositoryL( aOutput );
+ __UHEAP_MARKEND;
+ }
+
+void EncryptFileL(const TDesC& aFile, TDesC& aOutput, TInt aMultiplier)
+ {
+ COma1DcfCreator* c = NULL;
+ CDRMRights* rights = NULL;
+ TBuf8<64> mime;
+ RFs fs;
+ TFileName aDcfFile;
+ TInt aOriginalFileNameLength(aOutput.Length() - 4);
+
+ User::LeaveIfError(fs.Connect());
+ if (aFile.Right(3).CompareF(_L("amr")) == 0) //AMR
+ {
+ mime.Copy(_L8("audio/amr"));
+ }
+ else if (aFile.Right(3).CompareF(_L("awb")) == 0) //AMR-AWB
+ {
+ mime.Copy(_L8("audio/amr-wb"));
+ }
+ else if (aFile.Right(3).CompareF(_L("mp3")) == 0) //MP3
+ {
+ mime.Copy(_L8("audio/mpeg"));
+ }
+ else if (aFile.Right(3).CompareF(_L("mp4")) == 0) //MP4
+ {
+ mime.Copy(_L8("audio/mp4"));
+ }
+ else if (aFile.Right(3).CompareF(_L("m4a")) == 0) //M4A
+ {
+ mime.Copy(_L8("audio/mp4"));
+ }
+ else if (aFile.Right(3).CompareF(_L("3gp")) == 0) //3GPP
+ {
+ mime.Copy(_L8("audio/3gpp"));
+ }
+ else if (aFile.Right(3).CompareF(_L("3g2")) == 0) //3GPP2
+ {
+ mime.Copy(_L8("audio/3gpp2"));
+ }
+ else if (aFile.Right(3).CompareF(_L("aac")) == 0) //AAC
+ {
+ mime.Copy(_L8("audio/aac"));
+ }
+ else if (aFile.Right(3).CompareF(_L("mid")) == 0) //MIDI
+ {
+ mime.Copy(_L8("audio/midi"));
+ }
+ else if (aFile.Right(5).CompareF(_L(".spmid")) == 0) //SP-MIDI
+ {
+ mime.Copy(_L8("audio/sp-midi"));
+ }
+ else if (aFile.Right(3).CompareF(_L("rmf")) == 0) //RMF
+ {
+ mime.Copy(_L8("audio/rmf"));
+ }
+ else if (aFile.Right(4).CompareF(_L("mxmf")) == 0) //Mobile-XMF
+ {
+ mime.Copy(_L8("audio/mobile-xmf"));
+ }
+ else if (aFile.Right(3).CompareF(_L("wav")) == 0) //WAV
+ {
+ mime.Copy(_L8("audio/x-wav"));
+ }
+ else if (aFile.Right(3).CompareF(_L("gif")) == 0) // GIF
+ {
+ mime.Copy(_L8("image/gif"));
+ }
+ else if (aFile.Right(3).CompareF(_L("jpg")) == 0) // JPEG
+ {
+ mime.Copy(_L8("image/jpeg"));
+ }
+ else if (aFile.Right(3).CompareF(_L("txt")) == 0) // text
+ {
+ mime.Copy(_L8("text/plain"));
+ }
+ else if (aFile.Right(3).CompareF(_L("pip")) == 0) // PIP
+ {
+ mime.Copy(_L8("application/x-pip"));
+ }
+
+ aDcfFile.Append(aOutput);
+
+ for(TInt i = 0; i < aMultiplier ; ++i)
+ {
+ aDcfFile.Delete(aOriginalFileNameLength, aDcfFile.Length());
+ aDcfFile.Append(_L("-"));
+ aDcfFile.AppendNum(i);
+ aDcfFile.Append(_L(".dcf"));
+ c = COma1DcfCreator::NewL();
+ CleanupStack::PushL(c);
+ fs.Delete(aOutput);
+ c->EncryptFileL(aFile, aDcfFile, mime, rights);
+ UpdateDCFRepositoryL( aDcfFile );
+ delete rights;
+ CleanupStack::PopAndDestroy(); // c
+ }
+ fs.Close();
+
+ }
+
+void DRMEncryptor::startEncrypt()
+ {
+ TUint result = 0;
+ TUint aEncryptedCount = 0;
+ TUint aRightsCount = 0;
+ TUint aMessagesProcessed = 0;
+ TBuf<128> buffer;
+
+ result = EncryptL(aEncryptedCount, aRightsCount, aMessagesProcessed);
+
+ buffer.Append(_L("Encryption done\n"));
+ if(result < 1)
+ {
+ buffer.Append(_L("No files found"));
+ }
+ if(aMessagesProcessed != 0)
+ {
+ buffer.AppendNum(aMessagesProcessed);
+ buffer.Append(_L(" messages processed\n"));
+ }
+ if(aRightsCount != 0)
+ {
+ buffer.AppendNum(aRightsCount);
+ buffer.Append(_L(" rights objects processed\n"));
+ }
+ if(aMessagesProcessed != 0)
+ {
+ buffer.AppendNum(aEncryptedCount);
+ buffer.Append(_L(" files encrypted\n"));
+ }
+
+ QGridLayout *layout = new QGridLayout;
+ layout->setAlignment(Qt::AlignCenter);
+ setLayout(layout);
+
+ QString encryptString((QChar*)buffer.Ptr(),buffer.Length());
+ QMessageBox *encrpytMessage = new QMessageBox(this);
+ encrpytMessage->setWindowTitle(tr("Encrypt"));
+ encrpytMessage->setText(encryptString);
+
+ layout->addWidget(encrpytMessage);
+ encrpytMessage->show();
+
+ }
+
+TUint DRMEncryptor::EncryptL(TUint& aEncryptedCount, TUint& aRightsCount, TUint& aMessagesProcessed)
+ {
+ TInt i;
+ CDir* files;
+ TFileName input;
+ TFileName output;
+ TUint inputNameSize = 0;
+ TUint outputNameSize = 0;
+ RFs fs;
+ User::LeaveIfError(fs.Connect());
+ TInt aMultiplier(1);
+
+
+#ifdef __WINS__
+ input.Append(_L("c:\\data\\DRM\\"));
+ output.Append(_L("c:\\data\\Others\\"));
+#else
+#ifndef RD_MULTIPLE_DRIVE
+
+ input.Append(_L("e:\\DRM\\"));
+ output.Append(_L("e:\\Others\\"));
+
+#else //RD_MULTIPLE_DRIVE
+
+ TInt driveNumber( -1 );
+ TChar driveLetter;
+ DriveInfo::GetDefaultDrive( DriveInfo::EDefaultMassStorage, driveNumber );
+ fs.DriveToChar( driveNumber, driveLetter );
+
+ _LIT( KdrmDir, "%c:\\DRM\\" );
+ input.Format( KdrmDir, (TUint)driveLetter );
+
+ _LIT( KothersDir, "%c:\\Others\\" );
+ output.Format( KothersDir, (TUint)driveLetter );
+
+#endif
+#endif
+
+ inputNameSize = input.Length();
+ outputNameSize = output.Length();
+
+
+ fs.MkDir(input);
+ fs.MkDir(output);
+
+ fs.GetDir(input, KEntryAttNormal, ESortNone, files);
+ for (i = 0; i < files->Count(); i++)
+ {
+ input.Append((*files)[i].iName);
+
+ output.Append((*files)[i].iName);
+
+ if (input.Right(2).CompareF(_L("dm")) == 0)
+ {
+
+ for(TInt ii = 0; ii < aMultiplier ; ++ii)
+ {
+ output.Delete(outputNameSize +(*files)[i].iName.Length() , output.Length()-1);
+ output.Append(_L("-"));
+ output.AppendNum(ii);
+ output.Append(_L(".dcf"));
+ ProcessMessageL(input, output);
+ ++aMessagesProcessed;
+ }
+ }
+ else if (input.Right(3).CompareF(_L("oro")) == 0 ||
+ input.Right(3).CompareF(_L("drc")) == 0 ||
+ input.Right(2).CompareF(_L("ro")) == 0 ||
+ input.Right(2).CompareF(_L("dr")) == 0 )
+ {
+ for (TInt iii = 0; iii < aMultiplier; ++iii)
+ {
+ ProcessRightsL(input);
+ ++aRightsCount;
+ }
+ }
+ else if (input.Right(3).CompareF(_L("dcf")) != 0)
+ {
+ output.Append(_L(".dcf"));
+ EncryptFileL(input, output, aMultiplier);
+ ++aEncryptedCount;
+ }
+
+ //restore paths
+ input.Delete(inputNameSize, input.Length()-1);
+ output.Delete(outputNameSize, output.Length()-1);
+ }
+
+ fs.Close();
+
+ TRequestStatus status;
+ CDcfRep* rep = CDcfRep::NewL();
+ CleanupStack::PushL(rep);
+ rep->RefreshDcf(status);
+ User::WaitForRequest( status );
+ CleanupStack::PopAndDestroy( rep );
+
+ delete files;
+
+ return (aEncryptedCount*aMultiplier + aRightsCount + aMessagesProcessed);
+
+ }
+
+ContentAccess::CManager* GetCafDataL( TAgent& aAgent )
+ {
+ TPtr8 ptr(NULL, 0, 0);
+ RArray<TAgent> agents;
+ TRequestStatus status;
+ TInt i;
+
+ CleanupClosePushL( agents );
+ CManager* manager = CManager::NewLC();
+
+ manager->ListAgentsL( agents );
+
+ for (i = 0; i < agents.Count(); i++)
+ {
+ if (agents[i].Name().Compare(KWmDrmAgentName) == 0)
+ {
+ aAgent = agents[i];
+ break;
+ }
+ }
+ CleanupStack::Pop( manager );
+ CleanupStack::PopAndDestroy(); // agents
+ return manager;
+ }
+
+void DRMEncryptor::DeleteWmDrmRdbL()
+ {
+ // get the data part
+ ContentAccess::CManager* manager = NULL;
+ ContentAccess::TAgent agent;
+ TPtr8 ptr(NULL, 0, 0);
+ TPtrC8 ptr2;
+
+ // Find the caf agent and create manager
+ manager = GetCafDataL( agent );
+ CleanupStack::PushL( manager );
+
+ User::LeaveIfError(
+ manager->AgentSpecificCommand( agent,
+ (TInt)DRM::EWmDrmDeleteRights,
+ ptr2,
+ ptr) );
+ CleanupStack::PopAndDestroy( manager );
+ }
+
+void DRMEncryptor::deleteWmDrmDB()
+ {
+ TRAPD(err, DeleteWmDrmRdbL());
+ if(!err)
+ {
+ QMessageBox::information(this, tr("WMDRM DB"),tr("DRM rights deleted."));
+ }
+ else
+ {
+ QMessageBox::information(this, tr("WMDRM DB"),tr("Error deleting WMDRM rights."));
+ }
+ }
+
+void DRMEncryptor::deleteOmaDrmDB()
+ {
+ RDRMRightsClient client;
+ User::LeaveIfError(client.Connect());
+ client.DeleteAll();
+ client.Close();
+ }
+
+
+
+void DRMEncryptor::launchBrowser()
+ {
+ /*_LIT( KTestDrmFile, "c:\\data\\others\\sd_water003.dcf" );
+ TInt urlLength = 256;
+ TFileName fileName(KTestDrmFile);
+ RFile file;
+ RFs fs;
+
+ User::LeaveIfError(fs.Connect());
+ TInt result = 0;
+
+ result = file.Open(fs, fileName, EFileRead | EFileShareReadersOrWriters);
+
+ CData* content = CData::NewLC( file, KDefaultContentObject, EPeek );
+
+ HBufC* rightsIssuerBuf = HBufC::NewLC( urlLength ); // Content issuer max URL length
+ TPtr rightsIssuer(const_cast<TUint16*>(rightsIssuerBuf->Ptr()), 0, urlLength);
+
+ // Get value of rights-issuer header field
+ TInt error = content->GetStringAttribute( ERightsIssuerUrl, rightsIssuer );
+ rightsIssuer.TrimAll();
+
+ rightsIssuer.Insert(0, _L("http://"));
+
+ HBufC* finalUrl = rightsIssuer.AllocLC();
+
+ DRM::CDrmBrowserLauncher::LaunchUrlL(*finalUrl);
+
+ CleanupStack::PopAndDestroy(3); // finalUrl, rightsIssuerBuf, content;*/
+ }
+
+/*
+void DRMEncryptorsetDRMClock()
+{
+
+ double value1 = ui->lineEdit->text().toDouble(&bOK1);
+ double value2 = ui->lineEdit_2->text().toDouble(&bOK2);
+
+ ui->lineEdit_3->setText("");
+
+ if(bOK1 && bOK2)
+ {
+ if(value2 != 0)
+ {
+ double result = value1 / value2;
+ ui->lineEdit_3->setText(QString::number(result));
+ }
+ else
+ {
+ box.setText("Et voi jakaa nollalla");
+ box.exec();
+ }
+ }
+ else
+ {
+ box.setText("Virheellinen syöte");
+ box.exec();
+ }
+}
+
+ void DRMEncryptoronDateTimeChanged(const QDateTime & datetime )
+ {
+
+ }
+*/
+
+void DRMEncryptor::onTextChanged(const QString &)
+{
+ //ui->pushButton->setEnabled(ui->lineEdit->text() != "" && ui->lineEdit_2->text() != "");
+}
+
+DateTimeDialog::DateTimeDialog()
+ {
+ //iLayout = new QHBoxLayout;
+ QGridLayout *layout = new QGridLayout;
+ layout->setAlignment(Qt::AlignCenter);
+ setLayout(layout);
+
+ iDateEdit = new QDateTimeEdit(QDate::currentDate());
+ iDateEdit->setAlignment(Qt::AlignHCenter);
+ iDateEdit->setDisplayFormat("yyyy.mm.dd hh.mm.ss");
+ iDateEdit->setWindowTitle("Set DRM Clock yyyy.MM.dd hh.mm.ss");
+ QPushButton *okButton = new QPushButton("OK", this);
+ QPushButton *cancelButton = new QPushButton("Cancel", this);
+
+ layout->addWidget(iDateEdit);
+ layout->addWidget(okButton);
+ layout->addWidget(cancelButton);
+
+ connect(okButton, SIGNAL(clicked()), this, SLOT(setDRMClock()));
+ connect(cancelButton, SIGNAL(clicked()), this, SLOT(close()));
+
+ //this->setLayout(iLayout);
+ okButton->show();
+ cancelButton->show();
+ this->show();
+ }
+
+DateTimeDialog::~DateTimeDialog()
+ {
+
+ }
+
+void DateTimeDialog::setDRMClock()
+ {
+ DRM::CDrmServiceApi* service = NULL;
+ TBuf<5> buf;
+ TRAPD(err, service = DRM::CDrmServiceApi::NewL());
+ if(err!=KErrNone)
+ {
+ QMessageBox::information(this, tr("DRM Clock"),tr("Error creating CDrmServiceApi."));
+ buf.AppendNum(err);
+ QString string((QChar*)buf.Ptr(),buf.Length());
+ QMessageBox::information(this, tr("DRM Clock"),string);
+ delete service; // service
+ return;
+ }
+
+ QString datetimeString = iDateEdit->dateTime().toString("yyyy.mm.dd hh.mm.ss");
+
+ // datetime in format YYYYMMDD:HHMMSS for TTime
+ datetimeString.remove(QChar('.'));
+ datetimeString.replace(" ", ":");
+ datetimeString.append(".000000");
+
+ TPtrC datetimePtr(reinterpret_cast<const TText*>(datetimeString.constData()));
+ HBufC *datetimeBuf = NULL;
+ TBuf<5> errorBuf;
+ TRAPD(errorCode, datetimeBuf = datetimePtr.AllocL());
+ if(errorCode!=KErrNone)
+ {
+ QMessageBox::information(this, tr("DRM Clock"),tr("Error in datetimePtr.AllocL."));
+ errorBuf.AppendNum(errorCode);
+ QString string((QChar*)buf.Ptr(),buf.Length());
+ QMessageBox::information(this, tr("DRM Clock"),string);
+ delete service;
+ delete datetimeBuf;
+ return;
+ }
+
+
+ TTime inputTime(*datetimeBuf);
+ TInt timezone = 0;
+ delete datetimeBuf;
+
+ // Get secure time from service api to get timezone
+ DRMClock::ESecurityLevel level;
+ TInt error( KErrNone );
+
+ TTime currentTime;
+ error = service->GetSecureTime(currentTime, timezone, level);
+
+ if(error != KErrNone)
+ {
+ return;
+ }
+
+ error = service->UpdateSecureTime(inputTime, timezone);
+
+ if(error != KErrNone)
+ {
+ return;
+ }
+
+ delete service;
+
+ QMessageBox::information(this, tr("DRM Clock"),tr("DRM Clock Set"));
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmqtencryptor/main.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2003-2009 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: DRM Encryption tool.
+*
+*/
+
+#include <QtGui/QApplication>
+#include "drmencryptor.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ DRMEncryptor w;
+ w.showMaximized();
+ return a.exec();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmqtencryptor/qt_drmencryptor.pro Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,33 @@
+#
+# Copyright (c) 2003-2009 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: DRM Encryption tool project file.
+#
+#
+
+TEMPLATE = app
+TARGET = drmencryptor
+DEPENDPATH += .
+INCLUDEPATH += .
+INCLUDEPATH += ../../inc
+
+symbian:
+{
+TARGET.CAPABILITY += DRM
+}
+
+# Input
+HEADERS += drmencryptor.h
+FORMS += drmencryptor.ui
+SOURCES += drmencyptor.cpp main.cpp
+LIBS += -lplatformenv -ldrmserviceapi -ldcfrep -ldrmparsers -lfbscli -lcone -lestor -lcaf -lefsrv -ldrmserverinterfaces
--- a/commondrm/drmrightsmanagerui/group/DRMRightsManager.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmrightsmanagerui/group/DRMRightsManager.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -59,7 +59,6 @@
LIBRARY aknskins.lib commonui.lib servicehandler.lib
LIBRARY dcfrep.lib caf.lib cafutils.lib
LIBRARY ecom.lib
-LIBRARY commondialogs.lib
LIBRARY directorylocalizer.lib
LIBRARY drmparsers.lib
--- a/commondrm/drmrightsmanagerui/inc/DRMRightsMgrDetailsContainer.h Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmrightsmanagerui/inc/DRMRightsMgrDetailsContainer.h Tue Aug 31 15:29:38 2010 +0300
@@ -33,6 +33,8 @@
#include <caf/caftypes.h>
#include <caf/rightsinfo.h>
+#include "DRMRightsMgrDetailsContainer.h"
+
// FORWARD DECLARATIONS
class CDRMRightsConstraints;
--- a/commondrm/drmrightsmanagerui/loc/DRMRightsManager.loc Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmrightsmanagerui/loc/DRMRightsManager.loc Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2003 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2003 - 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"
@@ -22,7 +22,7 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_view_det "License details"
+#define qtn_drm_mgr_view_det "Licence details"
//d:Command in options menu.
//l:list_single_pane_t1_cp2
@@ -44,42 +44,42 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_restore "Restore licenses"
+#define qtn_drm_mgr_restore "Restore licences"
//d:Caption and short caption. "Activ." stands for "Activation"
//l:cell_app_pane_t1
//w:
//r:3.0
//
-#define qtn_drm_mgr "Licenses"
+#define qtn_drm_mgr "Licences"
//d:Title pane text in main view
//l:title_pane_t2/opt9
//w:
//r:3.0
//
-#define qtn_drm_mgr_title_pane "Licenses"
+#define qtn_drm_mgr_title_pane "Licences"
//d:Error message
//l:popup_note_window
//w:
//r:3.0
//
-#define qtn_drm_mgr_query_restart "Unable to access licenses. Phone will restart. Continue?"
+#define qtn_drm_mgr_query_restart "Unable to access licences. Phone will restart. Continue?"
//d:Error message
//l:popup_note_window
//w:
//r:3.0
//
-#define qtn_drm_mgr_note_backup "Unable to access licenses. License list should be restored."
+#define qtn_drm_mgr_note_backup "Unable to access licences. Licence list should be restored."
//d:Empty text in listbox
//l:main_list_empty_pane
//w:
//r:3.0
//
-#define qtn_drm_mgr_no_files "no licenses"
+#define qtn_drm_mgr_no_files "no licences"
//d:Text to be used when related Media Object is not found in device
//d:%N is a progressive number
@@ -103,14 +103,14 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_det_valid "License is valid"
+#define qtn_drm_mgr_det_valid "Licence is valid"
//d:Possible second line for first entry of Details View listbox
//l:list_double_pane_t2_cp2
//w:
//r:3.0
//
-#define qtn_drm_mgr_det_exp "License expired"
+#define qtn_drm_mgr_det_exp "Licence expired"
//d:First line of 'Content in phone' entry in Details View listbox.
//d:It says if related Media Object is in device or not. If Media object is in device and not in a private
@@ -575,7 +575,7 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_auto_del_romo "If you delete license, %U will also be deleted. Continue?"
+#define qtn_drm_mgr_auto_del_romo "If you delete licence, %U will also be deleted. Continue?"
//d:Confirmation query text used when deleting a Right Object
//d:%U name of the file
@@ -583,7 +583,7 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_del_single_ro "If you delete license, file %U cannot be used. Continue?"
+#define qtn_drm_mgr_del_single_ro "If you delete licence, file %U cannot be used. Continue?"
//d:Confirmation query text proposed to ask if also related file should be deleted
//d:%U name of the file
@@ -599,7 +599,7 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_wait_del_one_ro "Deleting license for %U"
+#define qtn_drm_mgr_wait_del_one_ro "Deleting licence for %U"
//d:Text during deletion
//d:%U name of the file
@@ -607,7 +607,7 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_wait_del_roco "Deleting %U and license"
+#define qtn_drm_mgr_wait_del_roco "Deleting %U and licence"
//d:Notification after deletion
//d:%U name of the file
@@ -615,7 +615,7 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_deleted_one_ro "License for %U deleted"
+#define qtn_drm_mgr_deleted_one_ro "Licence for %U deleted"
//d:Notification after deletion
//d:%U name of the file
@@ -623,7 +623,7 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_deleted_roco "License and %U deleted"
+#define qtn_drm_mgr_deleted_roco "Licence and %U deleted"
//d:Confirmation query text
//d:%U name of the file
@@ -639,7 +639,7 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_note_ro_removed "Unable to access license"
+#define qtn_drm_mgr_note_ro_removed "Unable to access licence"
// NEW STRINGS
@@ -649,14 +649,14 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_list_valid_keys "Valid licenses"
+#define qtn_drm_mgr_list_valid_keys "Valid licences"
//d:Second item data text of Main View
//l:list_single_large_graphic_pane_t1_cp2
//w:
//r:3.0
//
-#define qtn_drm_mgr_list_invalid_keys "Invalid licenses"
+#define qtn_drm_mgr_list_invalid_keys "Invalid licences"
//d:Third item data text of Main View
//l:list_single_large_graphic_pane_t1_cp2
@@ -670,7 +670,7 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_del_group_ro_descr "After deleting the license, several files may not be used"
+#define qtn_drm_mgr_del_group_ro_descr "After deleting the licence, several files may not be used"
//d:Title of the list query
//l:heading_pane_t1
@@ -691,14 +691,14 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_delete_group_ro "Delete license to the files"
+#define qtn_drm_mgr_delete_group_ro "Delete licence to the files"
//d:Notification after deletion
//l:popup_note_window
//w:
//r:3.0
//
-#define qtn_drm_mgr_deleted_ro "License deleted"
+#define qtn_drm_mgr_deleted_ro "Licence deleted"
//d:Data query prompt text When renaming an item
//l:popup_query_data_window
@@ -713,21 +713,21 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_title_valid_keys "Valid licenses"
+#define qtn_drm_mgr_title_valid_keys "Valid licences"
//d:Title pane text for Invalid keys View
//l:title_pane_t2/opt9
//w:
//r:3.0
//
-#define qtn_drm_mgr_title_invalid_keys "Invalid licenses"
+#define qtn_drm_mgr_title_invalid_keys "Invalid licences"
//d:Title pane text for Keys not in use View
//l:title_pane_t2/opt9
//w:
//r:3.0
//
-#define qtn_drm_mgr_title_keys_not_used "Licenses not in use"
+#define qtn_drm_mgr_title_keys_not_used "Licences not in use"
//d:Empty text in listbox
//l:main_list_empty_pane
@@ -744,7 +744,7 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_name_group_key "Group license %N"
+#define qtn_drm_mgr_name_group_key "Group licence %N"
//d:Menu item used in Group view to see the details of a Media Object.
//l:list_single_pane_t1_cp2
@@ -786,7 +786,7 @@
//w:
//r:3.0
//
-#define qtn_drm_det_ro_number "License %0N/%1N"
+#define qtn_drm_det_ro_number "Licence %0N/%1N"
//d:Possible second line for first entry (qtn_drm_mgr_det_stat) of Details View
//d:listbox, when the activation key is missing.
@@ -794,7 +794,7 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_det_invalid "License is invalid"
+#define qtn_drm_mgr_det_invalid "Licence is invalid"
//d:Possible second line for first entry (qtn_drm_det_ro_number) of Details
//d:View listbox, when the activation key is not yet valid.
@@ -802,7 +802,7 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_det_not_valid_yet "License not valid yet"
+#define qtn_drm_mgr_det_not_valid_yet "Licence not valid yet"
//d:Command in options menu, used to rename a Group key.
//l:list_single_pane_t1_cp2
@@ -838,7 +838,7 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_info_unable_delete "License lists are updated. Unable to delete during updating."
+#define qtn_drm_mgr_info_unable_delete "Licence lists are updated. Unable to delete during updating."
//d:Info popup for an activation key with future rights. %U is the date when
//d:the activation key will start to be valid
@@ -846,7 +846,7 @@
//w:
//r:3.0
//
-#define qtn_drm_mgr_info_popup_future "License is valid from %U"
+#define qtn_drm_mgr_info_popup_future "Licence is valid from %U"
//d:Possible first line for fourth entry of Details View listbox
//d:Second line is qtn_drm_mgr_det_inter or qtn_drm_mgr_det_inter_two, meaning
@@ -862,7 +862,7 @@
//l:popup_note_window
//r:3.0
//
-#define qtn_drm_mgr_query_enable_keys "Restore licenses and enable on this phone?"
+#define qtn_drm_mgr_query_enable_keys "Restore licences and enable on this phone?"
//d:Progress dialog text
//d:Label for UDT progress note until HTTP connection has been estabilished
@@ -883,7 +883,7 @@
//l:popup_note_wait_window
//r:3.0
//
-#define qtn_drm_mgr_prgr_restoring_keys "Restoring licenses"
+#define qtn_drm_mgr_prgr_restoring_keys "Restoring licences"
//d:Text for password editor in multiline query
@@ -919,7 +919,7 @@
//l:popup_note_window
//r:3.0
//
-#define qtn_drm_mgr_info_no_backup_ros "No licenses to restore"
+#define qtn_drm_mgr_info_no_backup_ros "No licences to restore"
//d:Information note layout
//d:Server unavailable
@@ -933,7 +933,7 @@
//w:
//r:3.1
//
-#define qtn_drm_mgr_options_get_new_key "Get new license"
+#define qtn_drm_mgr_options_get_new_key "Get new licence"
//d:Confirmation query text
//d:Shown when user has selected option Get new key, but valid, unlimited rights exist
@@ -941,7 +941,7 @@
//w:
//r:3.1
//
-#define qtn_drm_mgr_query_unlimited_ro "License is valid for unlimited time. Get still new license?"
+#define qtn_drm_mgr_query_unlimited_ro "Licence is valid for unlimited time. Get still new licence?"
//d:First line of an entry of Details View listbox, for an individual constraint.
//d:Second line is qtn_drm_det_sim_allowed or qtn_drm_det_sim_not_allowed.
@@ -1023,7 +1023,7 @@
//w:
//r:9.1
//
-#define qtn_drm_details_valid "License is valid"
+#define qtn_drm_details_valid "Licence is valid"
//d:Possible second line for first entry of Details View listbox
//l:list_double_pane_t2_cp2
@@ -1037,7 +1037,7 @@
//w:
//r:9.1
//
-#define qtn_drm_details_no_licence_available "No license available"
+#define qtn_drm_details_no_licence_available "No licence available"
//d:First line of third entry of Details View listbox
//d:It reports if it is possible to send Media Object or not.
@@ -1260,4 +1260,4 @@
//w:
//r:9.1
//
-#define qtn_drm_mgr_det_ex_unlimited "Unlimited"
\ No newline at end of file
+#define qtn_drm_mgr_det_ex_unlimited "Unlimited"
--- a/commondrm/drmrightsmanagerui/src/DRMRightsMgrAppUi.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmrightsmanagerui/src/DRMRightsMgrAppUi.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -1096,7 +1096,7 @@
if ( i == 0 )
{
// No need to check if the parent UID is a duplicate
- parentUidList.Append( permissionList[i]->iParentUID );
+ parentUidList.AppendL ( permissionList[i]->iParentUID );
}
else
{
@@ -1132,7 +1132,7 @@
for ( k = 0; k < permissionTempList.Count(); k++ )
{
// Store the pointer to the main list of permissions
- permissionList.Append( permissionTempList[k] );
+ permissionList.AppendL ( permissionTempList[k] );
}
// Close the temporary pointer array so that the referenced
--- a/commondrm/drmrightsmanagerui/src/DRMRightsMgrDetailsContainer.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmrightsmanagerui/src/DRMRightsMgrDetailsContainer.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2003-2009 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"
@@ -841,8 +841,10 @@
TInt aIntYrs, TInt aIntMon, TInt aIntDay,
TInt aIntHrs, TInt aIntMin, TInt aIntSec )
{
-
- CDesCArrayFlat* strings = new ( ELeave ) CDesCArrayFlat( 1 );
+ // Only the two most meaningful data will be showed
+ TInt numOfData = 0;
+
+ CDesCArrayFlat* strings = new ( ELeave ) CDesCArrayFlat( 2 );
CleanupStack::PushL( strings );
if ( aIntYrs > 0 )
@@ -853,8 +855,10 @@
R_QTN_DRM_NBR_OF_YEARS_TWO_FOUR,
R_QTN_DRM_NBR_OF_YEARS_FIVE_ZERO,
strings );
+ numOfData++;
}
- else if ( aIntMon > 0 )
+
+ if ( aIntMon > 0 )
{
// Second type not provided because 11 is the maximum
AddSinglePartOfTimeL( aIntMon,
@@ -863,8 +867,11 @@
R_QTN_DRM_NBR_OF_MONTHS_TWO_FOUR,
R_QTN_DRM_NBR_OF_MONTHS_FIVE_ZERO,
strings );
+ numOfData++;
}
- else if ( aIntDay > 0 )
+
+ // Only if years or months were missing
+ if ( aIntDay > 0 && numOfData < 2 )
{
AddSinglePartOfTimeL( aIntDay,
R_QTN_DRM_NBR_OF_DAYS_ONE,
@@ -872,8 +879,10 @@
R_QTN_DRM_NBR_OF_DAYS_TWO_FOUR,
R_QTN_DRM_NBR_OF_DAYS_FIVE_ZERO,
strings );
+ numOfData++;
}
- else if ( aIntHrs > 0 )
+
+ if ( aIntHrs > 0 && numOfData < 2 )
{
AddSinglePartOfTimeL( aIntHrs,
R_QTN_DRM_NBR_OF_HOURS_ONE,
@@ -881,8 +890,10 @@
R_QTN_DRM_NBR_OF_HOURS_TWO_FOUR,
R_QTN_DRM_NBR_OF_HOURS_FIVE_ZERO,
strings );
+ numOfData++;
}
- else if ( aIntMin > 0 )
+
+ if ( aIntMin > 0 && numOfData < 2 )
{
AddSinglePartOfTimeL( aIntMin,
R_QTN_DRM_NBR_OF_MINS_ONE,
@@ -890,9 +901,11 @@
R_QTN_DRM_NBR_OF_MINS_TWO_FOUR,
R_QTN_DRM_NBR_OF_MINS_FIVE_ZERO,
strings );
+ numOfData++;
}
+
// If interval is 0, then it shows "0 seconds" anyway
- else
+ if ( ( aIntSec > 0 && numOfData < 2 ) || numOfData == 0 )
{
AddSinglePartOfTimeL( aIntSec,
R_QTN_DRM_NBR_OF_SECS_ONE,
@@ -900,10 +913,21 @@
R_QTN_DRM_NBR_OF_SECS_TWO_FOUR,
R_QTN_DRM_NBR_OF_SECS_FIVE_ZERO,
strings );
+ numOfData++;
}
- HBufC* stringHolder = StringLoader::LoadL( R_QTN_DRM_MGR_DET_INTER,
+ HBufC* stringHolder;
+ if ( numOfData == 1 )
+ {
+ stringHolder = StringLoader::LoadL( R_QTN_DRM_MGR_DET_INTER,
strings->MdcaPoint(0), iEikonEnv );
+ }
+ else
+ {
+ stringHolder = StringLoader::LoadL( R_QTN_DRM_MGR_DET_INTER_TWO,
+ *strings, iEikonEnv );
+ }
+
CleanupStack::PopAndDestroy( strings );
return stringHolder;
--- a/commondrm/drmsettingsplugin/data/102750CC.rss Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2006-2009 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: ECOM plugin resource file for DRMSettingsPlugin.
-*
-*/
-
-#include <ecom/registryinfo.rh>
-
-
-RESOURCE REGISTRY_INFO theInfo
- {
- dll_uid = 0x102750CC;
- interfaces =
- {
- INTERFACE_INFO
- {
- interface_uid = 0x10207236; // UID for CGSPluginInterface
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = 0x102750CD;
- version_no = 1;
- display_name = "DRM Settings Plugin";
- default_data = "0x1020743A";
- opaque_data = "2";//Order number
- }
- };
- }
- };
- }
-
-
-// End of File
-
--- a/commondrm/drmsettingsplugin/data/drmsettingspluginrsc.rss Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,533 +0,0 @@
-/*
-* Copyright (c) 2006 - 2007 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: Resource file for DRMSettinsPlugin
-*
-*/
-
-
-
-// RESOURCE IDENTIFIER
-NAME DRMS // 4 letter ID
-
-// INCLUDES
-#include <eikon.rh>
-#include <uikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <EIKCORE.rsg>
-#include <eikon.rsg>
-#include <appinfo.rh>
-#include <avkon.loc>
-#include <AvkonIcons.hrh>
-#include <data_caging_paths_strings.hrh>
-#include <gs.loc>
-#include <drmsettingsplugin.loc>
-
-#include "drmsettingsplugin.hrh"
-#include "drmsettingsplugin.rh"
-
-
-// CONSTANTS
-
-// RESOURCE DEFINITIONS
-
-RESOURCE RSS_SIGNATURE
- {
- }
-
-
-RESOURCE TBUF
- {
- buf="DRMS";
- }
-
-//----------------------------------------------------
-//
-// EIK_APP_INFO
-// It contains application information.
-//
-//----------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
- {
- }
-
-
-
-//----------------------------------------------------
-// r_drm_settings_view_caption
-//
-// Caption for DRM Settings plugin
-//----------------------------------------------------
-//
-RESOURCE TBUF r_drm_settings_view_caption
- {
- buf = qtn_set_protected_content;
- }
-
-
-//----------------------------------------------------
-//
-// r_drm_settings_view_title
-// Title of DRM Settings view
-//
-//----------------------------------------------------
-//
-RESOURCE TITLE_PANE r_drm_settings_view_title
- {
- txt = qtn_set_protected_content;
- }
-
-
-//----------------------------------------------------
-//
-// r_drm_softkeys_options_back_change
-// Text association with MSK ( CHANGE )
-//
-//----------------------------------------------------
-//
-RESOURCE CBA r_drm_softkeys_options_back_change
- {
- buttons =
- {
- CBA_BUTTON
- {
- id=EAknSoftkeyOptions;
- txt = text_softkey_option;
- },
- CBA_BUTTON
- {
- id=EAknSoftkeyBack;
- txt = text_softkey_back;
- },
- CBA_BUTTON
- {
- id=EDRMSettingsCmdAppChangeMSK;
- txt = qtn_msk_change;
- }
- };
- }
-
-
-
-
-//----------------------------------------------------
-//
-// r_drm_settings_view
-// DRM Settings view.
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_drm_settings_view
- {
- menubar = r_drm_settings_menubar_change_exit;
- cba = r_drm_softkeys_options_back_change;
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// r_drm_settings_menubar_change_exit
-// Menu with 'change' and 'exit' items.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_drm_settings_menubar_change_exit
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = r_drm_settings_menu_item_exit;
- },
- MENU_TITLE
- {
- menu_pane = r_drm_settings_menu_item_change;
- }
- };
- }
-
-
- // -----------------------------------------------------------------------------
- //
- // r_drm_settings_menu_item_exit
- // Options menu items 'Help' and 'Exit'. Used instead of plain 'Exit' when help
- // is wanted to be shown in UI.
- //
- // -----------------------------------------------------------------------------
- //
- RESOURCE MENU_PANE r_drm_settings_menu_item_exit
- {
- items =
- {
- MENU_ITEM
- {
- command = EAknCmdHelp;
- txt = qtn_options_help;
- },
- MENU_ITEM
- {
- command = EAknCmdExit;
- txt = qtn_options_exit;
- }
- };
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// r_drm_settings_menu_item_change
-// Change item.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_drm_settings_menu_item_change
- {
- items =
- {
- MENU_ITEM
- {
- command = EDRMSettingsCmdAppChange;
- txt = qtn_set_options_change;
- flags = EEikMenuItemAction;
- }
- };
- }
-
-
-//----------------------------------------------------
-//
-// r_drm_settings_lbx
-// DRM Settings view's listbox.
-//
-//----------------------------------------------------
-//
-RESOURCE DRM_SETTINGS_FEATURE_ARRAY r_drm_settings_lbx
- {
- items =
- {
-#ifdef __DRM_OMA2
-#ifdef RD_DRM_SILENT_RIGHTS_ACQUISITION
- DRM_SETTINGS_FEATURE
- {
- txt = " \t"qtn_set_automatic_activation"\t\t";
- item = EDRMSettingsIdAutomaticActivation;
- },
-#endif // RD_DRM_SILENT_RIGHTS_ACQUISITION
-
-#ifdef RD_DRM_METERING
- DRM_SETTINGS_FEATURE
- {
- txt = " \t"qtn_drm_set_usage_reporting"\t\t";
- item = EDRMSettingsIdUsageReporting;
- },
-#endif // RD_DRM_METERING
-
- DRM_SETTINGS_FEATURE
- {
- txt = " \t"qtn_set_transaction_tracking"\t\t";
- item = EDRMSettingsIdTransactionTracking;
- },
-#endif // __DRM_OMA2
-
- DRM_SETTINGS_FEATURE
- {
- txt = " \t"qtn_drm_set_license_deletion"\t\t";
- item = EDRMSettingsIdWMDRMLicenseDeletion;
- }
- };
- }
-
-//----------------------------------------------------
-//
-// r_drm_settings_lbx_no_oma2
-// DRM Settings view's listbox when OMA DRM version
-// 2 is configured not to be supported.
-//
-//----------------------------------------------------
-//
-RESOURCE DRM_SETTINGS_FEATURE_ARRAY r_drm_settings_lbx_no_oma2
- {
- items =
- {
- DRM_SETTINGS_FEATURE
- {
- txt = " \t"qtn_drm_set_license_deletion"\t\t";
- item = EDRMSettingsIdWMDRMLicenseDeletion;
- }
- };
- }
-
-
-
-//----------------------------------------------------
-//
-// r_drm_settings_setting_listbox
-// Common listbox editor resource for setting pages.
-//
-//----------------------------------------------------
-//
-RESOURCE LISTBOX r_drm_settings_setting_listbox
- {
- flags = EEikListBoxMultipleSelection;
- }
-
-
-//----------------------------------------------------
-//
-// r_ttracking_setting_page
-// Transaction tracking setting page.
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_ttracking_setting_page
- {
- number = EAknSettingPageNoOrdinalDisplayed;
- label = qtn_drm_set_popup_trans_track;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknSetListBox;
- editor_resource_id = r_drm_settings_setting_listbox;
- }
-
-
-//----------------------------------------------------
-//
-// r_ttracking_setting_page_lbx
-// Transaction tracking setting page's listbox.
-//
-//----------------------------------------------------
-//
-RESOURCE ARRAY r_ttracking_setting_page_lbx
- {
- items =
- {
- LBUF
- {
- txt = qtn_set_transact_tracking_on;
- },
- LBUF
- {
- txt = qtn_set_transact_tracking_off;
- }
- };
- }
-
-
-//----------------------------------------------------
-// r_drm_settings_ttracking_on
-//
-// DRM Settings text for Transaction tracking "On"
-//----------------------------------------------------
-//
-RESOURCE TBUF r_drm_settings_ttracking_on
- {
- buf = qtn_set_transact_tracking_on;
- }
-
-
-//----------------------------------------------------
-// r_drm_settings_ttracking_off
-//
-// DRM Settings text for Transaction tracking "Off"
-//----------------------------------------------------
-//
-RESOURCE TBUF r_drm_settings_ttracking_off
- {
- buf = qtn_set_transact_tracking_off;
- }
-
-
-//----------------------------------------------------
-//
-// r_autom_activ_setting_page
-// Automatic activation setting page.
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_autom_activ_setting_page
- {
- number = EAknSettingPageNoOrdinalDisplayed;
- label = qtn_drm_set_popup_autom_activat;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknSetListBox;
- editor_resource_id = r_drm_settings_setting_listbox;
- }
-
-
-//----------------------------------------------------
-//
-// r_autom_activ_setting_page_lbx
-// Automatic activation setting page's listbox.
-//
-//----------------------------------------------------
-//
-RESOURCE ARRAY r_autom_activ_setting_page_lbx
- {
- items =
- {
- LBUF
- {
- txt = qtn_set_automat_act_allowed;
- },
- LBUF
- {
- txt = qtn_set_automat_act_not_allowed;
- }
- };
- }
-
-
-//----------------------------------------------------
-// r_drm_settings_autom_activ_on
-//
-// DRM Settings text for Automatic activation "Allowed"
-//----------------------------------------------------
-//
-RESOURCE TBUF r_drm_settings_autom_activ_on
- {
- buf = qtn_set_automat_act_allowed;
- }
-
-
-//----------------------------------------------------
-// r_drm_settings_autom_activ_off
-//
-// DRM Settings text for Automatic activation "Not allowed"
-//----------------------------------------------------
-//
-RESOURCE TBUF r_drm_settings_autom_activ_off
- {
- buf = qtn_set_automat_act_not_allowed;
- }
-
-// ---------------------------------------------------------
-//
-// r_drm_settings_metering_checkbox_page
-// Used in checkbox list.
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_drm_settings_metering_checkbox_page
- {
- number = EAknSettingPageNoOrdinalDisplayed;
- label = qtn_drm_set_popup_usage_report;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__MARK;
- type = EAknSetListBox;
- editor_resource_id = r_drm_settings_metering_checkbox_list;
- invalid_contents_softkey_resource = R_AVKON_SOFTKEYS_CANCEL;
- }
-
-// ---------------------------------------------------------
-//
-// r_drm_settings_metering_checkbox_list
-// Used in checkbox list.
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_MULTISELECTION_LIST r_drm_settings_metering_checkbox_list
- {
- }
-
-//------------------------------------------------------------------------------
-//
-// r_usage_reporting_list_title
-// Title text for usage reporting listbox
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_usage_reporting_list_title
- {
- buf=qtn_drm_set_popup_usage_report;
- }
-
-
-//------------------------------------------------------------------------------
-//
-// r_usage_reporting_list_empty
-// Empty text for usage reporting listbox
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_usage_reporting_list_empty
- {
- buf=qtn_drm_set_pane_no_providers;
- }
-
-
-//------------------------------------------------------------------------------
-//
-// r_drm_set_several_services
-// 'Several' value for 'Allow usage reporting for' field
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_drm_set_several_services
- {
- buf=qtn_drm_set_several_services;
- }
-
-
-//------------------------------------------------------------------------------
-//
-// r_drm_set_usage_report_none
-// 'None' value for 'Allow usage reporting for' field
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_drm_set_usage_report_none
- {
- buf=qtn_drm_set_usage_report_none;
- }
-
-
-//------------------------------------------------------------------------------
-//
-// r_drm_confirmation_query_metering
-// Confirmation query dialog.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_drm_confirmation_query_metering
- {
- flags=EGeneralQueryFlags;
- buttons=R_AVKON_SOFTKEYS_YES_NO__YES;
- items=
- {
- DLG_LINE
- {
- type=EAknCtQuery;
- id=EGeneralQuery;
- control= AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationQueryLayout;
- label = " ";
- };
- }
- };
- }
-
-//------------------------------------------------------------------------------
-//
-// r_drm_conf_query_metering
-// Confirmation query text.
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE TBUF r_drm_conf_query_metering
- {
- buf=qtn_drm_conf_query_metering;
- }
-
-//End of File
--- a/commondrm/drmsettingsplugin/group/drmsettingsplugin.mmp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 2006-2009 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: Project specification file.
-*
-*/
-
-
-#include <data_caging_paths.hrh> // For RESOURCE_FILES_DIR
-#include <platform_paths.hrh>
-
-CAPABILITY CAP_ECOM_PLUGIN
-TARGET drmsettingsplugin.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D 0x102750CC
-VENDORID VID_DEFAULT
-
-
-SOURCEPATH ../src
-SOURCE drmsettingspluginimplementationtable.cpp
-SOURCE drmsettingsplugin.cpp
-SOURCE drmsettingsplugincontainer.cpp
-SOURCE drmsettingsmodel.cpp
-SOURCE drmsettingsusagecheckbox.cpp
-SOURCE drmsettingsusagelist.cpp
-
-//User include paths
-USERINCLUDE ../inc
-USERINCLUDE ../data // For *.rh
-USERINCLUDE ../../../inc // ADo level inc dir
-USERINCLUDE ../../../omadrm/drmengine/roapstorage/inc
-
-//System include paths
-// Default system include paths for middleware layer modules.
-// App layer include path needed for help launcher
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH ../data
-
-START RESOURCE 102750CC.rss
-TARGET drmsettingsplugin.rsc
-END
-
-START RESOURCE drmsettingspluginrsc.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-
-LIBRARY aknskins.lib // for enhanced skinning
-LIBRARY aknskinsrv.lib // for enhanced skinning
-LIBRARY avkon.lib
-LIBRARY bafl.lib
-LIBRARY centralrepository.lib
-LIBRARY commonengine.lib // For RConeResourceLoader
-LIBRARY cone.lib
-LIBRARY ecom.lib
-LIBRARY efsrv.lib
-LIBRARY egul.lib
-LIBRARY eikcoctl.lib
-LIBRARY eikcore.lib
-LIBRARY euser.lib
-LIBRARY featmgr.lib // Feature manager
-LIBRARY flogger.lib // For GSLogger
-LIBRARY gsecomplugin.lib
-LIBRARY gsframework.lib // For base classes
-LIBRARY gslistbox.lib // For CGSListBoxItemTextArray
-LIBRARY hlplch.lib // for "Help" options menu
-LIBRARY drmserverinterfaces.lib // Roap storage
-LIBRARY charconv.lib
-
-SMPSAFE
-// End of File
--- a/commondrm/drmsettingsplugin/inc/drmsettingsmodel.h Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
-* Copyright (c) 2006-2007 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: DRMSettinsPlugin model.
-*
-*/
-
-#ifndef DRMSETTINGSMODEL_H
-#define DRMSETTINGSMODEL_H
-
-// INCLUDES
-#include <centralrepository.h>
-#include <e32property.h>
-#include "RoapStorageClient.h"
-
-// FORWARD DECLARATIONS
-class CDRMRIContext;
-
-// CONSTANTS
-const TInt KDRMTransactionTrackingDisabled = 0;
-const TInt KDRMTransactionTrackingEnabled = 1;
-
-const TInt KDRMAutomaticActivationNotAllowed = 0;
-const TInt KDRMAutomaticActivationAllowed = 1;
-
-
-// CLASS DEFINITIONS
-
-/**
-* CDRMSettingsModel is the model class of DRMSettingsPlugin.
-* It provides functions to get and set setting values.
-*/
-class CDRMSettingsModel : public CBase
- {
-
- public: // Constructor and destructor
- /**
- * Two-phased constructor
- */
- static CDRMSettingsModel* NewL();
-
- /**
- * Destructor
- */
- ~CDRMSettingsModel();
-
- public: // New
-
- /**
- * Get transaction tracking state
- * @return KDRMTransactionTrackingDisabled
- * KDRMTransactionTrackingEnabled
- */
- TInt TransactionTrackingStateL();
-
- /**
- * Set transaction tracking state
- * @param aValue updated value
- */
- void SetTransactionTrackingStateL( TInt aValue );
-
- /**
- * Get automatic activation state
- * @return KDRMAutomaticActivationNotAllowed
- * KDRMAutomaticActivationAllowed
- */
- TInt AutomaticActivationStateL();
-
- /**
- * Set automatic activation state
- * @param aValue updated value
- */
- void SetAutomaticActivationStateL( TInt aValue );
-
- /**
- * Get usage reporting state
- * @return count of services for which reporting is allowed
- */
- TInt UsageReportingCount();
-
- /**
- * Get RI alias
- *
- * @param aIndex : Index of the RI context
- *
- * @return RI alias name or RI url if no alias available
- */
- HBufC* GetSingleRIAliasL( TInt aIndex );
-
- /**
- * Get the first RI alias, where metering is allowed
- * @return RI alias name or RI url if no alias available
- */
- HBufC* GetFirstAllowedMeteringRIAliasL();
-
- /**
- * Get number of RI contexts
- * @return number of RIContexts
- */
- TInt GetRiContextCount();
-
- /**
- * Get metering status of RI Context
- *
- * @param aIndex : Index of the RI context
- *
- * @return Status of metering
- */
- TBool IsMeteringAllowed( TInt aIndex );
-
- /**
- * Find out if metering is allowed for all RI Contexts
- *
- * @return Status of metering
- */
- TBool IsMeteringAllowedForAll();
-
- /**
- * Sets the value for metering to be enabled or disabled
- *
- * @param aIndex : Index of the RI context
- * @param aIsAllowed : ETrue if set to allowed, EFalse if not allowed
- */
- void SetMeteringStatus( TInt aIndex, TBool aIsAllowed );
-
- /**
- * Save the changes done to RI Contexs
- */
- void SaveMeteringChanges();
-
- private: // Private constructors
-
- /**
- * Default C++ contructor
- */
- CDRMSettingsModel();
-
- /**
- * Symbian OS default constructor
- * @return void
- */
- void ConstructL();
-
- private: // Data
-
- // DRM Settings Central Repository.
- CRepository* iDRMSettingsRepository;
-
- // Roap storage client
- Roap::RRoapStorageClient* iRoapStorageClient;
-
- // List of service providers with which device has been registered
- RPointerArray<CDRMRIContext> iRIContextList;
-
- };
-
-#endif // DRMSETTINGSMODEL_H
-
-// End of File
--- a/commondrm/drmsettingsplugin/inc/drmsettingsplugin.h Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +0,0 @@
-/*
-* Copyright (c) 2006-2007 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: View for DRMSettingsPlugin.
-*
-*/
-
-
-#ifndef DRMSETTINGSPLUGIN_H
-#define DRMSETTINGSPLUGIN_H
-
-// INCLUDES
-#include <aknsettingpage.h>
-#include <ConeResLoader.h>
-#include <gsplugininterface.h>
-#include <gsfwviewuids.h>
-#include <gsbaseview.h>
-#include <eikmenup.h>
-
-#include "drmsettingsplugincontainer.h"
-
-//CONSTANTS
-const TUid KDRMSettingsPluginUid = { 0x1020750CC };
-
-// Listbox item indexes of the transcaction tracking setting items
-const TInt KDRMTTItemIndexDisabled = 1;
-const TInt KDRMTTItemIndexEnabled = 0;
-
-// Listbox item indexes of the automatic activation setting items
-const TInt KDRMAAItemIndexDisabled = 1;
-const TInt KDRMAAItemIndexEnabled = 0;
-
-// FORWARD DECLARATIONS
-class CAknViewAppUi;
-class CDRMSettingsPluginContainer;
-class CDRMSettingsModel;
-
-// CLASS DECLARATION
-
-/**
-* CDRMSettingsPlugin view class
-*
-* View class for DRM Settings plugin
-*/
-class CDRMSettingsPlugin : public CGSBaseView
- {
-
- public: // Constructors and destructor
-
- /**
- * Symbian OS two-phased constructor
- * @return connection view.
- */
- static CDRMSettingsPlugin* NewL( TAny* aInitParams );
-
- /**
- * Destructor.
- */
- ~CDRMSettingsPlugin();
-
- private:
- /**
- * Symbian OS default constructor.
- *
- */
- void ConstructL();
-
- /**
- * C++ default constructor.
- */
- CDRMSettingsPlugin();
-
- public: // from CAknView
-
- /**
- * Returns view id.
- * @return An unsigned integer (view id).
- */
- TUid Id() const;
-
- public: // from MEikCommandObserver
-
- /**
- * Handles commands.
- * @param aCommand Command to be handled.
- *
- */
- void HandleCommandL( TInt aCommand );
-
- public: //new
-
- /**
- * Updates listbox's item's value.
- * @param aItemId An item which is updated.
- *
- */
- void UpdateListBoxL( TInt aItemId );
-
- public: // From CGSPluginInterface
-
- /**
- * @see CGSPluginInterface header file.
- */
- void GetCaptionL( TDes& aCaption ) const;
-
- /**
- * @see CGSPluginInterface header file.
- */
- TInt PluginProviderCategory() const;
-
- /**
- * @see CGSPluginInterface header file.
- */
- TBool Visible() const;
-
- private: // from CGSBaseView
- //
- void NewContainerL();
- //
- void HandleListBoxSelectionL();
-
- private: // new
-
- /**
- * Update transaction tracking setting
- */
- void UpdateTransactionTrackingSettingL( TBool aShowSettingPage );
-
- /**
- * Update automatic activation setting
- */
- void UpdateAutomaticActivationSettingL( TBool aShowSettingPage );
-
- /**
- * Update usage reporting setting
- */
- void UpdateUsageReportingSettingL();
-
- /**
- * Delete WMDRM license store
- */
- void DoWMDRMLicenseDeletionL();
-
- /**
- * Display setting page
- * @param aTTState Current state. This will be updated.
- * @return ETrue if value is updated.
- * EFalse if value is not updated.
- */
- TBool ShowTransactionTrackingSettingPageL( TInt& aTTState );
-
- /**
- * Display setting page
- * @param aAAState Current state. This will be updated.
- * @return ETrue if value is updated.
- * EFalse if value is not updated.
- */
- TBool ShowAutomaticActivationSettingPageL( TInt& aAAState );
-
- /**
- * Get DRMSettingsPlugin's ccontainer.
- */
- CDRMSettingsPluginContainer* Container();
-
- protected: // From MEikMenuObserver
-
- void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
- private: // data
- //resource loader
- RConeResourceLoader iResourceLoader;
-
- TBool iWmdrmSupported;
-
- // Oma drm 2 run-time support
- TBool iOmadrm2Supported;
-
- };
-
-#endif //DRMSETTINGSPLUGIN_H
-
-// End of File
-
--- a/commondrm/drmsettingsplugin/inc/drmsettingsplugin.hrh Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2006-2007 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: Contains common definitions for menu id:s
-*
-*/
-
-
-#ifndef DRMSETTINGSPLUGIN_HRH
-#define DRMSETTINGSPLUGIN_HRH
-
-
-enum TSettingId
- {
- EDRMSettingsIdAutomaticActivation,
- EDRMSettingsIdUsageReporting,
- EDRMSettingsIdTransactionTracking,
- EDRMSettingsIdWMDRMLicenseDeletion
- };
-
-enum TMenuCmd
- {
- EDRMSettingsCmdAppChange = 1,
- EDRMSettingsCmdAppChangeMSK
- };
-
-enum TListBoxItemVisibility
- {
- EDRMSettingsListBoxItemTypeIsAlwaysVisible = 0,
- EDRMSettingsListBoxItemTypeIsDynamic
- };
-
-#endif // DRMSETTINGSPLUGIN_HRH
-
-//End of File
-
--- a/commondrm/drmsettingsplugin/inc/drmsettingsplugin.rh Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2006 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: Contains common declarations for resources.
-* The file can be included only in resource file.
-*
-*/
-
-#ifndef DRMSETTINGSPLUGIN_RH
-#define DRMSETTINGSPLUGIN_RH
-
-
-// Global definitions
-
-
-// ---------------------------------------------------------
-// drm_settings_feature_array
-// Defines a structure to contain information about items
-// to be able to included in the listbox.
-// ---------------------------------------------------------
-//
-STRUCT DRM_SETTINGS_FEATURE_ARRAY
- {
- STRUCT items[];
- }
-
-// ---------------------------------------------------------
-// drm_settings_feature
-// Defines a structure that contains information about
-// a single listbox item.
-// ---------------------------------------------------------
-//
-STRUCT DRM_SETTINGS_FEATURE
- {
- LTEXT txt = "";
- WORD item = -1;
- BYTE type = EDRMSettingsListBoxItemTypeIsAlwaysVisible;
- }
-
-#endif // DRMSETTINGSPLUGIN_RH
-// End of File
--- a/commondrm/drmsettingsplugin/inc/drmsettingsplugincontainer.h Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
-* Copyright (c) 2006-2007 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: Container for DRMSettinsPlugin view.
-*
-*/
-
-
-#ifndef DRMSETTINGSPLUGINCONTAINER_H
-#define DRMSETTINGSPLUGINCONTAINER_H
-
-// INCLUDES
-#include <gsbasecontainer.h>
-
-// FORWARD DECLARATIONS
-class CGSListBoxItemTextArray;
-class CDRMSettingsModel;
-
-// CLASS DECLARATION
-
-/**
-* CDRMSettingsPluginContainer container class
-* @since Series 60_3.1
-*
-* Container class for DRM Settings view
-*/
-class CDRMSettingsPluginContainer : public CGSBaseContainer
- {
-
- public: // Constructors and destructor
-
- /**
- * Symbian OS constructor.
- * @param aRect Listbox's rect.
- */
- void ConstructL( const TRect& aRect );
-
- CDRMSettingsPluginContainer( TBool aWmdrmSupported,
- TBool aOmadrmSupported );
-
- /**
- * Destructor.
- */
- ~CDRMSettingsPluginContainer();
-
- public: // new
-
- /**
- * Updates listbox's item's value.
- * @param aFeatureId An item which is updated.
- */
- void UpdateListBoxL( TInt aFeatureId );
-
- /**
- * Retrieves the currently selected listbox feature id
- * @return feature id.
- */
- TInt CurrentFeatureId() const;
-
- /**
- * @return Model for the plugin.
- */
- CDRMSettingsModel* Model();
-
- protected: // from CGSBaseContainer
-
- /**
- * See base class.
- */
- void ConstructListBoxL( TInt aResLbxId );
-
- private: // new
-
- void CreateListBoxItemsL();
- void MakeTransactionTrackingItemL();
- void MakeAutomaticActivationItemL();
- void MakeUsageReportingItemL();
- void MakeWMDRMLicenseDeletionItemL();
-
- private:
-
- /**
- * Required for help.
- */
- void GetHelpContext( TCoeHelpContext& aContext ) const;
-
- private: // data
-
- // GS listbox item array
- CGSListBoxItemTextArray* iListboxItemArray;
-
- // Model for DRMSettingsPlugin.
- CDRMSettingsModel* iModel;
-
- TBool iWmdrmSupported;
-
- // Oma drm 2 is configured to be supported.
- TBool iOmadrm2Supported;
-
- };
-
-#endif //DRMSETTINGSPLUGINCONTAINER_H
-
-// End of File
--- a/commondrm/drmsettingsplugin/inc/drmsettingsusagecheckbox.h Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 2007 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: CheckBox class for Usage Reporting settings
-*
-*/
-
-
-#ifndef C_DRMSETTINGSUSAGECHECKBOX_H
-#define C_DRMSETTINGSUSAGECHECKBOX_H
-
-// INCLUDES
-#include <akncheckboxsettingpage.h>
-#include <aknsettingpage.h>
-
-// FORWARD DECLARATIONS
-class CDRMSettingUsageList;
-class CDRMSettingsModel;
-class CAknInfoPopupNoteController;
-class CDRMSettingsPlugin;
-
-/**
- * CDrmSettingUsageCheckBox class
- */
-NONSHARABLE_CLASS( CDrmSettingUsageCheckBox ) : public CAknCheckBoxSettingPage
- {
-
- public: // New functions
-
- /**
- * C++ default constructor.
- */
- CDrmSettingUsageCheckBox( TInt aResourceId,
- CDRMSettingUsageList* aList,
- CDRMSettingsModel* aModel,
- CDRMSettingsPlugin* aPlugin );
-
- /**
- * Destructor.
- */
- virtual ~CDrmSettingUsageCheckBox();
-
- private: // From CAknSettingPage
-
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType );
-
- void DynamicInitL();
-
- TBool OkToExitL(TBool aAccept);
-
- void AcceptSettingL();
-
- private: // New functions
-
- void ShowInfoPopupL();
-
- private: // Data
-
- // Not owned
- CDRMSettingUsageList* iList;
-
- // Not owned
- CDRMSettingsModel* iModel;
-
- // Owned
- CAknInfoPopupNoteController* iPopupController;
-
- // Pointer to CDrmSettingsPlugin instance
- CDRMSettingsPlugin* iDrmSettingsPlugin;
-
- };
-
-#endif // C_DRMSETTINGSUSAGECHECKBOX_H
--- a/commondrm/drmsettingsplugin/inc/drmsettingsusagelist.h Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2007 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: List class for Usage Reporting checkbox
-*
-*/
-
-
-#ifndef C_DRMSETTINGSUSAGELIST_H
-#define C_DRMSETTINGSUSAGELIST_H
-
-// INCLUDES
-#include <akncheckboxsettingpage.h>
-
-// FORWARD DECLARATIONS
-class CDRMSettingsModel;
-
-/**
- * CDRMSettingUsageList class
- */
-NONSHARABLE_CLASS( CDRMSettingUsageList ) : public CSelectionItemList
- {
-
- public: // New functions
-
- /**
- * Two-phased constructor.
- */
- static CDRMSettingUsageList* NewL( CDRMSettingsModel* aModel );
-
- /**
- * Destructor.
- */
- virtual ~CDRMSettingUsageList();
-
- /**
- * Updates contexts
- */
- void UpdateContexts();
-
- private:
-
- /**
- * Default constructor.
- */
- CDRMSettingUsageList( CDRMSettingsModel* aModel );
-
- /**
- * Symbian OS constructor.
- */
- void ConstructL();
-
- private: // Data
-
- // Not owned
- CDRMSettingsModel* iModel;
-
- };
-
-#endif // C_DRMSETTINGSUSAGELIST_H
\ No newline at end of file
--- a/commondrm/drmsettingsplugin/src/drmsettingsmodel.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,315 +0,0 @@
-/*
-* Copyright (c) 2006-2007 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: Model for DRMSettinsPlugin.
-*
-*/
-
-
-// INCLUDE FILES
-#include <utf.h>
-#include <commdb.h>
-#include <featmgr.h>
-
-#include "drmsettingsmodel.h"
-#include "drmsettingsplugininternalcrkeys.h"
-#include "DRMRIContext.h"
-
-// CONSTANTS
-#ifdef _DEBUG
-// debug panic
-_LIT( KDRMSettingsDebugPanicMessage, "DrmSettingsDebugPanic" );
-const TInt KDRMSettingsDebugPanicCode( 1 );
-#endif
-
-// ================= MEMBER FUNCTIONS =======================
-
-
-// ----------------------------------------------------------------------------
-// CDRMSettingsModel::NewL
-//
-// EPOC two-phased constructor
-// ----------------------------------------------------------------------------
-//
-CDRMSettingsModel* CDRMSettingsModel::NewL()
- {
- CDRMSettingsModel* self = new( ELeave ) CDRMSettingsModel;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CDRMSettingsModel::CDRMSettingsModel
-//
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ----------------------------------------------------------------------------
-//
-CDRMSettingsModel::CDRMSettingsModel()
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CDRMSettingsModel::ConstructL
-//
-// EPOC default constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CDRMSettingsModel::ConstructL()
- {
- // create an instance of Central Repository
- iDRMSettingsRepository = CRepository::NewL( KCRUidDRMSettings );
-
-#ifdef RD_DRM_METERING
-
- // Create an instance of roap storage client
- iRoapStorageClient = new (ELeave) Roap::RRoapStorageClient;
-
- // Connect to server
- User::LeaveIfError( iRoapStorageClient->Connect() );
-
- // Fill the list
- iRoapStorageClient->GetAllRIContextsL( iRIContextList );
-
-#endif // RD_DRM_METERING
-
- }
-
-
-// ----------------------------------------------------------------------------
-// CDRMSettingsModel::~CDRMSettingsModel
-//
-// Destructor
-// ----------------------------------------------------------------------------
-//
-CDRMSettingsModel::~CDRMSettingsModel()
- {
- if ( iDRMSettingsRepository )
- {
- delete iDRMSettingsRepository;
- }
- if ( iRoapStorageClient )
- {
- iRoapStorageClient->Close();
- delete iRoapStorageClient;
- }
-
- iRIContextList.ResetAndDestroy();
- iRIContextList.Close();
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsModel::SetTransactionTrackingStateL()
-//
-// Set transaction tracking state
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsModel::SetTransactionTrackingStateL( TInt aValue )
- {
- User::LeaveIfError( iDRMSettingsRepository->
- Set( KDRMSettingsTransactionTracking,
- aValue ) );
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsModel::TransactionTrackingStateL()
-//
-// Get transaction tracking state
-// ---------------------------------------------------------------------------
-//
-TInt CDRMSettingsModel::TransactionTrackingStateL()
- {
- TInt value( KErrNone );
-
- User::LeaveIfError( iDRMSettingsRepository->Get(
- KDRMSettingsTransactionTracking,
- value ) );
-
- return value;
- }
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsModel::SetAutomaticActivationStateL()
-//
-// Set automatic activation state
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsModel::SetAutomaticActivationStateL( TInt aValue )
- {
- User::LeaveIfError( iDRMSettingsRepository->
- Set( KDRMSettingsSilentRightsAcquisition,
- aValue ) );
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsModel::AutomaticActivationStateL()
-//
-// Get automatic activation state
-// ---------------------------------------------------------------------------
-//
-TInt CDRMSettingsModel::AutomaticActivationStateL()
- {
- TInt value( KErrNone );
-
- User::LeaveIfError( iDRMSettingsRepository->Get(
- KDRMSettingsSilentRightsAcquisition,
- value ) );
-
- return value;
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsModel::UsageReportingCount()
-//
-// Get usage reporting state. Return count of allowed services.
-// ---------------------------------------------------------------------------
-//
-TInt CDRMSettingsModel::UsageReportingCount()
- {
- TInt count( 0 );
-
- for ( TInt i( 0 ); i < iRIContextList.Count(); i++ )
- {
- if ( iRIContextList[i]->IsMeteringAllowed() )
- {
- count++;
- }
- }
-
- return count;
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsModel::GetSingleRIAliasL()
-// ---------------------------------------------------------------------------
-//
-HBufC* CDRMSettingsModel::GetSingleRIAliasL( TInt aIndex )
- {
- __ASSERT_DEBUG( aIndex >= 0 ||
- aIndex < iRIContextList.Count(),
- User::Panic( KDRMSettingsDebugPanicMessage,
- KDRMSettingsDebugPanicCode ) );
-
- HBufC* alias( NULL );
-
- if ( &iRIContextList[aIndex]->RIAlias() )
- {
- alias =
- CnvUtfConverter::ConvertToUnicodeFromUtf8L(
- iRIContextList[aIndex]->RIAlias() );
- }
- else
- {
- alias =
- CnvUtfConverter::ConvertToUnicodeFromUtf8L(
- iRIContextList[aIndex]->RightsIssuerURL() );
- }
-
- return alias;
- }
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsModel::GetFirstAllowedMeteringRIAliasL()
-// ---------------------------------------------------------------------------
-//
-HBufC* CDRMSettingsModel::GetFirstAllowedMeteringRIAliasL()
- {
- for ( TInt i( 0 ); i < iRIContextList.Count(); i++ )
- {
- if( IsMeteringAllowed( i ) )
- {
- return GetSingleRIAliasL( i );
- }
- }
- return NULL;
- }
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsModel::GetRiContextCount()
-// ---------------------------------------------------------------------------
-//
-TInt CDRMSettingsModel::GetRiContextCount()
- {
- return iRIContextList.Count();
- }
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsModel::IsMeteringAllowed()
-// ---------------------------------------------------------------------------
-//
-TBool CDRMSettingsModel::IsMeteringAllowed( TInt aIndex )
- {
- __ASSERT_DEBUG( aIndex >= 0 ||
- aIndex < iRIContextList.Count(),
- User::Panic( KDRMSettingsDebugPanicMessage,
- KDRMSettingsDebugPanicCode ) );
-
- return iRIContextList[aIndex]->IsMeteringAllowed();
- }
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsModel::IsMeteringAllowedForAll()
-// ---------------------------------------------------------------------------
-//
-TBool CDRMSettingsModel::IsMeteringAllowedForAll()
- {
- TBool isAllowed( ETrue );
-
- for ( TInt i( 0 ); i < iRIContextList.Count() && isAllowed; i++ )
- {
- if( !IsMeteringAllowed( i ) )
- {
- isAllowed = EFalse;
- }
- }
-
- return isAllowed;
- }
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsModel::SetMeteringStatus()
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsModel::SetMeteringStatus( TInt aIndex, TBool aIsAllowed )
- {
- __ASSERT_DEBUG( aIndex >= 0 ||
- aIndex < iRIContextList.Count(),
- User::Panic( KDRMSettingsDebugPanicMessage,
- KDRMSettingsDebugPanicCode ) );
-
- iRIContextList[aIndex]->SetMeteringStatus( aIsAllowed );
- }
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsModel::SaveMeteringChanges()
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsModel::SaveMeteringChanges()
- {
- for ( TInt i( 0 ); i < iRIContextList.Count(); i++ )
- {
- TRAP_IGNORE(
- iRoapStorageClient->UpdateRIContextL( *iRIContextList[i] ) );
- }
- }
-
-// End of File
--- a/commondrm/drmsettingsplugin/src/drmsettingsplugin.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,750 +0,0 @@
-/*
-* Copyright (c) 2006-2007 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: View for DRMSettinsPlugin
-*
-*/
-
-
-// INCLUDE FILES
-#include <coeaui.h>
-#include <hlplch.h> // For HlpLauncher
-#include <bautils.h>
-#include <eikfrlbd.h>
-#include <featmgr.h>
-#include <StringLoader.h>
-#include <aknViewAppUi.h>
-#include <aknradiobuttonsettingpage.h>
-#include <gsfwviewuids.h>
-#include <gsprivatepluginproviderids.h>
-#include <gscommon.hrh>
-#include <drmsettingspluginrsc.rsg>
-
-#include "drmsettingsplugin.h"
-#include "drmsettingsplugincontainer.h"
-#include "drmsettingsplugin.hrh"
-#include "drmsettingsmodel.h"
-#include "drmsettingsusagecheckbox.h"
-#include "drmsettingsusagelist.h"
-#include "wmdrmpkclientwrapper.h"
-
-// CONSTANTS
-_LIT( KDRMSettingsPluginResourceFileName, "z:drmsettingspluginrsc.rsc" );
-
-
-// ============================= LOCAL FUNCTIONS ==============================
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ----------------------------------------------------------------------------
-// CDRMSettingsPlugin::CDRMSettingsPlugin()
-//
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CDRMSettingsPlugin::CDRMSettingsPlugin()
- : iResourceLoader( *iCoeEnv )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPlugin::NewL()
-//
-// Symbian OS default constructor
-// ---------------------------------------------------------------------------
-CDRMSettingsPlugin* CDRMSettingsPlugin::NewL( TAny* /*aInitParams*/ )
- {
- CDRMSettingsPlugin* self = new( ELeave ) CDRMSettingsPlugin;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPlugin::ConstructL()
-//
-// Symbian OS two-phased constructor
-// ---------------------------------------------------------------------------
-void CDRMSettingsPlugin::ConstructL()
- {
- FeatureManager::InitializeLibL();
-
- if ( FeatureManager::FeatureSupported( KFeatureIdWindowsMediaDrm ) )
- {
- iWmdrmSupported = ETrue;
- }
-
- if ( FeatureManager::FeatureSupported( KFeatureIdFfOmadrm2Support ) )
- {
- iOmadrm2Supported = ETrue;
- }
- else
- {
- iOmadrm2Supported = EFalse;
- }
-
- // Find the resource file
- TParse parse;
- parse.Set( KDRMSettingsPluginResourceFileName,
- &KDC_RESOURCE_FILES_DIR,
- NULL );
- TFileName fileName( parse.FullName() );
-
- // Get language of resource file
- BaflUtils::NearestLanguageFile( iCoeEnv->FsSession(), fileName );
-
- // Open resource file
- iResourceLoader.OpenL( fileName );
-
- BaseConstructL( R_DRM_SETTINGS_VIEW );
-
- }
-
-
-// ----------------------------------------------------------------------------
-// CDRMSettingsPlugin::~CDRMSettingsPlugin
-//
-// Destructor
-// ----------------------------------------------------------------------------
-CDRMSettingsPlugin::~CDRMSettingsPlugin()
- {
- FeatureManager::UnInitializeLib();
- iResourceLoader.Close();
- }
-
-
-// ---------------------------------------------------------------------------
-// TUid CDRMSettingsPlugin::Id()
-//
-// Returns view's ID.
-// ---------------------------------------------------------------------------
-TUid CDRMSettingsPlugin::Id() const
- {
- return KDRMSettingsPluginUid;
- }
-
-
-// ========================= From CGSPluginInterface ==================
-
-// ----------------------------------------------------------------------------
-// CDRMSettingsPlugin::GetCaption
-//
-// Return application/view caption.
-// ----------------------------------------------------------------------------
-//
-void CDRMSettingsPlugin::GetCaptionL( TDes& aCaption ) const
- {
- // the resource file is already opened.
- HBufC* result( StringLoader::LoadL( R_DRM_SETTINGS_VIEW_CAPTION ) );
- aCaption.Copy( *result );
- delete result;
- }
-
-
-// ----------------------------------------------------------------------------
-// CDRMSettingsPlugin::PluginProviderCategory
-//
-// A means to identify the location of this plug-in in the framework.
-// ----------------------------------------------------------------------------
-//
-TInt CDRMSettingsPlugin::PluginProviderCategory() const
- {
- //To identify internal plug-ins.
- return KGSPluginProviderInternal;
- }
-
-
-// ----------------------------------------------------------------------------
-// CDRMSettingsPlugin::Visible
-//
-// Provides the visibility status of self to framework.
-// ----------------------------------------------------------------------------
-//
-TBool CDRMSettingsPlugin::Visible() const
- {
- TBool visible( EFalse );
-
- // The plugin is visible if __DRM_OMA2 or __WINDOWS_MEDIA_DRM are enabled.
- if( FeatureManager::FeatureSupported( KFeatureIdDrmOma2 ) ||
- FeatureManager::FeatureSupported( KFeatureIdWindowsMediaDrm ) )
- {
- visible = ETrue;
- }
-
- return visible;
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPlugin::HandleCommandL(TInt aCommand)
-//
-// Handles commands directed to this class.
-// ---------------------------------------------------------------------------
-void CDRMSettingsPlugin::HandleCommandL( TInt aCommand )
- {
- switch ( aCommand )
- {
- case EDRMSettingsCmdAppChangeMSK:
- {
- const TInt currentFeatureId( Container()->CurrentFeatureId() );
-
- switch ( currentFeatureId )
- {
-#ifdef __DRM_OMA2
- case EDRMSettingsIdTransactionTracking:
- if ( iOmadrm2Supported )
- {
- UpdateTransactionTrackingSettingL( EFalse );
- }
- break;
-
-#ifdef RD_DRM_SILENT_RIGHTS_ACQUISITION
- case EDRMSettingsIdAutomaticActivation:
- if ( iOmadrm2Supported )
- {
- UpdateAutomaticActivationSettingL( EFalse );
- }
- break;
-#endif // RD_DRM_SILENT_RIGHTS_ACQUISITION
-
-#ifdef RD_DRM_METERING
- case EDRMSettingsIdUsageReporting:
- if ( iOmadrm2Supported )
- {
- UpdateUsageReportingSettingL();
- }
- break;
-#endif // RD_DRM_METERING
-#endif // __DRM_OMA2
-
- case EDRMSettingsIdWMDRMLicenseDeletion:
-
- if ( iWmdrmSupported )
- {
- DoWMDRMLicenseDeletionL();
- }
-
- break;
-
- default:
-
- break;
- }
-
- break;
- }
- case EDRMSettingsCmdAppChange:
- {
- const TInt currentFeatureId( Container()->CurrentFeatureId() );
-
- switch ( currentFeatureId )
- {
-#ifdef __DRM_OMA2
- case EDRMSettingsIdTransactionTracking:
- if ( iOmadrm2Supported )
- {
- UpdateTransactionTrackingSettingL( ETrue );
- }
- break;
-#ifdef RD_DRM_SILENT_RIGHTS_ACQUISITION
- case EDRMSettingsIdAutomaticActivation:
- if ( iOmadrm2Supported )
- {
- UpdateAutomaticActivationSettingL( ETrue );
- }
- break;
-#endif // RD_DRM_SILENT_RIGHTS_ACQUISITION
-
-#ifdef RD_DRM_METERING
- case EDRMSettingsIdUsageReporting:
- if ( iOmadrm2Supported )
- {
- UpdateUsageReportingSettingL();
- }
- break;
-#endif // RD_DRM_METERING
-#endif // __DRM_OMA2
-
- case EDRMSettingsIdWMDRMLicenseDeletion:
-
- if ( iWmdrmSupported )
- {
- DoWMDRMLicenseDeletionL();
- }
-
- break;
-
- default:
-
- break;
- }
- break;
- }
- case EAknSoftkeyBack:
-
- iAppUi->ActivateLocalViewL( KGSSecurityPluginUid );
-
- break;
-
- case EAknCmdHelp:
- {
-
- if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- HlpLauncher::LaunchHelpApplicationL(
- iEikonEnv->WsSession(),
- iAppUi->AppHelpContextL() );
- }
-
- break;
-
- }
- default:
-
- iAppUi->HandleCommandL( aCommand );
-
- break;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPlugin::UpdateListBoxL
-//
-// Updates listbox items.
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPlugin::UpdateListBoxL( TInt aItemId )
- {
- Container()->UpdateListBoxL( aItemId );
- }
-
-
-// ----------------------------------------------------------------------------
-// CDRMSettingsPlugin::Container
-//
-// Return handle to container class.
-// ----------------------------------------------------------------------------
-//
-CDRMSettingsPluginContainer* CDRMSettingsPlugin::Container()
- {
- return static_cast<CDRMSettingsPluginContainer*>( iContainer );
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPlugin::NewContainerL()
-//
-// Creates new iContainer.
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPlugin::NewContainerL()
- {
- iContainer = new( ELeave ) CDRMSettingsPluginContainer( iWmdrmSupported,
- iOmadrm2Supported );
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPlugin::HandleListBoxSelectionL()
-//
-// Handles events raised through a rocker key. Checks the run-time support of
-// Oma Drm 2 when needed.
-// ---------------------------------------------------------------------------
-void CDRMSettingsPlugin::HandleListBoxSelectionL()
- {
- const TInt currentFeatureId( Container()->CurrentFeatureId() );
-
- switch ( currentFeatureId )
- {
-#ifdef __DRM_OMA2
- case EDRMSettingsIdTransactionTracking:
- if ( iOmadrm2Supported )
- {
- UpdateTransactionTrackingSettingL( EFalse );
- }
- break;
-#ifdef RD_DRM_SILENT_RIGHTS_ACQUISITION
- case EDRMSettingsIdAutomaticActivation:
- if ( iOmadrm2Supported )
- {
- UpdateAutomaticActivationSettingL( EFalse );
- }
- break;
-#endif // RD_DRM_SILENT_RIGHTS_ACQUISITION
-
-#ifdef RD_DRM_METERING
- case EDRMSettingsIdUsageReporting:
- if ( iOmadrm2Supported )
- {
- UpdateUsageReportingSettingL();
- }
- break;
-#endif // RD_DRM_METERING
-#endif // __DRM_OMA2
-
- case EDRMSettingsIdWMDRMLicenseDeletion:
-
- if ( iWmdrmSupported )
- {
- DoWMDRMLicenseDeletionL();
- }
-
- break;
-
- default:
-
- break;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPlugin::UpdateTransactionTrackingSettingL
-//
-// Display Transaction tracking setting page.
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPlugin::UpdateTransactionTrackingSettingL( TBool aShowSettingPage )
- {
- if( FeatureManager::FeatureSupported( KFeatureIdDrmOma2 ) )
- {
- TInt currentValue( Container()->Model()->TransactionTrackingStateL() );
- TBool isValueUpdated( EFalse );
-
- if ( aShowSettingPage )
- {
- isValueUpdated = ShowTransactionTrackingSettingPageL( currentValue );
- }
- else
- {
- switch ( currentValue )
- {
- case KDRMTransactionTrackingDisabled:
-
- currentValue = KDRMTransactionTrackingEnabled;
-
- break;
-
- case KDRMTransactionTrackingEnabled:
-
- currentValue = KDRMTransactionTrackingDisabled;
-
- break;
-
- default:
-
- break;
- }
- isValueUpdated = ETrue;
- }
- // If value is updated, store it to model:
- if ( isValueUpdated )
- {
- Container()->Model()->SetTransactionTrackingStateL( currentValue );
- UpdateListBoxL( EDRMSettingsIdTransactionTracking );
- }
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPlugin::ShowTransactionTrackingSettingPageL()
-//
-// Display transaction tracking setting page. Selected listbox item index
-// must be mapped to transaction tracking state because index value is
-// different from state value.
-// ---------------------------------------------------------------------------
-//
-TBool CDRMSettingsPlugin::ShowTransactionTrackingSettingPageL(
- TInt& aTTState )
- {
- // in case DRM Phase 2 is not supported, return EFalse.
- TBool isValueUpdated( EFalse );
- TInt selectedTTItemIndex( 0 );
- TInt originalTTState( aTTState );
-
- // Set selected listbox item to current transaction tracking state:
- switch ( aTTState )
- {
- case KDRMTransactionTrackingDisabled:
-
- selectedTTItemIndex = KDRMTTItemIndexDisabled;
-
- break;
-
- case KDRMTransactionTrackingEnabled:
-
- selectedTTItemIndex = KDRMTTItemIndexEnabled;
-
- break;
- }
-
- CDesCArrayFlat* items(
- iCoeEnv->ReadDesC16ArrayResourceL( R_TTRACKING_SETTING_PAGE_LBX ) );
- CleanupStack::PushL( items );
- CAknRadioButtonSettingPage* dlg(
- new (ELeave) CAknRadioButtonSettingPage( R_TTRACKING_SETTING_PAGE,
- selectedTTItemIndex,
- items ) );
-
- dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged );
- CleanupStack::PopAndDestroy( items );
-
- // Map selected listbox item to correct state:
- switch ( selectedTTItemIndex )
- {
- case KDRMTTItemIndexDisabled:
-
- aTTState = KDRMTransactionTrackingDisabled;
-
- break;
-
- case KDRMTTItemIndexEnabled:
-
- aTTState = KDRMTransactionTrackingEnabled;
-
- break;
- }
-
- // Check is value updated:
- if( aTTState != originalTTState )
- {
- isValueUpdated = ETrue;
- }
-
- return isValueUpdated;
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPlugin::UpdateAutomaticActivationSettingL
-//
-// Display Automatic activation setting page.
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPlugin::UpdateAutomaticActivationSettingL( TBool aShowSettingPage )
- {
- if( FeatureManager::FeatureSupported( KFeatureIdDrmOma2 ) )
- {
- TInt currentValue( Container()->Model()->AutomaticActivationStateL() );
- TBool isValueUpdated( EFalse );
-
- if ( aShowSettingPage )
- {
- isValueUpdated = ShowAutomaticActivationSettingPageL( currentValue );
- }
- else
- {
- switch ( currentValue )
- {
- case KDRMAutomaticActivationNotAllowed:
-
- currentValue = KDRMAutomaticActivationAllowed;
-
- break;
-
- case KDRMAutomaticActivationAllowed:
-
- currentValue = KDRMAutomaticActivationNotAllowed;
-
- break;
-
- default:
-
- break;
- }
- isValueUpdated = ETrue;
- }
- // If value is updated, store it to model:
- if ( isValueUpdated )
- {
- Container()->Model()->SetAutomaticActivationStateL( currentValue );
- UpdateListBoxL( EDRMSettingsIdAutomaticActivation );
- }
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPlugin::ShowAutomaticActivationSettingPageL()
-//
-// Display Automatic activation setting page. Selected listbox item index
-// must be mapped to automatic activation state because index value is
-// different from state value.
-// ---------------------------------------------------------------------------
-//
-TBool CDRMSettingsPlugin::ShowAutomaticActivationSettingPageL(
- TInt& aAAState )
- {
- // in case DRM Phase 2 is not supported, return EFalse.
- TBool isValueUpdated( EFalse );
- TInt selectedAAItemIndex( 0 );
- TInt originalAAState( aAAState );
-
- // Set selected listbox item to current state:
- switch ( aAAState )
- {
- case KDRMAutomaticActivationNotAllowed:
-
- selectedAAItemIndex = KDRMAAItemIndexDisabled;
-
- break;
-
- case KDRMAutomaticActivationAllowed:
-
- selectedAAItemIndex = KDRMAAItemIndexEnabled;
-
- break;
- }
-
- CDesCArrayFlat* items(
- iCoeEnv->ReadDesC16ArrayResourceL( R_AUTOM_ACTIV_SETTING_PAGE_LBX ) );
- CleanupStack::PushL( items );
- CAknRadioButtonSettingPage* dlg(
- new (ELeave) CAknRadioButtonSettingPage( R_AUTOM_ACTIV_SETTING_PAGE,
- selectedAAItemIndex,
- items ) );
-
- dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged );
- CleanupStack::PopAndDestroy( items );
-
- // Map selected listbox item to correct state:
- switch ( selectedAAItemIndex )
- {
- case KDRMAAItemIndexDisabled:
-
- aAAState = KDRMAutomaticActivationNotAllowed;
-
- break;
-
- case KDRMAAItemIndexEnabled:
-
- aAAState = KDRMAutomaticActivationAllowed;
-
- break;
-
- }
-
- // Check is value updated:
- if( aAAState != originalAAState )
- {
- isValueUpdated = ETrue;
- }
-
- return isValueUpdated;
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPlugin::UpdateUsageReportingSettingL
-//
-// Display Usage Reporting setting page.
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPlugin::UpdateUsageReportingSettingL()
- {
- TBool isValueUpdated( EFalse );
-
- if( FeatureManager::FeatureSupported( KFeatureIdDrmOma2 ) )
- {
- CDRMSettingsModel* model( this->Container()->Model() );
-
- CDRMSettingUsageList* usageList( CDRMSettingUsageList::NewL( model ) );
- CleanupStack::PushL( usageList );
-
- CDrmSettingUsageCheckBox* usageCheckBox(
- new (ELeave) CDrmSettingUsageCheckBox(
- R_DRM_SETTINGS_METERING_CHECKBOX_PAGE,
- usageList,
- model,
- this ) );
-
- isValueUpdated =
- usageCheckBox->ExecuteLD( CAknSettingPage::EUpdateWhenAccepted );
-
- CleanupStack::PopAndDestroy( usageList );
- }
-
- if ( isValueUpdated )
- {
- UpdateListBoxL( EDRMSettingsIdUsageReporting );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPlugin::DoWMDRMLicenseDeletionL
-//
-// Display WMDRM license deletion setting page.
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPlugin::DoWMDRMLicenseDeletionL()
- {
- if ( iWmdrmSupported )
- {
- TInt r = KErrNone;
- RLibrary library;
- r = library.Load( KWmdrmPkClientWrapperName );
- if( !r )
- {
- CleanupClosePushL( library );
- CWmDrmPkClientWrapper* wrapper =
- (CWmDrmPkClientWrapper*)library.Lookup( KWmdrmPkClientNewL )();
- CleanupStack::PushL( wrapper );
- User::LeaveIfError( wrapper->Connect() );
- wrapper->DeleteRights();
- wrapper->Close();
- CleanupStack::PopAndDestroy( 2, &library );
- }
- }
- }
-
-// ----------------------------------------------------------------------------
-// CDRMSettingsPlugin::DynInitMenuPaneL()
-//
-// Display the dynamic menu
-// ----------------------------------------------------------------------------
-void CDRMSettingsPlugin::DynInitMenuPaneL(
- TInt aResourceId,
- CEikMenuPane* aMenuPane )
- {
- // show or hide the 'help' menu item when supported
- if( aResourceId == R_DRM_SETTINGS_MENU_ITEM_EXIT )
- {
- User::LeaveIfNull( aMenuPane );
-
- if( FeatureManager::FeatureSupported( KFeatureIdDrmOma2 ) )
- {
- if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- aMenuPane->SetItemDimmed( EAknCmdHelp, EFalse );
- }
- else
- {
- aMenuPane->SetItemDimmed( EAknCmdHelp, ETrue );
- }
- }
- else
- {
- aMenuPane->SetItemDimmed( EAknCmdHelp, ETrue );
- }
- }
- }
-
-
-
-// End of File
--- a/commondrm/drmsettingsplugin/src/drmsettingsplugincontainer.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,360 +0,0 @@
-/*
-* Copyright (c) 2006-2007 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: Container for DRMSettinsPlugin
-*
-*/
-
-
-// INCLUDE FILES
-#include <aknlists.h>
-#include <AknUtils.h>
-#include <csxhelp/drm.hlp.hrh>
-#include <gslistbox.h>
-#include <StringLoader.h>
-#include <drmsettingspluginrsc.rsg>
-
-#include "drmsettingsplugincontainer.h"
-#include "drmsettingsplugin.hrh"
-#include "drmsettingsmodel.h"
-
-const TUid KUidRightsManager = { 0x101F85C7 };
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPluginContainer::ConstructL()
-//
-// Symbian OS two phased constructor
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPluginContainer::ConstructL( const TRect& aRect )
- {
- iListBox = new( ELeave ) CAknSettingStyleListBox;
- iModel = CDRMSettingsModel::NewL();
-
- if( iOmadrm2Supported )
- {
- BaseConstructL( aRect, R_DRM_SETTINGS_VIEW_TITLE,
- R_DRM_SETTINGS_LBX );
- }
- else
- {
- BaseConstructL( aRect, R_DRM_SETTINGS_VIEW_TITLE,
- R_DRM_SETTINGS_LBX_NO_OMA2 );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPluginContainer::CDRMSettingsPluginContainer()
-//
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CDRMSettingsPluginContainer::CDRMSettingsPluginContainer(
- TBool aWmdrmSupported,
- TBool aOmadrm2Supported ) : iWmdrmSupported( aWmdrmSupported ),
- iOmadrm2Supported( aOmadrm2Supported )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPluginContainer::~CDRMSettingsPluginContainer()
-//
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CDRMSettingsPluginContainer::~CDRMSettingsPluginContainer()
- {
- if ( iModel )
- {
- delete iModel;
- }
- // delete listbox item array
- if ( iListboxItemArray )
- {
- delete iListboxItemArray;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPluginContainer::ConstructListBoxL()
-//
-// Construct the listbox from resource array.
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPluginContainer::ConstructListBoxL( TInt aResLbxId )
- {
- iListBox->ConstructL( this, EAknListBoxSelectionList /* |
- EAknListBoxItemSpecificMenuDisabled */ );
- iListboxItemArray = CGSListBoxItemTextArray::NewL( aResLbxId,
- *iListBox,
- *iCoeEnv );
- iListBox->Model()->SetItemTextArray( iListboxItemArray );
- iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
- CreateListBoxItemsL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPluginContainer::CreateListBoxItemsL()
-//
-// Create listbox items.
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPluginContainer::CreateListBoxItemsL()
- {
-#ifdef __DRM_OMA2
- if( iOmadrm2Supported )
- {
- MakeTransactionTrackingItemL();
-
-#ifdef RD_DRM_SILENT_RIGHTS_ACQUISITION
- MakeAutomaticActivationItemL();
-#endif // RD_DRM_SILENT_RIGHTS_ACQUISITION
-
-#ifdef RD_DRM_METERING
- MakeUsageReportingItemL();
-#endif // RD_DRM_METERING
- }
-#endif // __DRM_OMA2
-
-
- MakeWMDRMLicenseDeletionItemL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPluginContainer::UpdateListBoxL()
-//
-// Update listbox item.
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPluginContainer::UpdateListBoxL( TInt aFeatureId )
- {
- switch( aFeatureId )
- {
-#ifdef __DRM_OMA2
- case EDRMSettingsIdTransactionTracking:
- if( iOmadrm2Supported )
- {
- MakeTransactionTrackingItemL();
- }
- break;
-
-#ifdef RD_DRM_SILENT_RIGHTS_ACQUISITION
- case EDRMSettingsIdAutomaticActivation:
- if( iOmadrm2Supported )
- {
- MakeAutomaticActivationItemL();
- }
- break;
-#endif // RD_DRM_SILENT_RIGHTS_ACQUISITION
-
-#ifdef RD_DRM_METERING
- case EDRMSettingsIdUsageReporting:
- if( iOmadrm2Supported )
- {
- MakeUsageReportingItemL();
- }
- break;
-#endif // RD_DRM_METERING
-#endif // __DRM_OMA2
-
- case EDRMSettingsIdWMDRMLicenseDeletion:
-
- MakeWMDRMLicenseDeletionItemL();
-
- break;
-
- default:
- break;
- }
-
- iListBox->HandleItemAdditionL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPluginContainer::MakeTransactionTrackingItemL()
-//
-// Create Transaction tracking list item
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPluginContainer::MakeTransactionTrackingItemL()
- {
- HBufC* dynamicText( NULL );
- TInt trxTrState( iModel->TransactionTrackingStateL() );
-
- switch ( trxTrState )
- {
- case KDRMTransactionTrackingEnabled:
- dynamicText = StringLoader::LoadLC( R_DRM_SETTINGS_TTRACKING_ON );
- break;
- default:
- dynamicText = StringLoader::LoadLC( R_DRM_SETTINGS_TTRACKING_OFF );
- break;
- }
-
- TPtr ptrBuffer ( dynamicText->Des() );
-
-
- // Finally, set the dynamic text
- iListboxItemArray->SetDynamicTextL( EDRMSettingsIdTransactionTracking, ptrBuffer );
-
- CleanupStack::PopAndDestroy( dynamicText );
-
- // And add to listbox
- iListboxItemArray->SetItemVisibilityL( EDRMSettingsIdTransactionTracking,
- CGSListBoxItemTextArray::EVisible );
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPluginContainer::MakeAutomaticActivationItemL()
-//
-// Create Automatic activation list item
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPluginContainer::MakeAutomaticActivationItemL()
- {
- TInt automActivState( iModel->AutomaticActivationStateL() );
-
- HBufC* dynamicText( NULL );
-
- switch ( automActivState )
- {
- case KDRMTransactionTrackingEnabled:
- dynamicText = StringLoader::LoadLC( R_DRM_SETTINGS_AUTOM_ACTIV_ON );
- break;
- default:
- dynamicText = StringLoader::LoadLC( R_DRM_SETTINGS_AUTOM_ACTIV_OFF );
- break;
- }
-
- TPtr ptrBuffer ( dynamicText->Des() );
-
- // Finally, set the dynamic text
- iListboxItemArray->SetDynamicTextL( EDRMSettingsIdAutomaticActivation,
- ptrBuffer );
-
- CleanupStack::PopAndDestroy( dynamicText );
-
- // And add to listbox
- iListboxItemArray->SetItemVisibilityL( EDRMSettingsIdAutomaticActivation,
- CGSListBoxItemTextArray::EVisible );
- }
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPluginContainer::MakeUsageReportingItemL()
-//
-// Create Usage reporting list item
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPluginContainer::MakeUsageReportingItemL()
- {
- TInt count( iModel->UsageReportingCount() );
-
- HBufC* dynamicText( NULL );
-
- switch ( count )
- {
- case 0:
- dynamicText = StringLoader::LoadL( R_DRM_SET_USAGE_REPORT_NONE );
- break;
- case 1:
- dynamicText = iModel->GetFirstAllowedMeteringRIAliasL();
- break;
- default:
- dynamicText = StringLoader::LoadL( R_DRM_SET_SEVERAL_SERVICES );
- break;
- }
- CleanupStack::PushL( dynamicText );
-
- TPtr ptrBuffer ( dynamicText->Des() );
-
- // Finally, set the dynamic text
- iListboxItemArray->SetDynamicTextL( EDRMSettingsIdUsageReporting,
- ptrBuffer );
-
- CleanupStack::PopAndDestroy( dynamicText );
-
- // And add to listbox
- iListboxItemArray->SetItemVisibilityL( EDRMSettingsIdUsageReporting,
- CGSListBoxItemTextArray::EVisible );
- }
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPluginContainer::MakeWMDRMLicenseDeletionItemL()
-//
-// Create WMDRM license deletion list item
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPluginContainer::MakeWMDRMLicenseDeletionItemL()
- {
- if ( iWmdrmSupported )
- {
- // Add to listbox
- iListboxItemArray->
- SetItemVisibilityL( EDRMSettingsIdWMDRMLicenseDeletion,
- CGSListBoxItemTextArray::EVisible );
- }
- else
- {
- // Add to listbox
- iListboxItemArray->
- SetItemVisibilityL( EDRMSettingsIdWMDRMLicenseDeletion,
- CGSListBoxItemTextArray::EInvisible );
-
- }
- }
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPluginContainer::GetHelpContext() const
-//
-// Gets Help
-// ---------------------------------------------------------------------------
-//
-void CDRMSettingsPluginContainer::GetHelpContext(
- TCoeHelpContext& aContext ) const
- {
- aContext.iMajor = KUidRightsManager;
- aContext.iContext = KSET_HLP_PROTECTED_CONTENT;
- }
-
-
-// ---------------------------------------------------------------------------
-// CDRMSettingsPluginContainer::CurrentFeatureId()
-//
-// Return the feature id of selected listitem
-// ---------------------------------------------------------------------------
-//
-TInt CDRMSettingsPluginContainer::CurrentFeatureId( ) const
- {
- return iListboxItemArray->CurrentFeature();
- }
-
-
-// -----------------------------------------------------------------------------
-// CDRMSettingsPluginContainer::Model()
-//
-//
-// -----------------------------------------------------------------------------
-//
-CDRMSettingsModel* CDRMSettingsPluginContainer::Model()
- {
- return iModel;
- }
-
-// End of File
--- a/commondrm/drmsettingsplugin/src/drmsettingspluginimplementationtable.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2006 - 2009 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: ECOM proxy table for DRMSettinsPlugin
-*
-*/
-
-
-// INCLUDES
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-#include "drmsettingsplugin.h"
-
-
-// CONSTANTS
-const TImplementationProxy KDRMSettingsPluginImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( 0x102750CD, CDRMSettingsPlugin::NewL )
- };
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-//
-// Gate/factory function
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
- TInt& aTableCount )
- {
- aTableCount = sizeof( KDRMSettingsPluginImplementationTable )
- / sizeof( TImplementationProxy );
- return KDRMSettingsPluginImplementationTable;
- }
-
-
-
-// End of File
--- a/commondrm/drmsettingsplugin/src/drmsettingsusagecheckbox.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2007 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: CheckBox class for Usage Reporting settings
-*
-*/
-
-
-// INCLUDE FILES
-#include <StringLoader.h>
-#include <AknQueryDialog.h>
-#include <AknInfoPopupNoteController.h>
-#include <drmsettingspluginrsc.rsg>
-
-#include "drmsettingsusagecheckbox.h"
-#include "drmsettingsusagelist.h"
-#include "drmsettingsmodel.h"
-#include "drmsettingsplugin.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CDrmSettingUsageCheckBox::CDrmSettingUsageCheckBox
-// Default constructor.
-// -----------------------------------------------------------------------------
-//
-CDrmSettingUsageCheckBox::CDrmSettingUsageCheckBox(
- TInt aResourceId,
- CDRMSettingUsageList* aList,
- CDRMSettingsModel* aModel,
- CDRMSettingsPlugin* aPlugin ) : CAknCheckBoxSettingPage( aResourceId, aList ),
- iList( aList ),
- iModel( aModel ),
- iDrmSettingsPlugin( aPlugin )
- {
- }
-
-// ----------------------------------------------------------------------------
-// CDrmSettingUsageCheckBox::~CDrmSettingUsageCheckBox
-//
-// Destructor
-// ----------------------------------------------------------------------------
-//
-CDrmSettingUsageCheckBox::~CDrmSettingUsageCheckBox()
- {
- delete iPopupController;
- }
-
-// -----------------------------------------------------------------------------
-// CDrmSettingUsageCheckBox::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CDrmSettingUsageCheckBox::OfferKeyEventL(
- const TKeyEvent& aKeyEvent,
- TEventCode aType )
- {
- TKeyResponse response( EKeyWasNotConsumed );
- if ( aKeyEvent.iCode != EKeyApplicationF )
- {
- response = this->ListBoxControl()->OfferKeyEventL( aKeyEvent, aType );
- }
-
- if ( aType == EEventKeyUp )
- {
- ShowInfoPopupL();
- }
-
- if ( ( aType == EEventKey ) && ( aKeyEvent.iCode == EKeyEscape ) )
- {
- iDrmSettingsPlugin->HandleCommandL( EEikCmdExit );
- }
-
- return response;
- }
-
-// -----------------------------------------------------------------------------
-// CDrmSettingUsageCheckBox::DynamicInitL
-// -----------------------------------------------------------------------------
-//
-void CDrmSettingUsageCheckBox::DynamicInitL()
- {
- HBufC* emptyText( StringLoader::LoadLC( R_USAGE_REPORTING_LIST_EMPTY,
- iEikonEnv ) );
- this->ListBoxControl()->View()->SetListEmptyTextL( *emptyText );
- CleanupStack::PopAndDestroy( emptyText );
- }
-
-// -----------------------------------------------------------------------------
-// CDrmSettingUsageCheckBox::OkToExitL
-// -----------------------------------------------------------------------------
-//
-TBool CDrmSettingUsageCheckBox::OkToExitL( TBool aAccept )
- {
- TBool exit( ETrue );
-
- if ( aAccept )
- {
- iList->UpdateContexts();
-
- if ( !iModel->IsMeteringAllowedForAll() )
- {
- HBufC* query( StringLoader::LoadLC( R_DRM_CONF_QUERY_METERING,
- iEikonEnv ) );
-
- CAknQueryDialog* queryDialog( CAknQueryDialog::NewL() );
-
- TBool retVal( queryDialog->ExecuteLD( R_DRM_CONFIRMATION_QUERY_METERING,
- *query ) );
- CleanupStack::PopAndDestroy( query );
-
- if ( !retVal )
- {
- exit = EFalse;
- }
- }
- }
-
- return exit;
- }
-
-// -----------------------------------------------------------------------------
-// CDrmSettingUsageCheckBox::AcceptSettingL
-// -----------------------------------------------------------------------------
-//
-void CDrmSettingUsageCheckBox::AcceptSettingL()
- {
- iModel->SaveMeteringChanges();
- }
-
-// -----------------------------------------------------------------------------
-// CDrmSettingUsageCheckBox::ShowInfoPopupL
-// -----------------------------------------------------------------------------
-//
-void CDrmSettingUsageCheckBox::ShowInfoPopupL()
- {
- if ( !iPopupController )
- {
- iPopupController = CAknInfoPopupNoteController::NewL();
- }
- TInt index( this->ListBoxControl()->View()->CurrentItemIndex() );
- if ( index != -1 )
- {
- iPopupController->SetTextL( iList->At(index)->ItemText() );
- iPopupController->ShowInfoPopupNote();
- }
- }
-
-// End of File
--- a/commondrm/drmsettingsplugin/src/drmsettingsusagelist.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2007 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: List class for Usage Reporting checkbox
-*
-*/
-
-
-// INCLUDE FILES
-#include "drmsettingsusagelist.h"
-#include "drmsettingsmodel.h"
-
-// CONSTANTS
-const TInt KDRMSettingsListGranularity( 5 );
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ----------------------------------------------------------------------------
-// CDRMSettingUsageList::NewL
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CDRMSettingUsageList* CDRMSettingUsageList::NewL(
- CDRMSettingsModel* aModel )
- {
- CDRMSettingUsageList* self(
- new( ELeave ) CDRMSettingUsageList( aModel ) );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ----------------------------------------------------------------------------
-// CDRMSettingUsageList::CDRMSettingUsageList
-// Default constructor.
-// ----------------------------------------------------------------------------
-//
-CDRMSettingUsageList::CDRMSettingUsageList( CDRMSettingsModel* aModel )
- : CSelectionItemList( KDRMSettingsListGranularity ), iModel( aModel )
- {
- }
-
-// ----------------------------------------------------------------------------
-// CDRMSettingUsageList::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CDRMSettingUsageList::ConstructL()
- {
- for ( TInt i( 0 ); i < iModel->GetRiContextCount(); i++ )
- {
- HBufC* alias( iModel->GetSingleRIAliasL( i ) );
- CleanupStack::PushL( alias );
- TBool isAllowed( iModel->IsMeteringAllowed( i ) );
- CSelectableItem* selItem( new (ELeave) CSelectableItem( *alias,
- isAllowed ) );
- selItem->ConstructL();
- this->AppendL( selItem );
- CleanupStack::PopAndDestroy( alias );
- }
- }
-
-// ----------------------------------------------------------------------------
-// CDRMSettingUsageList::~CDRMSettingUsageList
-//
-// Destructor
-// ----------------------------------------------------------------------------
-//
-CDRMSettingUsageList::~CDRMSettingUsageList()
- {
- this->ResetAndDestroy();
- }
-
-// ----------------------------------------------------------------------------
-// CDRMSettingUsageList::UpdateContexts
-// ----------------------------------------------------------------------------
-//
-void CDRMSettingUsageList::UpdateContexts()
- {
- for ( TInt i( 0 ); i < iModel->GetRiContextCount(); i++ )
- {
- CSelectableItem* selItem( this->At( i ) );
- iModel->SetMeteringStatus( i, selItem->SelectionStatus() );
- }
- }
-
-// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuidialogs/bwinscw/drmuidialogsu.def Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,5 @@
+EXPORTS
+ ?NewL@CDrmUIDialogs@@SAPAV1@XZ @ 1 NONAME ; class CDrmUIDialogs * CDrmUIDialogs::NewL(void)
+ ?ShowNoteL@CDrmUIDialogs@@QAEHHABVTDesC16@@H@Z @ 2 NONAME ; int CDrmUIDialogs::ShowNoteL(int, class TDesC16 const &, int)
+ ?NewLC@CDrmUIDialogs@@SAPAV1@XZ @ 3 NONAME ; class CDrmUIDialogs * CDrmUIDialogs::NewLC(void)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuidialogs/eabi/drmuidialogsu.def Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,5 @@
+EXPORTS
+ _ZN13CDrmUIDialogs4NewLEv @ 1 NONAME
+ _ZN13CDrmUIDialogs5NewLCEv @ 2 NONAME
+ _ZN13CDrmUIDialogs9ShowNoteLEiRK7TDesC16i @ 3 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuidialogs/group/bld.inf Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 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: Build information for DRM UI dialogs
+*
+*
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+default
+
+PRJ_EXPORTS
+//drmuidialogs iby files
+../rom/drmuidialogs.iby CORE_MW_LAYER_IBY_EXPORT_PATH(drmuidialogs.iby)
+
+PRJ_MMPFILES
+../group/drmuidialogs.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuidialogs/group/drmuidialogs.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 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: Project definition file for DRM UI dialogs
+*
+*/
+
+#include <platform_paths.hrh>
+#include <data_caging_paths.hrh>
+
+
+TARGET drmuidialogs.dll
+TARGETTYPE dll
+UID 0x1000008D 0x20026836
+
+CAPABILITY CAP_GENERAL_DLL
+VENDORID VID_DEFAULT
+
+USERINCLUDE ../inc
+USERINCLUDE ../../../../inc // ADo level inc dir
+
+// Default system include paths for middleware layer modules.
+MW_LAYER_SYSTEMINCLUDE
+
+#ifdef __DRM
+SOURCE ../src/drmuidialogs.cpp
+#endif
+
+LIBRARY euser.lib
+LIBRARY sysutil.lib
+LIBRARY HbCore.lib
+
+#if defined(ARMCC)
+deffile ../eabi/
+#elif defined( WINSCW )
+deffile ../bwinscw/
+#endif
+
+// end of file
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuidialogs/inc/drmuidialogs.h Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 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: CDrmUIDialogs API can be used to show UI dialogs via
+* notification dialog plugin.
+*/
+
+
+#ifndef C_DRMUIDIALOGS_H
+#define C_DRMUIDIALOGS_H
+
+#include <e32base.h> // CActive
+#include <hb/hbcore/hbdevicedialogsymbian.h> // MHbDeviceDialogObserver
+
+class CHbSymbianVariantMap;
+class CActiveSchedulerWait;
+
+/**
+ * CDrmUIDialogs manages and controls DRM UI notes and queries.
+ * An Orbit device dialog plugin implements the UI dialogs.
+ *
+ * @dll drmuidialogs.dll
+ * @since 10.1
+ */
+NONSHARABLE_CLASS( CDrmUIDialogs ) : public CActive,
+ public MHbDeviceDialogObserver
+ {
+ public: // constructor and destructor
+ /**
+ * Creates new CDrmUIDialogs object and pushes it into cleanup stack.
+ * @returns CDrmUIDialogs* -- new CDrmUIDialogs object
+ */
+ IMPORT_C static CDrmUIDialogs* NewLC();
+
+ /**
+ * Creates new CDrmUIDialogs object.
+ * @returns CDrmUIDialogs* -- new CDrmUIDialogs object
+ */
+ IMPORT_C static CDrmUIDialogs* NewL();
+
+ /**
+ * Destructor.
+ */
+ CDrmUIDialogs::~CDrmUIDialogs();
+
+ public:
+ /**
+ * Displays a note or query dialog synchronously. Synchronous function.
+ * Returns after the user has accepted or cancelled the query.
+ * @param aDialogId dialog id of dialog to be displayed
+ * @param aString string that replaces %U in resource string
+ * @param aValue integer that replaces %N in resource string
+ * @return EOk if user accepted the query, ECancelled otherwise
+ */
+ IMPORT_C TInt ShowNoteL( TInt aDialogId,
+ const TDesC& aString = KNullDesC,
+ TInt aValue = -1 );
+
+ protected: // from CActive
+ void DoCancel();
+ void RunL();
+
+ private: // from MHbDeviceDialogObserver
+ void DataReceived( CHbSymbianVariantMap& aData );
+ void DeviceDialogClosed( TInt aCompletionCode );
+
+ private:
+ CDrmUIDialogs();
+ void ConstructL();
+ void ClearParamsL();
+ void ClearParamsAndSetDialogIdL( TInt aDialogId );
+ void AddParamL( const TDesC& aKey, TInt aValue );
+ void AddParamL( const TDesC& aKey, const TDesC& aValue );
+ void DisplayDeviceDialogL();
+ TInt WaitUntilDeviceDialogClosed();
+
+ private: // data
+ CHbDeviceDialogSymbian* iDeviceDialog; // own
+ CHbSymbianVariantMap* iVariantMap; // own
+ CActiveSchedulerWait* iWait; // own
+ TBool iIsDisplayingDialog;
+ TInt iCompletionCode;
+ TInt iReturnValue;
+ };
+
+#endif // C_DRMUIDIALOGS_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuidialogs/rom/drmuidialogs.iby Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 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:
+*
+*/
+
+#ifndef __DRMUIDIALOGS_IBY__
+#define __DRMUIDIALOGS_IBY__
+
+#include <data_caging_paths_for_iby.hrh>
+
+file=ABI_DIR\BUILD_DIR\drmuidialogs.dll SHARED_LIB_DIR\drmuidialogs.dll
+
+#endif//__DRMUIDIALOGS_IBY__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuidialogs/src/drmuidialogs.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,255 @@
+/*
+* Copyright (c) 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: Implementation of CDrmUIDialogs class.
+*
+*/
+
+#include "drmuidialogs.h" // CDrmUIDialogs
+#include <hb/hbcore/hbsymbianvariant.h> // CHbSymbianVariantMap
+
+// Identifier of DRM UI device notification dialog plugin
+_LIT( KDrmUIDeviceDialogPlugin, "com.nokia.hb.drmuidialog/1.0" );
+
+// Keys for the parameters passed to notification dialog plugin
+_LIT( KDrmUIDialogId, "dialogId" );
+_LIT( KDrmUIInsertText, "insertText" );
+_LIT( KDrmUIInsertInt, "insertInt" );
+
+// Keys name for result sent from notification dialog plugin
+_LIT( KDrmUIDialogResult, "result");
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::NewLC()
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CDrmUIDialogs* CDrmUIDialogs::NewLC()
+ {
+ CDrmUIDialogs* self = new( ELeave ) CDrmUIDialogs();
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::NewL()
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CDrmUIDialogs* CDrmUIDialogs::NewL()
+ {
+ CDrmUIDialogs* self = CDrmUIDialogs::NewLC();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::~CDrmUIDialogs()
+// ---------------------------------------------------------------------------
+//
+CDrmUIDialogs::~CDrmUIDialogs()
+ {
+ Cancel();
+ delete iWait;
+ delete iDeviceDialog;
+ delete iVariantMap;
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::ShowNoteL()
+// ---------------------------------------------------------------------------
+EXPORT_C TInt CDrmUIDialogs::ShowNoteL( TInt aDialogId, const TDesC& aString, TInt aValue )
+ {
+ // Add the dialog id to the variant map
+ AddParamL( KDrmUIDialogId, aDialogId );
+
+ // Add the string to the variant map if it exists
+ if ( aString.Compare( KNullDesC ) )
+ {
+ AddParamL( KDrmUIInsertText, aString );
+ }
+
+ // Add the int to the variant map
+ if ( aValue >= 0 )
+ {
+ AddParamL( KDrmUIInsertInt, aValue );
+ }
+
+ DisplayDeviceDialogL();
+
+ TInt error = WaitUntilDeviceDialogClosed();
+ User::LeaveIfError( error );
+
+ return iReturnValue;
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::DoCancel()
+// ---------------------------------------------------------------------------
+//
+void CDrmUIDialogs::DoCancel()
+ {
+ if( iWait && iWait->IsStarted() && iWait->CanStopNow() )
+ {
+ iCompletionCode = KErrCancel;
+ iWait->AsyncStop();
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::RunL()
+// ---------------------------------------------------------------------------
+//
+void CDrmUIDialogs::RunL()
+ {
+ if( iWait )
+ {
+ iWait->AsyncStop();
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::DataReceived()
+// ---------------------------------------------------------------------------
+//
+void CDrmUIDialogs::DataReceived( CHbSymbianVariantMap& aData )
+ {
+ const CHbSymbianVariant* resultVariant = aData.Get( KDrmUIDialogResult );
+
+ if( resultVariant )
+ {
+ TInt* result = resultVariant->Value<TInt>();
+
+ if( result )
+ {
+ iReturnValue = *result;
+ }
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::DeviceDialogClosed()
+// ---------------------------------------------------------------------------
+//
+void CDrmUIDialogs::DeviceDialogClosed( TInt aCompletionCode )
+ {
+ iCompletionCode = aCompletionCode;
+ iIsDisplayingDialog = EFalse;
+
+ TRequestStatus* status( &iStatus );
+ User::RequestComplete( status, KErrNone );
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::CDrmUIDialogs()
+// ---------------------------------------------------------------------------
+//
+CDrmUIDialogs::CDrmUIDialogs() : CActive( CActive::EPriorityStandard )
+ {
+ CActiveScheduler::Add( this );
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::ConstructL()
+// ---------------------------------------------------------------------------
+//
+void CDrmUIDialogs::ConstructL()
+ {
+ iReturnValue = KErrNone;
+ iWait = new( ELeave ) CActiveSchedulerWait;
+ iDeviceDialog = CHbDeviceDialogSymbian::NewL();
+ iVariantMap = CHbSymbianVariantMap::NewL();
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::ClearParamsL()
+// ---------------------------------------------------------------------------
+//
+void CDrmUIDialogs::ClearParamsL()
+ {
+ if( iVariantMap )
+ {
+ delete iVariantMap;
+ iVariantMap = NULL;
+ }
+ iVariantMap = CHbSymbianVariantMap::NewL();
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::ClearParamsAndSetDialogIdL()
+// ---------------------------------------------------------------------------
+//
+void CDrmUIDialogs::ClearParamsAndSetDialogIdL( TInt aDialogId )
+ {
+ ClearParamsL();
+ AddParamL( KDrmUIDialogId, aDialogId );
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::AddParamL()
+// ---------------------------------------------------------------------------
+//
+void CDrmUIDialogs::AddParamL( const TDesC& aKey, TInt aValue )
+ {
+ CHbSymbianVariant* variant = NULL;
+ variant = CHbSymbianVariant::NewL( &aValue, CHbSymbianVariant::EInt );
+ iVariantMap->Add( aKey, variant ); // Takes ownership of variant
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::AddParamL()
+// ---------------------------------------------------------------------------
+//
+void CDrmUIDialogs::AddParamL( const TDesC& aKey, const TDesC& aValue )
+ {
+ CHbSymbianVariant* variant = NULL;
+ variant = CHbSymbianVariant::NewL( &aValue, CHbSymbianVariant::EDes );
+ iVariantMap->Add( aKey, variant ); // Takes ownership of variant
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::DisplayDeviceDialogL()
+// ---------------------------------------------------------------------------
+//
+void CDrmUIDialogs::DisplayDeviceDialogL()
+ {
+ if( iIsDisplayingDialog )
+ {
+ iDeviceDialog->Update( *iVariantMap );
+ }
+ else
+ {
+ iDeviceDialog->Show( KDrmUIDeviceDialogPlugin, *iVariantMap, this );
+ iIsDisplayingDialog = ETrue;
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUIDialogs::WaitUntilDeviceDialogClosed()
+// ---------------------------------------------------------------------------
+//
+TInt CDrmUIDialogs::WaitUntilDeviceDialogClosed()
+ {
+ iCompletionCode = KErrInUse;
+
+ if( !IsActive() && iWait && !iWait->IsStarted() )
+ {
+ iStatus = KRequestPending;
+ SetActive();
+ iWait->Start();
+ }
+ return iCompletionCode;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/DRMUINotifications.rss Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,21 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.6.3) on: 2010-05-24T18:48:20
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#include <appinfo.rh>
+#include <DRMUINotifications.loc>
+
+RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
+ {
+ short_caption = STRING_r_short_caption;
+ caption_and_icon =
+ CAPTION_AND_ICON_INFO
+ {
+ caption = STRING_r_caption;
+ number_of_icons = 0;
+ icon_file = "";
+ };
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/drmuinotifications.pro Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,41 @@
+TEMPLATE = lib
+TARGET = drmuinotifications
+CONFIG += hb \
+ plugin
+INCLUDEPATH += . \
+ ../../../inc
+DEPENDPATH += .
+DESTDIR = $${HB_BUILD_DIR}/plugins/devicedialogs
+MOC_DIR = moc
+OBJECTS_DIR = obj
+
+# dependencies
+HEADERS += inc/drmuidialogsbuilder.h \
+ inc/drmuidialogpluginkeys.h \
+ inc/drmuidialogplugin.h
+SOURCES += src/drmuidialogsbuilder.cpp \
+ src/drmuidialogplugin.cpp \
+ DRMUINotifications_reg.rss
+FORMS +=
+symbian:TARGET.UID3 = 0x20026835
+RESOURCES += resource/drmuinotifications.qrc
+symbian: {
+ SYMBIAN_PLATFORMS = WINSCW \
+ ARMV5
+ TARGET.EPOCALLOWDLLDATA = 1
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+ TARGET.UID3 = 20026835
+ hblib.sources = Hb.dll
+ hblib.path = \sys\bin
+ hblib.depends = "(0xEEF9EA38), 1, 0, 0, {\"Hb\"}"
+ pluginstub.sources = drmuinotifications.dll
+ pluginstub.path = /resource/plugins/devicedialogs
+ DEPLOYMENT += pluginstub
+}
+!local {
+ target.path = $${HB_PLUGINS_DIR}/devicedialogs
+ INSTALLS += target
+}
+BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>" \
+ "rom/drmuinotifications.iby CORE_MW_LAYER_IBY_EXPORT_PATH(drmuinotifications.iby)" \
+ "qmakepluginstubs/drmuinotifications.qtplugin /epoc32/data/z/pluginstub/drmuinotifications.qtplugin"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/inc/drmuidialogplugin.h Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 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: Plugin error constants
+ *
+ */
+
+#ifndef DRMUIDIALOGPLUGIN_H
+#define DRMUIDIALOGPLUGIN_H
+
+#include <QObject>
+#include <QVariantMap>
+
+#include <hbdevicedialogplugin.h>
+
+
+class DrmUIDialogPlugin : public HbDeviceDialogPlugin
+
+ {
+Q_OBJECT
+
+public:
+
+ DrmUIDialogPlugin();
+ ~DrmUIDialogPlugin();
+
+ // from base HbDeviceDialogPluginInterface
+ virtual HbDeviceDialogInterface *createDeviceDialog(
+ const QString &deviceDialogType, const QVariantMap ¶meters);
+
+ // from base HbDeviceDialogPlugin
+ virtual bool
+ accessAllowed(const QString &deviceDialogType,
+ const QVariantMap ¶meters,
+ const QVariantMap &securityInfo) const;
+ virtual bool deviceDialogInfo(const QString &deviceDialogType,
+ const QVariantMap ¶meters, DeviceDialogInfo *info) const;
+ virtual QStringList deviceDialogTypes() const;
+ virtual PluginFlags pluginFlags() const;
+ virtual int error() const;
+
+private:
+ Q_DISABLE_COPY(DrmUIDialogPlugin)
+
+ };
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/inc/drmuidialogpluginkeys.h Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 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: DrmUi notification keys.
+*
+*/
+
+#ifndef DRMUIPLUGINKEYS_H
+#define DRMUIPLUGINKEYS_H
+
+#include <QString>
+
+
+// Keys for the parameters passed to notification framework plugin
+const QString KDrmUIDialogId("dialogId");
+const QString KDrmUIInsertText("insertText");
+const QString KDrmUIInsertInt("insertInt");
+// Keys name for result sent from notification dialog plugin
+const QString KDrmUIDialogResult("result");
+
+
+#endif // DRMUIPLUGINKEYS_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/inc/drmuidialogsbuilder.h Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 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:
+ *
+ */
+
+#ifndef DRUMUIDIALOGSBUILDER_H
+#define DRUMUIDIALOGSBUILDER_H
+
+#include <QObject>
+#include <QVariantMap>
+#include <hbdevicedialoginterface.h>
+
+class HbDocumentLoader;
+class HbDialog;
+
+class DrmUiDialogsBuilder : public QObject, public HbDeviceDialogInterface
+ {
+Q_OBJECT
+public:
+ DrmUiDialogsBuilder(const QVariantMap ¶meters);
+ ~DrmUiDialogsBuilder();
+
+public:
+ // from HbDeviceDialogInterface
+ virtual bool setDeviceDialogParameters(const QVariantMap ¶meters);
+ virtual int deviceDialogError() const;
+ virtual void closeDeviceDialog(bool byClient);
+ virtual HbPopup *deviceDialogWidget() const;
+ virtual QObject *signalSender() const;
+
+
+public slots:
+ void cancelDialog();
+ void confirmDialog();
+
+private:
+ bool constructDialog(const QVariantMap ¶meters);
+
+signals:
+ // signlas needed by HbDeviceDialogInterface
+ void deviceDialogClosed();
+ void deviceDialogData(QVariantMap data);
+
+private:
+ HbDocumentLoader *mLoader;
+ HbDialog * mDialog;
+
+ Q_DISABLE_COPY(DrmUiDialogsBuilder)
+ };
+
+#endif /* DRUMUIDIALOGSBUILDER_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/Registeringprog.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Registering"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Registering phone"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/accountupdatequery.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Update"/>
+ </object>
+ <object name="secondary" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Account Update"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Registration will be updated. Continue?"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ <ref object="secondary" role="HbDialog:secondaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/acquiringlicenceprog.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Acquiring licence"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Processing"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/copyobjectsquery.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Copy"/>
+ </object>
+ <object name="secondary" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Copy Objects"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to move protected objects. Move unprotected objects only?"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ <ref object="secondary" role="HbDialog:secondaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/deletedrmfilequery.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Delete"/>
+ </object>
+ <object name="secondary" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Delete"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Delete DRM protected file?"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ <ref object="secondary" role="HbDialog:secondaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/deregisteredconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Deregistered"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Phone deregistered"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/deregisteringprog.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Deregistering"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Deregistering phone"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/drmuinotifications.qrc Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RCC>
+ <qresource prefix="/xml">
+ <file alias="norightsobjectquery.docml" >norightsobjectquery.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="rightsobjectexpiredquery.docml" >rightsobjectexpiredquery.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="simnotallowedquery.docml" >simnotallowedquery.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="waitingforrightsobjconf.docml" >waitingforrightsobjconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="copyobjectsquery.docml" >copyobjectsquery.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="filedeletedconf.docml" >filedeletedconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="deletedrmfilequery.docml" >deletedrmfilequery.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="moveobjectsquery.docml" >moveobjectsquery.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="nocountquery.docml" >nocountquery.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="nousagequery.docml" >nousagequery.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="objectlockedconf.docml" >objectlockedconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="unabletocopyconf.docml" >unabletocopyconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="unabletomoveconf.docml" >unabletomoveconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="unsupportedconf.docml" >unsupportedconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="noconnectiondefinednote.docml" >noconnectiondefinednote.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="invalidornoapnote.docml" >invalidornoapnote.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="openingfailpermnote.docml" >openingfailpermnote.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="deregisteredconf.docml" >deregisteredconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="forwardprotectedconf.docml" >forwardprotectedconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="licenceexpiredconf.docml" >licenceexpiredconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="notrecognizedconf.docml" >notrecognizedconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="registeredconf.docml" >registeredconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="registerfailureconf.docml" >registerfailureconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="unabletoderegisterconf.docml" >unabletoderegisterconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="unabletosendconf.docml" >unabletosendconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="updatedconf.docml" >updatedconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="updatefailureconf.docml" >updatefailureconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="viewrestrictionconf.docml" >viewrestrictionconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="accountupdatequery.docml" >accountupdatequery.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="getnewlicencequery.docml" >getnewlicencequery.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="retryforlicencequery.docml" >retryforlicencequery.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="unabletosendquery.docml" >unabletosendquery.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="rightsobjectsrecievednote.docml" >rightsobjectsrecievednote.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="waitingforlicenceconf.docml" >waitingforlicenceconf.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="acquiringlicenceprog.docml" >acquiringlicenceprog.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="deregisteringprog.docml" >deregisteringprog.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="Registeringprog.docml" >Registeringprog.docml</file>
+ </qresource>
+
+ <qresource prefix="/xml">
+ <file alias="updatingprog.docml" >updatingprog.docml</file>
+ </qresource>
+</RCC>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/filedeletedconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Deleted"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="File deleted."/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/forwardprotectedconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Forward Protected"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to forward protected objects"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/getnewlicencequery.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Get"/>
+ </object>
+ <object name="secondary" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Get new licence"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Licence not yet recieved. Expected time of delivery elapsed. Get new license?"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ <ref object="secondary" role="HbDialog:secondaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/infoexpiredornoronote.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="qtl_dialog_softkey_2_left" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <real name="z" value="2"/>
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to unlock file. Connection failed with used access point."/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <layout spacing="0un" type="grid">
+ <contentsmargins bottom="var(hb-param-margin-view-bottom)" left="var(hb-param-margin-view-left)" right="var(hb-param-margin-view-right)" top="var(hb-param-margin-view-top)"/>
+ <griditem column="0" itemname="qtl_dialog_pri5" row="0"/>
+ </layout>
+ </widget>
+ <sizehint height="42.38806un" type="PREFERRED" width="50.5un"/>
+ <rect height="19.70149un" name="geometry" width="49.10448un" x="2.68657un" y="44.92537un"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/invalidornoapnote.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="qtl_dialog_softkey_2_left" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <real name="z" value="2"/>
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="License has expired or it is missing"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <layout spacing="0un" type="grid">
+ <contentsmargins bottom="var(hb-param-margin-view-bottom)" left="var(hb-param-margin-view-left)" right="var(hb-param-margin-view-right)" top="var(hb-param-margin-view-top)"/>
+ <griditem column="0" itemname="qtl_dialog_pri5" row="0"/>
+ </layout>
+ </widget>
+ <rect height="19.70149un" name="geometry" width="49.10448un" x="2.68657un" y="44.92537un"/>
+ <sizehint height="42.38806un" type="PREFERRED" width="50.5un"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/licenceexpiredconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Licence"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Licence expired"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/moveobjectsquery.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Move"/>
+ </object>
+ <object name="secondary" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Move Objects"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to move protected objects. Move unprotected objects only?"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ <ref object="secondary" role="HbDialog:secondaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/noconnectiondefinednote.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="qtl_dialog_softkey_2_left" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <real name="z" value="2"/>
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to unlock file. Define at least one access point."/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <layout spacing="0un" type="grid">
+ <contentsmargins bottom="var(hb-param-margin-view-bottom)" left="var(hb-param-margin-view-left)" right="var(hb-param-margin-view-right)" top="var(hb-param-margin-view-top)"/>
+ <griditem column="0" itemname="qtl_dialog_pri5" row="0"/>
+ </layout>
+ </widget>
+ <sizehint height="42.38806un" type="PREFERRED" width="50.5un"/>
+ <rect height="17.16418un" name="geometry" width="49.10448un" x="2.68657un" y="44.92537un"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/nocountquery.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Extend"/>
+ </object>
+ <object name="secondary" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="No Count"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to use object. Extend to use?"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ <ref object="secondary" role="HbDialog:secondaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/norightsobjectquery.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Get"/>
+ </object>
+ <object name="secondary" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="No Rights Object"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="No Rights Object for the file in this device"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ <ref object="secondary" role="HbDialog:secondaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/notrecognizedconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Not Recognized"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Account is not recognized"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/nousagequery.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Extend"/>
+ </object>
+ <object name="secondary" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="No Usage"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="No usage time to use. Extend to use?"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ <ref object="secondary" role="HbDialog:secondaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/objectlockedconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Object Locked"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to send copyright protected item"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/openingfailpermnote.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <widget name="dialog" type="HbDialog">
+ <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="labelPrimary" type="HbLabel">
+ <enums name="alignment" value="AlignLeft|AlignLeading"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <string name="plainText" value="Unable to unlock file"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <layout spacing="0un" type="grid">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <griditem column="0" itemname="labelPrimary" row="0"/>
+ </layout>
+ </widget>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/registeredconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Registered"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Phone registered"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/registerfailureconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Register failure"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to register"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/retryforlicencequery.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Try again"/>
+ </object>
+ <object name="secondary" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Retry for licence"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Licence not received. Try again?"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ <ref object="secondary" role="HbDialog:secondaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/rightsobjectexpiredquery.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Update"/>
+ </object>
+ <object name="secondary" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Rights Object Expired"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="No Rights Object for the file in this device"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ <ref object="secondary" role="HbDialog:secondaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/rightsobjectsrecievednote.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <widget name="dialog" type="HbDialog">
+ <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="labelPrimary" type="HbLabel">
+ <enums name="alignment" value="AlignLeft|AlignLeading"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <string name="plainText" value="Rights Objects Recieved"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <layout spacing="0un" type="grid">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <griditem column="0" itemname="labelPrimary" row="0"/>
+ </layout>
+ </widget>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/simnotallowedquery.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Unlock"/>
+ </object>
+ <object name="secondary" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="File Locked"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="File locked with current SIM card. Unlock for this SIM card?"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ <ref object="secondary" role="HbDialog:secondaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/unabletocopyconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Unable to Copy"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to copy protected object to memory card"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/unabletoderegisterconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Unable to deregister"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to deregister phone"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/unabletomoveconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Unable to Move"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to move protected object to memory card."/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/unabletosendconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Unable to send"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to send protected objects"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/unabletosendquery.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Send"/>
+ </object>
+ <object name="secondary" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Send"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to send protected objects. Send unprotected objects only?"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ <ref object="secondary" role="HbDialog:secondaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/unsupportedconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Unsupported"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to use object"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/updatedconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Updated"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Registration updated"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/updatefailureconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Update failure"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to update registration"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/updatingprog.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Updating"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Updating registration"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/viewrestrictionconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="View restriction"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to use. Object can only be viewed"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/waitingforlicenceconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Not Ready"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Waiting for licence. Try again later"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/resource/waitingforrightsobjconf.docml Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+ <object name="primary" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string name="text" value="OK"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string name="text" value="Cancel"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <widget name="qtl_dialog_pri_heading" role="HbDialog:headingWidget" type="HbLabel">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Object Locked"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="qtl_dialog_pri5_large_graphic" role="HbDialog:contentWidget" type="HbWidget">
+ <widget name="icon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="var(hb-param-graphic-size-primary-large)" type="FIXED" width="var(hb-param-graphic-size-primary-large)"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="?"/>
+ </widget>
+ <widget name="qtl_dialog_pri5" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <bool name="visible" value="TRUE"/>
+ <string name="plainText" value="Unable to send protected object"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-popup)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="icon"/>
+ <linearitem itemname="qtl_dialog_pri5"/>
+ </layout>
+ </widget>
+ <sizehint height="42.08955un" type="PREFERRED" width="50.5un"/>
+ <ref object="primary" role="HbDialog:primaryAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <resource location="TemplateIcons.qrc"/>
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/rom/drmuinotifications.iby Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,28 @@
+/*
+* 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"
+* 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: Image description file for project
+*
+*/
+
+
+#ifndef DRMUINOTIFICATIONS_IBY
+#define DRMUINOTIFICATIONS_IBY
+
+#include <data_caging_paths_for_iby.hrh>
+
+file=ABI_DIR/BUILD_DIR/drmuinotifications.dll SHARED_LIB_DIR/drmuinotifications.dll
+data=/epoc32/data/z/pluginstub/drmuinotifications.qtplugin resource/plugins/devicedialogs/drmuinotifications.qtplugin
+
+
+#endif // drmuinotifications_IBY
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/src/drmuidialogplugin.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 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: DrmUIDialogPlugin class implementation.
+ *
+ */
+
+#include "DrmUIDialogPlugin.h"
+#include <QtPlugin>
+#include <hbdevicedialog.h>
+#include "drmuidialogsbuilder.h"
+#include "drmuidialogpluginkeys.h"
+
+Q_EXPORT_PLUGIN2(DrmUIDialogPlugin, DrmUIDialogPlugin)
+
+const int NmMaxDialogCount = 10;
+static const QString drmUiDialog = "com.nokia.hb.drmuidialog/1.0";
+
+/*!
+ DrmUIDialogPlugin Constructor
+ */
+DrmUIDialogPlugin::DrmUIDialogPlugin()
+ {
+
+ }
+
+/*!
+ Destructor
+ */
+DrmUIDialogPlugin::~DrmUIDialogPlugin()
+ {
+
+ }
+
+/*!
+ Check if client is allowed to use device dialog widget
+ */
+bool DrmUIDialogPlugin::accessAllowed(const QString &deviceDialogType,
+ const QVariantMap ¶meters, const QVariantMap &securityInfo) const
+ {
+ Q_UNUSED (deviceDialogType)
+ Q_UNUSED(parameters)
+ Q_UNUSED(securityInfo)
+
+ // This plugin doesn't perform operations that may compromise security.
+ // All clients are allowed to use.
+ return true;
+ }
+
+/*!
+ From interface class.
+ Use the dialog type in the parameter to create widget.
+ */
+HbDeviceDialogInterface *DrmUIDialogPlugin::createDeviceDialog(
+ const QString &deviceDialogType, const QVariantMap ¶meters)
+ {
+ Q_UNUSED(deviceDialogType)
+ return new DrmUiDialogsBuilder(parameters);
+ }
+
+/*!
+ Return information of device dialog the plugin creates
+ Currently only supporting 1 device dialog type, so no need to check the type.
+ */
+bool DrmUIDialogPlugin::deviceDialogInfo(const QString &deviceDialogType,
+ const QVariantMap ¶meters, DeviceDialogInfo *info) const
+ {
+ Q_UNUSED(parameters)
+ Q_UNUSED(deviceDialogType)
+ // set return values
+ info->group = GenericDeviceDialogGroup;
+ info->flags = NoDeviceDialogFlags;
+ info->priority = DefaultPriority;
+ return true;
+ }
+
+/*!
+ Return device dialog types this plugin implements
+ Function will work fine (unchanged) when new dialogs are added.
+ */
+QStringList DrmUIDialogPlugin::deviceDialogTypes() const
+ {
+ QStringList types;
+ types.append(drmUiDialog);
+ return types;
+
+ }
+
+/*!
+ Return plugin flags
+ */
+HbDeviceDialogPlugin::PluginFlags DrmUIDialogPlugin::pluginFlags() const
+ {
+ return NoPluginFlags;
+ }
+
+/*!
+ Return last error
+ */
+int DrmUIDialogPlugin::error() const
+ {
+ return 0;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/drmuinotifications/src/drmuidialogsbuilder.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,439 @@
+/*
+ * Copyright (c) 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:
+ *
+ */
+#include "drmuidialogsbuilder.h"
+#include <hbdocumentloader.h>
+#include "drmuidialogpluginkeys.h"
+#include <drmuidialogids.h>
+#include <hbaction.h>
+#include <hbdialog.h>
+#include <hblabel.h>
+#include <QString>
+#include <HbPopup.h>
+
+static const QString DOCML_NO_RIGHTS_OBJECT_DIALOG_QUERY =
+ ":/xml/norightsobjectquery.docml";
+static const QString DOCML_SIM_NOT_ALLOWED_QUERY =
+ ":/xml/simnotallowedquery.docml";
+static const QString DOCML_RIGHTS_OBJECT_EXPIRED_QUERY =
+ ":/xml/rightsobjectexpiredquery.docml";
+static const QString DOCML_WAITING_FOR_RIGHTS_OBJECT_CONF =
+ ":/xml/waitingforrightsobjconf.docml";
+static const QString DOCML_COPY_OBJECTS_QUERY =
+ ":/xml/copyobjectsquery.docml";
+static const QString DOCML_DELETED_CONF = ":/xml/filedeletedconf.docml";
+static const QString DOCML_DELETED_DRM_FILE_QUERY =
+ ":/xml/deletedrmfilequery.docml";
+static const QString DOCML_MOVE_OBJECTS_QUERY =
+ ":/xml/moveobjectsquery.docml";
+static const QString DOCML_NO_COUNT_QUERY = ":/xml/nocountquery.docml";
+static const QString DOCML_NO_USAGE_QUERY = ":/xml/nousagequery.docml";
+static const QString DOCML_OBJECT_LOCKED_CONF =
+ ":/xml/objectlockedconf.docml";
+static const QString DOCML_UNABLE_TO_COPY_CONF =
+ ":/xml/unabletocopyconf.docml";
+static const QString DOCML_UNABLE_TO_MOVE_CONF =
+ ":/xml/unabletomoveconf.docml";
+static const QString DOCML_UNSUPPORTED_CONF = ":/xml/unsupportedconf.docml";
+static const QString DOCML_DEREGISTERED_CONF = ":/xml/deregisteredconf.docml";
+static const QString DOCML_FILEDELETED_CONF = ":/xml/filedeletedconf.docml";
+static const QString DOCML_FORWARD_PROTECTED_CONF =
+ ":/xml/forwardprotectedconf.docml";
+static const QString DOCML_LICENCE_EXPIRED_CONF =
+ ":/xml/licenceexpiredconf.docml";
+static const QString DOCML_NOT_RECOGNIZED_CONF =
+ ":/xml/notrecognizedconf.docml";
+static const QString DOCML_REGISTERED_CONF = ":/xml/registeredconf.docml";
+static const QString DOCML_REGISTER_FAILURE_CONF =
+ ":/xml/registerfailureconf.docml";
+static const QString DOCML_UNABLE_TO_DEREGISTER_CONF =
+ ":/xml/unabletoderegisterconf.docml";
+static const QString DOCML_UNABLE_TO_SEND_CONF =
+ ":/xml/unabletosendconf.docml";
+static const QString DOCML_UPDATED_CONF = ":/xml/updatedconf.docml";
+static const QString DOCML_UPDATE_FAILURE_CONF =
+ ":/xml/updatefailureconf.docml";
+static const QString DOCML_VIEW_RESTRICTION_CONF =
+ ":/xml/viewrestrictionconf.docml";
+static const QString DOCML_ACCOUNT_UPDATE_QUERY =
+ ":/xml/accountupdatequery.docml";
+static const QString DOCML_GET_LICENCE_QUERY =
+ ":/xml/getnewlicencequery.docml";
+static const QString DOCML_RETRY_FOR_LICENCE_QUERY =
+ ":/xml/retryforlicencequery.docml";
+static const QString DOCML_UNABLE_TO_SEND_QUERY =
+ ":/xml/unabletosendquery.docml";
+static const QString DOCML_RIGHTS_OBJECTS_RECIEVED_NOTE =
+ ":/xml/rightsobjectsrecievednote.docml";
+static const QString DOCML_WAITING_FOR_LICENCE_CONF =
+ ":/xml/waitingforlicenceconf.docml";
+static const QString DOCML_ACQUIRING_LICENCE_PROG =
+ ":/xml/acquiringlicenceprog.docml";
+static const QString DOCML_REGISTERING_PROG =
+ ":/xml/Registeringprog.docml";
+static const QString DOCML_UPDATING_PROG =
+ ":/xml/updatingprog.docml";
+static const QString DOCML_DEREGISTERING_PROG =
+ ":/xml/deregisteringprog.docml";
+
+// Notes have not been defined in the XLS document yet hence commented out
+/*
+ static const QString DOCML_NO_CONNECTION_DEFINED =
+ ":/xml/noconnectiondefined.docml";
+ static const QString DOCML_INVALID_OR_NO_AP = ":/xml/invalidornoap.docml";
+ static const QString DOCML_OPENING_FAIL_PERM = ":/xml/openingfailperm.docml";
+ */
+
+/*!
+ class Constructor
+ */
+DrmUiDialogsBuilder::DrmUiDialogsBuilder(const QVariantMap ¶meters) :
+ QObject()
+ {
+ constructDialog(parameters);
+ }
+
+DrmUiDialogsBuilder::~DrmUiDialogsBuilder()
+ {
+ delete mLoader;
+ mLoader = NULL;
+ }
+
+/*!
+ Get error, implementation of interface
+ */
+int DrmUiDialogsBuilder::deviceDialogError() const
+ {
+ return 0;
+ }
+
+/*!
+ Set parameters, implementation of interface
+ Invoked when HbDeviceDialog::update calls.
+ */
+bool DrmUiDialogsBuilder::setDeviceDialogParameters(
+ const QVariantMap ¶meters)
+ {
+ constructDialog(parameters);
+ return true;
+ }
+
+/*!
+ Close notification, implementation of interface
+ */
+void DrmUiDialogsBuilder::closeDeviceDialog(bool byClient)
+ {
+ Q_UNUSED(byClient);
+ emit deviceDialogClosed();
+ }
+/*!
+ Return display widget, implementation of interface
+ */
+QObject *DrmUiDialogsBuilder::signalSender() const
+ {
+ return const_cast<DrmUiDialogsBuilder*> (this);
+ }
+
+/*!
+ Return display widget, implementation of interface
+ */
+HbPopup* DrmUiDialogsBuilder::deviceDialogWidget() const
+ {
+ return mDialog;
+ }
+
+/*!
+ Construct display widget
+ */
+bool DrmUiDialogsBuilder::constructDialog(const QVariantMap ¶meters)
+ {
+ if (mLoader == 0)
+ {
+ mLoader = new HbDocumentLoader();
+ }
+ bool ok = false;
+ int mQueryType;
+ if (parameters.contains(KDrmUIDialogId))
+ {
+
+ mQueryType = parameters.value(KDrmUIDialogId).toInt();
+ //switch cases to set load docml files for the parameters
+ switch (mQueryType)
+ {
+ case EQueryNoRightsObj:
+ mLoader->load(DOCML_NO_RIGHTS_OBJECT_DIALOG_QUERY, &ok);
+ break;
+
+ case EQueryFileLockedForSim:
+ mLoader->load(DOCML_SIM_NOT_ALLOWED_QUERY, &ok);
+ break;
+
+ case EQueryRightsObjExpired:
+ mLoader->load(DOCML_RIGHTS_OBJECT_EXPIRED_QUERY, &ok);
+ break;
+
+ case EConfWaitingForLicence:
+ mLoader->load(DOCML_WAITING_FOR_LICENCE_CONF, &ok);
+ break;
+
+ case EConfDeleted:
+ mLoader->load(DOCML_DELETED_CONF, &ok);
+ break;
+
+ case EConfObjLocked:
+ mLoader->load(DOCML_OBJECT_LOCKED_CONF, &ok);
+ break;
+
+ case EConfUnableToCopy:
+ mLoader->load(DOCML_UNABLE_TO_COPY_CONF, &ok);
+ break;
+ case EConfUnableToMove:
+ mLoader->load(DOCML_UNABLE_TO_MOVE_CONF, &ok);
+ break;
+
+ case EConfUnsupportedObj:
+ mLoader->load(DOCML_UNSUPPORTED_CONF, &ok);
+ break;
+
+ case EQueryCopyObjects:
+ mLoader->load(DOCML_COPY_OBJECTS_QUERY, &ok);
+ break;
+
+ case EQueryDeleteDRMFile:
+ mLoader->load(DOCML_DELETED_DRM_FILE_QUERY, &ok);
+ break;
+
+ case EQueryMoveObjects:
+ mLoader->load(DOCML_MOVE_OBJECTS_QUERY, &ok);
+ break;
+
+ case EQueryNoCount:
+ mLoader->load(DOCML_NO_COUNT_QUERY, &ok);
+ break;
+
+ case EQueryNoUsage:
+ mLoader->load(DOCML_NO_USAGE_QUERY, &ok);
+ break;
+
+ case EQuerySendUnprotectedObjs:
+ mLoader->load(DOCML_UNABLE_TO_SEND_QUERY, &ok);
+ break;
+
+ case EQueryAccountUpdate:
+ mLoader->load(DOCML_ACCOUNT_UPDATE_QUERY, &ok);
+ break;
+
+ case EQueryRetryForLicence:
+ mLoader->load(DOCML_RETRY_FOR_LICENCE_QUERY, &ok);
+ break;
+
+ case EQueryGetNewLicence:
+ mLoader->load(DOCML_GET_LICENCE_QUERY, &ok);
+ break;
+
+ case EConfLicenceExpired:
+ mLoader->load(DOCML_LICENCE_EXPIRED_CONF, &ok);
+ break;
+
+ case EConfForwardProtected:
+ mLoader->load(DOCML_FORWARD_PROTECTED_CONF, &ok);
+ break;
+
+ case EConfUnableToSend:
+ mLoader->load(DOCML_UNABLE_TO_SEND_CONF, &ok);
+ break;
+
+ case EConfViewRestriction:
+ mLoader->load(DOCML_VIEW_RESTRICTION_CONF, &ok);
+ break;
+
+ case EConfUnableToDeregister:
+ mLoader->load(DOCML_UNABLE_TO_DEREGISTER_CONF, &ok);
+ break;
+
+ case EConfPhoneDeregistered:
+ mLoader->load(DOCML_DEREGISTERED_CONF, &ok);
+ break;
+
+ case EConfRegUpdateFailure:
+ mLoader->load(DOCML_UPDATE_FAILURE_CONF, &ok);
+ break;
+
+ case EConfAccountNotRecognized:
+ mLoader->load(DOCML_NOT_RECOGNIZED_CONF, &ok);
+ break;
+
+ case EConfPhoneRegistered:
+ mLoader->load(DOCML_REGISTERED_CONF, &ok);
+ break;
+
+ case EConfRegistrationUpdated:
+ mLoader->load(DOCML_UPDATED_CONF, &ok);
+ break;
+
+ case EConfRegistrationFailure:
+ mLoader->load(DOCML_REGISTER_FAILURE_CONF, &ok);
+ break;
+
+ case ENoteRightsObjReceived:
+ mLoader->load(DOCML_RIGHTS_OBJECTS_RECIEVED_NOTE, &ok);
+ break;
+
+ case EProgDeregisteringPhone:
+ mLoader->load(DOCML_DEREGISTERING_PROG, &ok);
+ break;
+
+ case EProgAcquiringLicence:
+ mLoader->load(DOCML_ACQUIRING_LICENCE_PROG, &ok);
+ break;
+
+ case EProgRegisteringPhone:
+ mLoader->load(DOCML_REGISTERING_PROG, &ok);
+ break;
+ case EProgUpdatingRegistration:
+ mLoader->load(DOCML_UPDATING_PROG, &ok);
+ break;
+
+ //Notes are not defined in the locatization xls hence commented out
+ /*case ENoteNoConnectionDefined:
+ mLoader->load(DOCML_NO_CONNECTION_DEFINED, &ok);
+ break;
+
+ case ENoteInvalidOrNoAP:
+ mLoader->load(DOCML_INVALID_OR_NO_AP, &ok);
+ break;
+
+ case ENoteOpeningFailPerm:
+ mLoader->load(DOCML_OPENING_FAIL_PERM, &ok);
+ break;*/
+ default:
+ break;
+
+ }
+ if (ok)
+ {
+ QGraphicsWidget *widget = mLoader->findWidget(QString("dialog"));
+ mDialog = qobject_cast<HbDialog*> (widget);
+ switch (mQueryType)
+ {
+ //Cases for two push button dialogs
+ case EQueryNoRightsObj:
+ case EQueryFileLockedForSim:
+ case EQueryRightsObjExpired:
+ case EQueryCopyObjects:
+ case EQueryDeleteDRMFile:
+ case EQueryMoveObjects:
+ case EQueryNoCount:
+ case EQueryNoUsage:
+ case EQuerySendUnprotectedObjs:
+ case EQueryAccountUpdate:
+ case EQueryRetryForLicence:
+ case EQueryGetNewLicence:
+ connect(qobject_cast<HbAction*> (mLoader->findObject(
+ "secondary")), SIGNAL(
+ triggered()), this, SLOT(cancelDialog()));
+ connect(qobject_cast<HbAction*> (mLoader->findObject(
+ "primary")), SIGNAL(
+ triggered()), this, SLOT(confirmDialog()));
+ mDialog->setTimeout(HbPopup::NoTimeout);
+ mDialog->setDismissPolicy(HbPopup::NoDismiss);
+ mDialog->setModal(true);
+ break;
+
+ //Cases single push button dialogs
+ case EConfWaitingForLicence:
+ case EConfDeleted:
+ case EConfObjLocked:
+ case EConfUnableToCopy:
+ case EConfUnableToMove:
+ case EConfUnsupportedObj:
+ case EConfLicenceExpired:
+ case EConfForwardProtected:
+ case EConfUnableToSend:
+ case EConfViewRestriction:
+ case EConfUnableToDeregister:
+ case EConfPhoneDeregistered:
+ case EConfRegUpdateFailure:
+ case EConfAccountNotRecognized:
+ case EConfPhoneRegistered:
+ case EConfRegistrationUpdated:
+ case EConfRegistrationFailure:
+ connect(qobject_cast<HbAction*> (mLoader->findObject(
+ "primary")), SIGNAL(
+ triggered()), this, SLOT(confirmDialog()));
+ mDialog->setTimeout(HbPopup::NoTimeout);
+ mDialog->setDismissPolicy(HbPopup::NoDismiss);
+ mDialog->setModal(true);
+ break;
+
+ // Cases for progress bar or wait notes
+ case EProgDeregisteringPhone:
+ case EProgAcquiringLicence:
+ case EProgRegisteringPhone:
+ case EProgUpdatingRegistration:
+ connect(qobject_cast<HbAction*> (mLoader->findObject(
+ "primary")), SIGNAL(
+ triggered()), this, SLOT(cancelDialog()));
+ mDialog->setTimeout(HbPopup::NoTimeout);
+ mDialog->setDismissPolicy(HbPopup::NoDismiss);
+ mDialog->setModal(true);
+ break;
+
+ //DrmUi Notes
+ //Notes are not defined in the locatization xls hence commented out
+ // case ENoteNoConnectionDefined:
+ // case ENoteInvalidOrNoAP:
+ // case ENoteOpeningFailPerm:
+ case ENoteRightsObjReceived:
+ mDialog->setTimeout(HbPopup::StandardTimeout);
+ mDialog->setDismissPolicy(HbPopup::NoDismiss);
+ break;
+ default:
+ break;
+
+ }
+ }
+ else
+ {
+ qFatal("Unable to load %S");
+ return EFalse;
+ }
+ }
+
+ return ETrue;
+ }
+/*!
+ Handle secondary push button triggered
+ */
+void DrmUiDialogsBuilder::cancelDialog()
+ {
+ QVariantMap val;
+ QVariant index(ECancelled);
+ val.insert("result", index);
+ emit deviceDialogData(val);
+ emit deviceDialogClosed();
+ }
+/*!
+ Handle Primary push button triggered
+ */
+void DrmUiDialogsBuilder::confirmDialog()
+ {
+ QVariantMap val;
+ QVariant index(EOk);
+ val.insert("result", index);
+ emit deviceDialogData(val);
+ emit deviceDialogClosed();
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmui/group/bld.inf Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 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:
+*
+*/
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+#include "../drmuidialogs/group/bld.inf"
+
+
+PRJ_TESTMMPFILES
+
+// End of File
--- a/commondrm/drmutility/bwinscw/drmutilitycommonu.def Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/bwinscw/drmutilitycommonu.def Tue Aug 31 15:29:38 2010 +0300
@@ -1,24 +1,23 @@
EXPORTS
- ?DisplayNoteL@CDrmUtilityUI@DRM@@QAEXHABVTDesC16@@@Z @ 1 NONAME ; void DRM::CDrmUtilityUI::DisplayNoteL(int, class TDesC16 const &)
- ?DisplayQueryL@CDrmUtilityUI@DRM@@QAEHAAVTDesC16@@H@Z @ 2 NONAME ; int DRM::CDrmUtilityUI::DisplayQueryL(class TDesC16 &, int)
- ?SetAutomatedQueryL@CDrmUtilityUI@DRM@@QAEHPAVCDRMConstraint@@@Z @ 3 NONAME ; int DRM::CDrmUtilityUI::SetAutomatedQueryL(class CDRMConstraint *)
- ?NewL@CDrmUtilityUI@DRM@@SAPAV12@PAVCCoeEnv@@@Z @ 4 NONAME ; class DRM::CDrmUtilityUI * DRM::CDrmUtilityUI::NewL(class CCoeEnv *)
- ?DisplayQueryL@CDrmUtilityUI@DRM@@QAEHHH@Z @ 5 NONAME ; int DRM::CDrmUtilityUI::DisplayQueryL(int, int)
- ?DisplayNoteL@CDrmUtilityUI@DRM@@QAEXAAVTDesC16@@HABV3@H@Z @ 6 NONAME ; void DRM::CDrmUtilityUI::DisplayNoteL(class TDesC16 &, int, class TDesC16 const &, int)
- ?NewL@CDrmUtilityWMDrm@DRM@@SAPAV12@PAVCCoeEnv@@@Z @ 7 NONAME ; class DRM::CDrmUtilityWMDrm * DRM::CDrmUtilityWMDrm::NewL(class CCoeEnv *)
+ ?DisplayNoteL@CDrmUtilityUI@DRM@@QAEXAAVTDesC16@@HABV3@H@Z @ 1 NONAME ; void DRM::CDrmUtilityUI::DisplayNoteL(class TDesC16 &, int, class TDesC16 const &, int)
+ ?DisplayNoteL@CDrmUtilityUI@DRM@@QAEXH@Z @ 2 NONAME ; void DRM::CDrmUtilityUI::DisplayNoteL(int)
+ ?DisplayNoteL@CDrmUtilityUI@DRM@@QAEXHABVTDesC16@@@Z @ 3 NONAME ; void DRM::CDrmUtilityUI::DisplayNoteL(int, class TDesC16 const &)
+ ?DisplayNoteL@CDrmUtilityUI@DRM@@QAEXHH@Z @ 4 NONAME ; void DRM::CDrmUtilityUI::DisplayNoteL(int, int)
+ ?DisplayPopupWindowsForPreviewL@CDrmUtilityUI@DRM@@QAEHAAVCData@ContentAccess@@HH@Z @ 5 NONAME ; int DRM::CDrmUtilityUI::DisplayPopupWindowsForPreviewL(class ContentAccess::CData &, int, int)
+ ?DisplayQueryL@CDrmUtilityUI@DRM@@QAEHAAVTDesC16@@H@Z @ 6 NONAME ; int DRM::CDrmUtilityUI::DisplayQueryL(class TDesC16 &, int)
+ ?DisplayQueryL@CDrmUtilityUI@DRM@@QAEHHABVTDesC16@@@Z @ 7 NONAME ; int DRM::CDrmUtilityUI::DisplayQueryL(int, class TDesC16 const &)
?DisplayQueryL@CDrmUtilityUI@DRM@@QAEHHABVTDesC16@@HHH@Z @ 8 NONAME ; int DRM::CDrmUtilityUI::DisplayQueryL(int, class TDesC16 const &, int, int, int)
- ?NewLC@CDrmUtilityWMDrm@DRM@@SAPAV12@PAVCCoeEnv@@@Z @ 9 NONAME ; class DRM::CDrmUtilityWMDrm * DRM::CDrmUtilityWMDrm::NewLC(class CCoeEnv *)
- ?DisplayQueryWithIdValueL@CDrmUtilityUI@DRM@@QAEHHHABVTDesC16@@@Z @ 10 NONAME ; int DRM::CDrmUtilityUI::DisplayQueryWithIdValueL(int, int, class TDesC16 const &)
- ?ShowFutureRightsNoteL@CDrmUtilityUI@DRM@@QAEXPAVCDRMConstraint@@@Z @ 11 NONAME ; void DRM::CDrmUtilityUI::ShowFutureRightsNoteL(class CDRMConstraint *)
- ?NewL@CDrmUtilityCommon@DRM@@SAPAV12@XZ @ 12 NONAME ; class DRM::CDrmUtilityCommon * DRM::CDrmUtilityCommon::NewL(void)
- ?NewLC@CDrmUtilityCommon@DRM@@SAPAV12@XZ @ 13 NONAME ; class DRM::CDrmUtilityCommon * DRM::CDrmUtilityCommon::NewLC(void)
- ?DisplayPopupWindowsForPreviewL@CDrmUtilityUI@DRM@@QAEHAAVCData@ContentAccess@@HH@Z @ 14 NONAME ; int DRM::CDrmUtilityUI::DisplayPopupWindowsForPreviewL(class ContentAccess::CData &, int, int)
- ?GetOmaRightsStatusL@CDrmUtilityCommon@DRM@@QAE?AW4TDrmRightsInfo@2@AAPAVHBufC8@@W4TIntent@ContentAccess@@PAVCDRMConstraint@@@Z @ 15 NONAME ; enum DRM::TDrmRightsInfo DRM::CDrmUtilityCommon::GetOmaRightsStatusL(class HBufC8 * &, enum ContentAccess::TIntent, class CDRMConstraint *)
- ?DisplayQueryWithIdL@CDrmUtilityUI@DRM@@QAEHHH@Z @ 16 NONAME ; int DRM::CDrmUtilityUI::DisplayQueryWithIdL(int, int)
- ?DisplayNoteL@CDrmUtilityUI@DRM@@QAEXH@Z @ 17 NONAME ; void DRM::CDrmUtilityUI::DisplayNoteL(int)
- ?DisplayMessageQueryL@CDrmUtilityUI@DRM@@QAEHHHABVTDesC16@@@Z @ 18 NONAME ; int DRM::CDrmUtilityUI::DisplayMessageQueryL(int, int, class TDesC16 const &)
- ?DisplayNoteL@CDrmUtilityUI@DRM@@QAEXHH@Z @ 19 NONAME ; void DRM::CDrmUtilityUI::DisplayNoteL(int, int)
- ?NewLC@CDrmUtilityUI@DRM@@SAPAV12@PAVCCoeEnv@@@Z @ 20 NONAME ; class DRM::CDrmUtilityUI * DRM::CDrmUtilityUI::NewLC(class CCoeEnv *)
- ?DisplayQueryL@CDrmUtilityUI@DRM@@QAEHHABVTDesC16@@@Z @ 21 NONAME ; int DRM::CDrmUtilityUI::DisplayQueryL(int, class TDesC16 const &)
- ?GetWrapper@CDrmUtilityWMDrm@DRM@@QAEPAVMDrmUtilityWMDrmWrapper@2@XZ @ 22 NONAME ; class DRM::MDrmUtilityWMDrmWrapper * DRM::CDrmUtilityWMDrm::GetWrapper(void)
+ ?DisplayQueryL@CDrmUtilityUI@DRM@@QAEHHH@Z @ 9 NONAME ; int DRM::CDrmUtilityUI::DisplayQueryL(int, int)
+ ?DisplayQueryWithIdL@CDrmUtilityUI@DRM@@QAEHHH@Z @ 10 NONAME ; int DRM::CDrmUtilityUI::DisplayQueryWithIdL(int, int)
+ ?DisplayQueryWithIdValueL@CDrmUtilityUI@DRM@@QAEHHHABVTDesC16@@@Z @ 11 NONAME ; int DRM::CDrmUtilityUI::DisplayQueryWithIdValueL(int, int, class TDesC16 const &)
+ ?GetOmaRightsStatusL@CDrmUtilityCommon@DRM@@QAE?AW4TDrmRightsInfo@2@AAPAVHBufC8@@W4TIntent@ContentAccess@@PAVCDRMConstraint@@@Z @ 12 NONAME ; enum DRM::TDrmRightsInfo DRM::CDrmUtilityCommon::GetOmaRightsStatusL(class HBufC8 * &, enum ContentAccess::TIntent, class CDRMConstraint *)
+ ?GetWrapper@CDrmUtilityWMDrm@DRM@@QAEPAVMDrmUtilityWMDrmWrapper@2@XZ @ 13 NONAME ; class DRM::MDrmUtilityWMDrmWrapper * DRM::CDrmUtilityWMDrm::GetWrapper(void)
+ ?NewL@CDrmUtilityCommon@DRM@@SAPAV12@XZ @ 14 NONAME ; class DRM::CDrmUtilityCommon * DRM::CDrmUtilityCommon::NewL(void)
+ ?NewL@CDrmUtilityUI@DRM@@SAPAV12@PAVCCoeEnv@@@Z @ 15 NONAME ; class DRM::CDrmUtilityUI * DRM::CDrmUtilityUI::NewL(class CCoeEnv *)
+ ?NewL@CDrmUtilityWMDrm@DRM@@SAPAV12@PAVCCoeEnv@@@Z @ 16 NONAME ; class DRM::CDrmUtilityWMDrm * DRM::CDrmUtilityWMDrm::NewL(class CCoeEnv *)
+ ?NewLC@CDrmUtilityCommon@DRM@@SAPAV12@XZ @ 17 NONAME ; class DRM::CDrmUtilityCommon * DRM::CDrmUtilityCommon::NewLC(void)
+ ?NewLC@CDrmUtilityUI@DRM@@SAPAV12@PAVCCoeEnv@@@Z @ 18 NONAME ; class DRM::CDrmUtilityUI * DRM::CDrmUtilityUI::NewLC(class CCoeEnv *)
+ ?NewLC@CDrmUtilityWMDrm@DRM@@SAPAV12@PAVCCoeEnv@@@Z @ 19 NONAME ; class DRM::CDrmUtilityWMDrm * DRM::CDrmUtilityWMDrm::NewLC(class CCoeEnv *)
+ ?SetAutomatedQueryL@CDrmUtilityUI@DRM@@QAEHPAVCDRMConstraint@@@Z @ 20 NONAME ; int DRM::CDrmUtilityUI::SetAutomatedQueryL(class CDRMConstraint *)
+ ?ShowFutureRightsNoteL@CDrmUtilityUI@DRM@@QAEXPAVCDRMConstraint@@@Z @ 21 NONAME ; void DRM::CDrmUtilityUI::ShowFutureRightsNoteL(class CDRMConstraint *)
--- a/commondrm/drmutility/data/drmutility.rss Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/data/drmutility.rss Tue Aug 31 15:29:38 2010 +0300
@@ -21,15 +21,11 @@
// INCLUDES
#include <eikon.rh>
-#include <avkon.rsg>
+#include <eikon.rsg>
#include <avkon.rh>
-#include <avkon.hrh>
+#include <avkon.rsg>
+#include <avkon.loc>
#include <avkon.mbg>
-#include <bldvariant.hrh>
-#include <avkon.loc>
-#include <bldvariant.hrh>
-#include <CommonDialogs.hrh>
-#include <CommonDialogs.rh>
#include <drmutility.loc>
@@ -601,56 +597,4 @@
#endif // RD_DRM_PREVIEW_RIGHT_FOR_AUDIO
-// -----------------------------------------------------------------------------
-// r_drmutility_sync_with_pc
-// Text displayed if WMDRM Direct License Acquisition is supported to
-// notify user that license needs to be aquired with PC sync.
-// -----------------------------------------------------------------------------
-RESOURCE TBUF r_drmutility_sync_with_pc
- {
- buf = qtn_drm_sync_with_pc;
- }
-
-// -----------------------------------------------------------------------------
-// r_drmutility_sync_with_pc_header
-// Header displayed if WMDRM Direct License Acquisition is supported to
-// notify user that license needs to be aquired with PC sync.
-// -----------------------------------------------------------------------------
-RESOURCE TBUF r_drmutility_head_no_license
- {
- buf = qtn_drm_msg_qry_head_no_license;
- }
-
-//------------------------------------------------------------------------------
-//
-// r_drmutility_sync_dialog
-// Shows the user a dialog that license needs to be synced with pc
-//
-//------------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_drmutility_sync_dialog
- {
- flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
- buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
- items =
- {
- DLG_LINE
- {
- type = EAknCtPopupHeadingPane;
- id = EAknMessageQueryHeaderId;
- control = AVKON_HEADING
- {
- };
- },
- DLG_LINE
- {
- type = EAknCtMessageQuery;
- id = EAknMessageQueryContentId;
- control = AVKON_MESSAGE_QUERY
- {
- };
- }
- };
-
- }
// End of File
--- a/commondrm/drmutility/eabi/DrmUtilityDmgrWrapperu.def Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/eabi/DrmUtilityDmgrWrapperu.def Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,3 @@
-EXPORTS
+EXPORTS
_Z16GateFunctionDMgrv @ 1 NONAME
- _ZTI22CDrmUtilityDmgrWrapper @ 2 NONAME ; #<TI>#
- _ZTV22CDrmUtilityDmgrWrapper @ 3 NONAME ; #<VT>#
--- a/commondrm/drmutility/eabi/drmutilitycommonu.def Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/eabi/drmutilitycommonu.def Tue Aug 31 15:29:38 2010 +0300
@@ -9,16 +9,15 @@
_ZN3DRM13CDrmUtilityUI13DisplayQueryLEii @ 8 NONAME
_ZN3DRM13CDrmUtilityUI18SetAutomatedQueryLEP14CDRMConstraint @ 9 NONAME
_ZN3DRM13CDrmUtilityUI19DisplayQueryWithIdLEii @ 10 NONAME
- _ZN3DRM13CDrmUtilityUI20DisplayMessageQueryLEiiRK7TDesC16 @ 11 NONAME
- _ZN3DRM13CDrmUtilityUI21ShowFutureRightsNoteLEP14CDRMConstraint @ 12 NONAME
- _ZN3DRM13CDrmUtilityUI24DisplayQueryWithIdValueLEiiRK7TDesC16 @ 13 NONAME
- _ZN3DRM13CDrmUtilityUI30DisplayPopupWindowsForPreviewLERN13ContentAccess5CDataEii @ 14 NONAME
- _ZN3DRM13CDrmUtilityUI4NewLEP7CCoeEnv @ 15 NONAME
- _ZN3DRM13CDrmUtilityUI5NewLCEP7CCoeEnv @ 16 NONAME
- _ZN3DRM16CDrmUtilityWMDrm10GetWrapperEv @ 17 NONAME
- _ZN3DRM16CDrmUtilityWMDrm4NewLEP7CCoeEnv @ 18 NONAME
- _ZN3DRM16CDrmUtilityWMDrm5NewLCEP7CCoeEnv @ 19 NONAME
- _ZN3DRM17CDrmUtilityCommon19GetOmaRightsStatusLERP6HBufC8N13ContentAccess7TIntentEP14CDRMConstraint @ 20 NONAME
- _ZN3DRM17CDrmUtilityCommon4NewLEv @ 21 NONAME
- _ZN3DRM17CDrmUtilityCommon5NewLCEv @ 22 NONAME
+ _ZN3DRM13CDrmUtilityUI21ShowFutureRightsNoteLEP14CDRMConstraint @ 11 NONAME
+ _ZN3DRM13CDrmUtilityUI24DisplayQueryWithIdValueLEiiRK7TDesC16 @ 12 NONAME
+ _ZN3DRM13CDrmUtilityUI30DisplayPopupWindowsForPreviewLERN13ContentAccess5CDataEii @ 13 NONAME
+ _ZN3DRM13CDrmUtilityUI4NewLEP7CCoeEnv @ 14 NONAME
+ _ZN3DRM13CDrmUtilityUI5NewLCEP7CCoeEnv @ 15 NONAME
+ _ZN3DRM16CDrmUtilityWMDrm10GetWrapperEv @ 16 NONAME
+ _ZN3DRM16CDrmUtilityWMDrm4NewLEP7CCoeEnv @ 17 NONAME
+ _ZN3DRM16CDrmUtilityWMDrm5NewLCEP7CCoeEnv @ 18 NONAME
+ _ZN3DRM17CDrmUtilityCommon19GetOmaRightsStatusLERP6HBufC8N13ContentAccess7TIntentEP14CDRMConstraint @ 19 NONAME
+ _ZN3DRM17CDrmUtilityCommon4NewLEv @ 20 NONAME
+ _ZN3DRM17CDrmUtilityCommon5NewLCEv @ 21 NONAME
--- a/commondrm/drmutility/group/DRMUiHandlingImpl.mmp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2006-2007 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: Project definition file for DRM Utility
-*
-*/
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET DRMUiHandlingImpl.dll
-TARGETTYPE dll
-UID 0x1000008D 0x10205CBE
-
-CAPABILITY CAP_GENERAL_DLL DRM
-VENDORID VID_DEFAULT
-
-#ifdef __DRM
-SOURCE ../src/DrmUiHandlingImpl.cpp
-SOURCE ../src/drmuihandlingdata.cpp
-SOURCE ../src/DrmUtilityDownloadManager.cpp
-#endif
-
-USERINCLUDE ../inc
-USERINCLUDE ../../../omadrm/drmengine/roap/inc
-USERINCLUDE ../../../omadrm/drmengine/roapstorage/inc
-USERINCLUDE ../../../omadrm/drmengine/server/inc
-USERINCLUDE ../../../inc // ADo level inc dir
-
-// Default system include paths for middleware layer modules.
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/ecom // needed because of SchemeHandler
-
-LIBRARY euser.lib
-LIBRARY apparc.lib // for launching rights mgr ui embedded
-LIBRARY avkon.lib
-LIBRARY efsrv.lib // for launching rights mgr ui embedded
-LIBRARY apgrfx.lib
-LIBRARY ws32.lib
-LIBRARY centralrepository.lib
-LIBRARY servicehandler.lib
-LIBRARY caf.lib
-LIBRARY cafutils.lib
-LIBRARY charconv.lib
-LIBRARY ecom.lib // for scheme handling
-LIBRARY cmmanager.lib
-
-#ifdef __DRM
-LIBRARY drmutilitycommon.lib
-LIBRARY drmutility.lib
-LIBRARY roaphandler.lib
-LIBRARY drmparsers.lib
-LIBRARY drmdcf.lib
-LIBRARY dcfrep.lib
-LIBRARY drmrights.lib
-LIBRARY drmserverinterfaces.lib
-LIBRARY drmcommon.lib
-#endif
-
-DOCUMENT bld.inf
-
-#if defined(ARMCC)
-deffile ../eabi/
-#elif defined( WINSCW )
-deffile ../bwinscw/
-#elif defined( WINS )
-deffile ../bwins/
-#else
-deffile ../bmarm/
-#endif
-
-SMPSAFE
--- a/commondrm/drmutility/group/DrmUtilityDmgrWrapper.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/group/DrmUtilityDmgrWrapper.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-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"
@@ -28,6 +28,7 @@
#ifdef __DRM
SOURCE ../src/DrmUtilityDmgrWrapper.cpp
+SOURCE ../src/drmutilityconnection.cpp
#endif
START RESOURCE ../data/DrmUtilityDmgrWrapper.rss
@@ -39,13 +40,14 @@
USERINCLUDE ../inc
USERINCLUDE ../../../omadrm/drmengine/roap/inc
USERINCLUDE ../../../inc // ADo level inc dir
-
+USERINCLUDE ../traces // OST definitions
// Default system include paths for middleware layer modules.
-APP_LAYER_SYSTEMINCLUDE
+MW_LAYER_SYSTEMINCLUDE
LIBRARY euser.lib
-LIBRARY centralrepository.lib
-LIBRARY cmmanager.lib
+LIBRARY cmmanager.lib // RCmManager CCmApplicationSettingsUi
+LIBRARY esock.lib // RConnection, RSocketServ
+LIBRARY extendedconnpref.lib netmeta.lib // TExtendedConnPref
LIBRARY downloadmgr.lib
LIBRARY roaphandler.lib
LIBRARY efsrv.lib
--- a/commondrm/drmutility/group/bld.inf Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/group/bld.inf Tue Aug 31 15:29:38 2010 +0300
@@ -33,8 +33,6 @@
#if (defined __WINDOWS_MEDIA_DRM)
drmutilitywmdrmwrapper.mmp
#endif // __WINDOWS_MEDIA_DRM
-DrmUtilityDmgrWrapper.mmp
-DRMUiHandlingImpl.mmp
DRMAutomatedUsageImpl.mmp
DrmRightsInfoImpl.mmp
--- a/commondrm/drmutility/group/drmutilitycommon.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/group/drmutilitycommon.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -42,6 +42,7 @@
USERINCLUDE ../inc
USERINCLUDE ../../../omadrm/drmengine/server/inc
USERINCLUDE ../../../inc // ADo level inc dir
+USERINCLUDE ../../drmui/drmuidialogs/inc
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
@@ -61,6 +62,7 @@
LIBRARY aknnotify.lib
LIBRARY drmrights.lib // Permission, Constraint
LIBRARY drmserverinterfaces.lib // DrmClockClient, DrmRightsClient
+LIBRARY drmuidialogs.lib
DOCUMENT bld.inf
--- a/commondrm/drmutility/group/drmutilitywmdrmwrapper.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/group/drmutilitywmdrmwrapper.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -37,12 +37,6 @@
// Default system include paths for application layer modules.
APP_LAYER_SYSTEMINCLUDE
-START RESOURCE ../data/drmutility.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
LIBRARY aknnotify.lib
LIBRARY apparc.lib // for launching rights mgr ui embedded
LIBRARY euser.lib
@@ -58,7 +52,6 @@
LIBRARY servicehandler.lib
LIBRARY drmserverinterfaces.lib // DrmClockClient
LIBRARY drmrights.lib
-LIBRARY featdiscovery.lib
DOCUMENT bld.inf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/group/qt/drmuihandlingimpl.pri Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,23 @@
+
+#
+# Copyright (c) 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:
+#
+
+
+# Input
+HEADERS += ../../inc/DrmUiHandlingImpl.h \
+ ../../inc/drmuihandlingdata.h \
+ ../../inc/DrmUtilityDownloadManager.h
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/group/qt/drmuihandlingimpl.pro Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,96 @@
+
+#
+# Copyright (c) 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:
+#
+
+include ( drmuihandlingimpl.pri )
+
+IncludeBlock = \
+ "$${LITERAL_HASH}include <data_caging_paths.hrh>" \
+ "$${LITERAL_HASH}include <platform_paths.hrh>"
+MMP_RULES += IncludeBlock
+
+TEMPLATE = lib
+TARGET = DRMUiHandlingImpl
+
+SrcIfdefBlock = \
+ "$${LITERAL_HASH}ifdef __DRM" \
+ "SOURCE ../../src/DrmUiHandlingImpl.cpp" \
+ "SOURCE ../../src/drmuihandlingdata.cpp" \
+ "SOURCE ../../src/DrmUtilityDownloadManager.cpp" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += SrcIfdefBlock
+
+symbian: {
+ TARGET.CAPABILITY = CAP_GENERAL_DLL DRM
+ TARGET.VID = VID_DEFAULT
+ TARGET.UID3 = 0x10205CBE
+ TARGET.EPOCALLOWDLLDATA = 1
+ INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+ INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+ INCLUDEPATH += ../../inc
+ INCLUDEPATH += ../../../../omadrm/drmengine/roap/inc
+ INCLUDEPATH += ../../../../omadrm/drmengine/roapstorage/inc
+ INCLUDEPATH += ../../../../omadrm/drmengine/server/inc
+ INCLUDEPATH += ../../../../inc // ADo level inc dir
+ INCLUDEPATH += /epoc32/include/platform/mw/cwrt
+ INCLUDEPATH += /epoc32/include/ecom
+
+ LIBS += -leuser
+ LIBS += -lapparc // for launching rights mgr ui embedded
+ LIBS += -lavkon
+ LIBS += -lefsrv // for launching rights mgr ui embedded
+ LIBS += -lapgrfx
+ LIBS += -lws32
+ LIBS += -lcentralrepository
+ LIBS += -lservicehandler
+ LIBS += -lcaf
+ LIBS += -lcafutils
+ LIBS += -lcharconv
+ LIBS += -lecom // for scheme handling
+ LIBS += -lcmmanager
+ LIBS += -ldrmbrowserlauncher
+
+ IfdefLibBlock = \
+ "$${LITERAL_HASH}ifdef __DRM" \
+ "LIBRARY drmutilitycommon.lib" \
+ "LIBRARY drmutility.lib" \
+ "LIBRARY roaphandler.lib" \
+ "LIBRARY drmparsers.lib" \
+ "LIBRARY drmdcf.lib" \
+ "LIBRARY dcfrep.lib" \
+ "LIBRARY drmrights.lib" \
+ "LIBRARY drmserverinterfaces.lib" \
+ "LIBRARY drmcommon.lib" \
+ "$${LITERAL_HASH}endif"
+
+ MMP_RULES += IfdefLibBlock
+
+ defBlock = \
+ "$${LITERAL_HASH}if defined(ARMCC)" \
+ "DEFFILE ../../eabi/" \
+ "$${LITERAL_HASH}elif defined( WINSCW )" \
+ "DEFFILE ../../bwinscw/" \
+ "$${LITERAL_HASH}elif defined( WINS )" \
+ "DEFFILE ../../bwins/" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../../bmarm/" \
+ "$${LITERAL_HASH}endif"
+
+ MMP_RULES += defBlock
+
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/group/qt/drmutilitydmgrwrapper.pri Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,25 @@
+
+#
+# Copyright (c) 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:
+#
+
+
+# Input
+HEADERS += ../../../../inc/DrmUtilityDmgrWrapper.h \
+ ../../inc/drmutilityconnection.h \
+ ../../inc/qdrmutilitydmgreventhandler.h
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/group/qt/drmutilitydmgrwrapper.pro Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,88 @@
+
+#
+# Copyright (c) 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:
+#
+
+include ( drmutilitydmgrwrapper.pri )
+
+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" \
+ "SOURCE ../../src/drmutilityconnection.cpp" \
+ "SOURCE ../../src/qdrmutilitydmgreventhandler.cpp" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += SrcIfdefBlock
+
+symbian: {
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+ TARGET.VID = VID_DEFAULT
+ TARGET.UID3 = 0x102830FE
+ TARGET.EPOCALLOWDLLDATA = 1
+ INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+ INCLUDEPATH += ../../inc
+ INCLUDEPATH += ../../../../omadrm/drmengine/roap/inc
+ INCLUDEPATH += ../../../../inc // ADo level inc dir
+ INCLUDEPATH += ../../traces // OST definitions
+ INCLUDEPATH += /epoc32/include/platform/mw/cwrt
+
+ LIBS += -leuser
+ LIBS += -lcmmanager // RCmManager CCmApplicationSettingsUi
+ LIBS += -lesock // RConnection, RSocketServ
+ LIBS += -lextendedconnpref
+ LIBS += -lnetmeta // TExtendedConnPref
+ LIBS += -lWrtDownloadMgr
+ LIBS += -lroaphandler
+ LIBS += -lefsrv
+ LIBS += -lavkon
+ LIBS += -lcommonengine
+ LIBS += -leikctl
+ LIBS += -lplatformenv
+ LIBS += -lflogger
+
+ ResourceBlock = \
+ "START RESOURCE ../../data/DrmUtilityDmgrWrapper.rss" \
+ "HEADER" \
+ "TARGETPATH RESOURCE_FILES_DIR" \
+ "LANGUAGE_IDS" \
+ "END"
+
+ MMP_RULES += ResourceBlock
+
+ defBlock = \
+ "$${LITERAL_HASH}if defined(ARMCC)" \
+ "DEFFILE ../../eabi/" \
+ "$${LITERAL_HASH}elif defined( WINSCW )" \
+ "DEFFILE ../../bwinscw/" \
+ "$${LITERAL_HASH}elif defined( WINS )" \
+ "DEFFILE ../../bwins/" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../../bmarm/" \
+ "$${LITERAL_HASH}endif"
+
+ MMP_RULES += defBlock
+
+ }
+
--- a/commondrm/drmutility/inc/DrmUiHandlingImpl.h Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/inc/DrmUiHandlingImpl.h Tue Aug 31 15:29:38 2010 +0300
@@ -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"
@@ -32,7 +32,6 @@
//*** forward declarations go here:
class CCoeEnv;
class CDRMConstraint;
-class CSchemeHandler;
namespace ContentAccess
{
@@ -778,16 +777,6 @@
TBool SilentRightsAllowedL();
/**
- * Check if browser AP has been defined
- */
- TBool BrowserAPDefinedL();
-
- /**
- * Returns the number of access points on phone
- */
- TInt APCountL();
-
- /**
* Handles exit from service
* from MAknServerAppExitObserver
*/
@@ -866,9 +855,6 @@
// Wait for the notes and queries
CActiveSchedulerWait iWait;
- // Schemehandler for url handling
- CSchemeHandler* iSchemeHandler;
-
// Operation Queue:
CDrmUiHandlingData* iFirst;
CDrmUiHandlingData* iLast;
--- a/commondrm/drmutility/inc/DrmUtilityGlobalNoteWrapper.h Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/inc/DrmUtilityGlobalNoteWrapper.h Tue Aug 31 15:29:38 2010 +0300
@@ -23,7 +23,6 @@
// INCLUDES
#include <e32base.h>
#include <stringresourcereader.h>
-#include <AknGlobalMsgQuery.h>
namespace DRM
{
@@ -103,16 +102,6 @@
TInt aValuePos = -1 );
/**
- * Asynchronous wrapper for showing global message query.
- * @param aMessageResourceId resource id of string to be displayed
- * @param aHeaderResourceId resource id of header to be displayed in the query
- * @param aString string that replaces %U in resource string
- */
- void ShowMessageQueryL(TInt aMessageResourceId,
- TInt aHeaderResourceId,
- const TDesC& aString);
-
- /**
* Synchronous wrapper for showing global preview list query.
* @param aTextResourceId resource id of preview structure to be
* displayed
@@ -158,13 +147,6 @@
// Resource id of buttons in confirmation query
TInt iButtonsId;
-
- // AVKON Global message query, used in method ShowMessageQueryL, activated asynchronously so needs to be owned
- CAknGlobalMsgQuery* iGlobalMsgQuery;
- // Message buffer for the global message query, contains dialog text with replaced string
- TBuf<KDRMNoteBufferMaxSize + KMaxFileName> iFinalMessageBuffer;
- // Message buffer for the global message query header text
- TBuf<KDRMNoteBufferMaxSize> iHeaderBuffer;
};
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/inc/drmutilityconnection.h Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,191 @@
+/*
+* Copyright (c) 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:
+*
+*/
+#ifndef DRMUTILITYCONNECTION_H
+#define DRMUTILITYCONNECTION_H
+
+#include <e32base.h> // CActive
+#include <es_sock.h> // RConnection, RSocketServ
+
+namespace DRM
+{
+
+ /**
+ * Utility class for DRMutility dmgr wrapper related common functions
+ *
+ * @since S60 v9.2
+ */
+
+
+// CLASS DECLARATION
+// Class for handling internal connectivity logic
+NONSHARABLE_CLASS( CDrmUtilityConnection ): public CActive
+ {
+public: // Constructors and destructor.
+
+ /**
+ *
+ */
+ static CDrmUtilityConnection * NewL( const TBool aAllowQueries );
+
+ /**
+ *
+ */
+ static CDrmUtilityConnection * NewLC( const TBool aAllowQueries );
+
+ /**
+ * Destructor
+ */
+ ~CDrmUtilityConnection();
+
+public: // new methods
+
+ /**
+ *
+ */
+ void ConnectL( TRequestStatus* aStatus );
+
+ /**
+ *
+ */
+ void Close();
+
+ /**
+ *
+ */
+ TBool HasMoreConnectionAttempts();
+
+ /**
+ *
+ */
+ TBool IsConnected( TUint32& aIap );
+
+ /**
+ * Check if default connection has been defined
+ * @see RCmManager::ReadDefConnL
+ */
+ static TBool HasDefaultConnectionL();
+
+ /**
+ * Check if system has access points defined
+ */
+ static TBool HasAccessPointsL();
+
+
+
+private: //enumerations
+ enum TConnectionType
+ {
+ EAttachExisting, //0
+ EUsingDefault, //1
+ EUsingPurposeOperator, // 2
+ EUsingPurposeInternet, // 3
+ EUsingQuery, // 4
+ EFail // 5
+ };
+
+ enum TState
+ {
+ EInit, // 0
+ EConnecting, // 1
+ EConnected, // 2
+ EConnectFailed // 3
+ };
+
+private: // Constructors and destructor.
+
+ /**
+ * Default constructor (for preventing inheritance)
+ */
+ CDrmUtilityConnection( TBool aAllowQueries );
+
+ /**
+ * Second phase constructor
+ */
+ void ConstructL();
+
+private: // from CActive
+
+ virtual void DoCancel();
+
+ virtual void RunL();
+
+ virtual TInt RunError( TInt aError );
+
+private: // new methods
+
+ /**
+ *
+ */
+ void DoClose();
+
+ /**
+ *
+ */
+ void Done();
+
+ /**
+ *
+ */
+ void InitL();
+
+ /**
+ *
+ */
+ void AttachExistingConnectionL();
+
+ /**
+ *
+ */
+ void ConnectUsingDefaultL();
+
+ /**
+ *
+ */
+ void ConnectUsingSnapPurposeL( const TUint32 aPurpose );
+
+ /**
+ *
+ */
+ void ConnectUsingQueryL();
+
+ /**
+ *
+ */
+ void UpdateIapIdL();
+
+ /**
+ *
+ */
+ void CompleteSelf( TInt aError );
+
+ /**
+ *
+ */
+ void CompleteParent( TInt aError );
+
+private: // data
+
+ RSocketServ iSocketServ;
+ RConnection iConnection;
+ TState iState;
+ TConnectionType iType;
+ TRequestStatus* iParentStatus;
+ const TBool iAllowQueries;
+ TUint32 iIapId;
+ };
+}
+#endif /* DRMUTILITYCONNECTION_H */
--- a/commondrm/drmutility/inc/drmutilityui.h Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/inc/drmutilityui.h Tue Aug 31 15:29:38 2010 +0300
@@ -24,8 +24,6 @@
#include <f32file.h>
#include <AknNotifyStd.h>
-#include "DrmUtilityGlobalNoteWrapper.h"
-
//*** forward declarations go here:
class CDRMConstraint;
class CCoeEnv;
@@ -125,18 +123,8 @@
ContentAccess::CData& aContent,
TInt aPreviewType,
TInt aMediaType );
-
- /*
- * Utility method for showing an AVKON Message Query dialog, with buttons R_AVKON_SOFTKEYS_OK_EMPTY__OK.
- *
- * @param aMessage Resource ID for the dialog message.
- * @param aHeader Resource ID for the dialog header.
- * @param aString Replacement string for dialog message content. Replaces aMessage resources strings %U mark.
- * @return Returns button code TInt from the dialog.
- */
- IMPORT_C TInt DisplayMessageQueryL( TInt aMessage, TInt aHeader, const TDesC& aString );
-
+
protected:
private:
@@ -186,8 +174,6 @@
RPointerArray<CDrmUtilityInfoNoteWrapper> iNoteList;
CMediatorEventProvider* iEventProvider;
-
- CDrmUtilityGlobalNoteWrapper* iNoteWrapper;
};
}
--- a/commondrm/drmutility/inc/drmutilitywmdrmwrapper.h Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/inc/drmutilitywmdrmwrapper.h Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2007 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"
@@ -187,7 +187,9 @@
// Show the appropriate notes
void ShowNoRightsNoteL(
ContentAccess::CData& aContent,
- TUint32 aReason );
+ TUint32 aReason,
+ TInt aOperationId,
+ DRM::MDrmHandleErrorObserver* aObserver );
//*** DLA:
@@ -213,7 +215,6 @@
RLibrary iDlaWrapperDll;
CWmDrmDlaWrapper* iDlaWrapper;
- TBool iWmDrmDlaSupportOn;
};
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/inc/qdrmutilitydmgreventhandler.h Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 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:
+*
+*/
+
+
+#ifndef QDRMUTILITYDMGREVENTHANDLER_H
+#define QDRMUTILITYDMGREVENTHANDLER_H
+
+#include <qobject.h>
+
+namespace WRT
+ {
+ class Download;
+ class DownloadEvent;
+ }
+
+class CDrmUtilityDmgrWrapper;
+
+class QDrmUtilityDmgrEventHandler : public QObject
+ {
+ Q_OBJECT
+
+ public:
+ QDrmUtilityDmgrEventHandler( CDrmUtilityDmgrWrapper& aDrmUtilityDmgrWrapper , WRT::Download& aDownload );
+
+ public slots:
+
+ /**
+ * Handle download manager events
+ *
+ * @param aEvent the event
+ */
+ void HandleDownloadEventL( WRT::DownloadEvent* aEvent );
+
+ private:
+ WRT::Download& iDownload;
+ CDrmUtilityDmgrWrapper& iDrmUtilityDmgrWrapper;
+
+ };
+
+#endif // QDRMUTILITYDMGREVENTHANDLER_H
--- a/commondrm/drmutility/loc/DRMUtility.loc Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/loc/DRMUtility.loc Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-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"
@@ -74,7 +74,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_query_waiting_for_ro "Waiting for license. Try again later."
+#define qtn_drm_query_waiting_for_ro "Waiting for licence. Try again later."
//d: Text in confirmation query that is displayed when user tries to render MO that is missing RO.
//d: The waiting time of RO to arrive has passed, and there is no possibility to get new RO (no rights
@@ -83,7 +83,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_query_ro_late "License not yet received. Expected time of delivery elapsed."
+#define qtn_drm_query_ro_late "Licence not yet received. Expected time of delivery elapsed."
//d: Text in confirmation query that is displayed when user tries to render MO that is missing RO.
//d: The waiting time of RO to arrive has passed, and there is possibility to get new RO (rights issuer url exists).
@@ -91,7 +91,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_query_ro_late_activate "License not yet received. Expected time of delivery elapsed. Get new license?"
+#define qtn_drm_query_ro_late_activate "Licence not yet received. Expected time of delivery elapsed. Get new licence?"
//d: Text in confirmation query when user is asked about updating account.
//d: Device is already connected to network, but must upgrade the domain key before rendering,
@@ -138,7 +138,7 @@
//w:
//r:
//
-#define qtn_drm_query_valid_rights_until "License for selected item valid until %U. Continue?"
+#define qtn_drm_query_valid_rights_until "Licence for selected item valid until %U. Continue?"
//d: Text in confirmation query
//l: popup_note_window
@@ -160,10 +160,3 @@
//r: 9.1
//
#define qtn_drm_msg_qry_head_no_license "No license"
-
-//d: Text in message query to notify user that the DRM license needs to be acquired with PC sync.
-//l: popup_note_window
-//w:
-//r: 9.2
-//
-#define qtn_drm_query_expired_connect_pc "You must have valid license to play %U. Please sync your phone with your PC to update license."
--- a/commondrm/drmutility/src/DrmUiHandlingImpl.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/src/DrmUiHandlingImpl.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -17,13 +17,6 @@
// INCLUDE FILES
-// connection
-#include <cmconnectionmethod.h>
-#include <cmdestination.h>
-#include <cmconnectionmethoddef.h>
-#include <cmmanager.h>
-#include <sacls.h>
-#include <utf.h>
// publish & subscribe
#include <e32property.h>
@@ -36,11 +29,6 @@
#include <avkon.hrh>
#include <aknenv.h>
-// browser
-#ifdef __SERIES60_NATIVE_BROWSER
-#include <browseruisdkcrkeys.h>
-#endif
-
// caf
#include <caf/data.h>
#include <caf/caftypes.h>
@@ -57,9 +45,6 @@
// character conversions
#include <utf.h>
-// handling urls
-#include <schemehandler.h>
-
// resources
#include <data_caging_path_literals.hrh>
#include <drmutility.rsg>
@@ -74,6 +59,14 @@
#include <drmutilitytypes.h>
#include <drmasyncobserver.h>
#include <drmhandleerrorobserver.h>
+#include <drmbrowserlauncher.h>
+
+//connectivity logic
+#include <cmconnectionmethod.h> // RCmConnectionMethod
+#include <cmdestination.h> // RCmDestination
+#include <cmmanager.h> // RCmManager
+
+
#ifdef _DEBUG
#include <e32debug.h>
@@ -96,6 +89,7 @@
#include "DRMDomainContext.h"
#include "DrmUtilityInternalcrkeys.h" // Cenrep extension for OmaBased
+#include "drmuidialogids.h"
// CONSTANTS
const TInt KCommandHandleErrorFile( 1 );
@@ -108,14 +102,6 @@
const TInt KCommandHandleUrlData( 8 );
const TInt KCommandAvailableUrlsFile( 9 );
const TInt KCommandAvailableUrlsData( 10 );
-// browser
-#ifndef __SERIES60_NATIVE_BROWSER
-const TUid KCRUidBrowser =
- {0x10008D39};
-const TUint32 KBrowserDefaultAccessPoint = 0x0000000E;
-const TUint32 KBrowserAccessPointSelectionMode = 0x0000001E;
-const TUint32 KBrowserNGDefaultSnapId = 0x00000053;
-#endif
_LIT( KEncryptedRightsIssuerMatchString, "flk*" );
@@ -136,6 +122,8 @@
const TInt KresOmaBasedBuf( 512 );
const TInt KNameBuf( 256 );
+const TInt KNoValue = -1;
+
#ifdef _DEBUG
// debug panic
_LIT( KDRMUtilityDebugPanicMessage, "DrmUiHandlingDebugPanic" );
@@ -144,6 +132,67 @@
// ============================= LOCAL FUNCTIONS ===============================
// -----------------------------------------------------------------------------
+// HasDefaultConnectionL
+// Finds default IAP id
+// @return Etrue: valid AP found
+// EFalse: valid AP not found
+// @leave system wide error codes
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TBool HasDefaultConnectionL()
+ {
+ TBool hasDefault(EFalse);
+ TCmDefConnValue defConn;
+ RCmManager cmManager;
+ cmManager.OpenLC();
+ cmManager.ReadDefConnL(defConn);
+ if (defConn.iType == ECmDefConnConnectionMethod)
+ {
+ cmManager.GetConnectionMethodInfoIntL(defConn.iId,
+ CMManager::ECmIapId);
+ hasDefault = ETrue;
+ }
+ else if (defConn.iType == ECmDefConnDestination)
+ {
+ RCmDestination dest(cmManager.DestinationL(defConn.iId));
+ CleanupClosePushL(dest);
+
+ if (dest.ConnectionMethodCount() <= 0)
+ {
+ User::Leave(KErrNotFound);
+ }
+
+ RCmConnectionMethod cMeth(dest.ConnectionMethodL(0));
+ CleanupClosePushL(cMeth);
+
+ cMeth.GetIntAttributeL(CMManager::ECmIapId);
+ CleanupStack::PopAndDestroy(&cMeth);
+ CleanupStack::PopAndDestroy(&dest);
+ hasDefault = ETrue;
+ }
+ CleanupStack::PopAndDestroy(&cmManager);
+ return hasDefault;
+ }
+
+// -----------------------------------------------------------------------------
+// HasAccessPointsL
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TBool HasAccessPointsL()
+ {
+ TInt apCount(0);
+ RCmManager cmManager;
+ CleanupClosePushL(cmManager);
+ cmManager.OpenL();
+ RArray<TUint32> aps;
+ CleanupClosePushL(aps);
+ cmManager.ConnectionMethodL(aps, EFalse, EFalse, ETrue);
+ apCount = aps.Count();
+ CleanupStack::PopAndDestroy(2, &cmManager); //aps, cmManager
+ return apCount > 0;
+ }
+
+// -----------------------------------------------------------------------------
// MapToCallError
// -----------------------------------------------------------------------------
//
@@ -158,30 +207,16 @@
}
// -----------------------------------------------------------------------------
-// IapIdOfDefaultSnapL
-// for trapping purposes only
+// HasDefConn
// -----------------------------------------------------------------------------
//
-LOCAL_C TUint32 IapIdOfDefaultSnapL(
- RCmManager& aCmManager,
- const TUint32 aDefaultSnap )
+inline TBool HasDefConn()
{
- RCmDestination dest( aCmManager.DestinationL( aDefaultSnap ) );
- CleanupClosePushL( dest );
- TUint32 iapIdOfDest( 0 );
-
- if ( dest.ConnectionMethodCount() <= 0 )
- {
- User::Leave( KErrNotFound );
- }
-
- RCmConnectionMethod cMeth( dest.ConnectionMethodL( 0 ) );
- CleanupClosePushL( cMeth );
-
- iapIdOfDest = cMeth.GetIntAttributeL( CMManager::ECmIapId );
- CleanupStack::PopAndDestroy( &cMeth );
- CleanupStack::PopAndDestroy( &dest );
- return iapIdOfDest;
+ TBool found( EFalse );
+
+ TRAP_IGNORE( found = HasDefaultConnectionL() );
+
+ return found;
}
// ---------------------------------------------------------
@@ -402,8 +437,6 @@
delete iDrmUtilityUi;
- delete iSchemeHandler;
-
delete iWrapperLoader;
delete iOmaBasedAgentName;
@@ -1803,8 +1836,8 @@
TBool onlyMeteringRejection( reason == DRM::EURejectionMetering );
if ( onlyMeteringRejection )
{
- iDrmUtilityUi->DisplayQueryWithIdL( R_DRM_QUERY_METERING_DISABLED,
- R_DRMUTILITY_WAITING_RIGHTS_CONFIRMATION_QUERY );
+ // Qt dialog not implemented yet
+ iDrmUtilityUi->DisplayNoteL( EConfUnableToOpen );
CleanupStack::PopAndDestroy( contentId );
return;
@@ -2935,9 +2968,8 @@
if ( RejectReason( aReason ) == DRM::EURejectionMetering )
{
// Show that only reason for error was rejected metering.
- iDrmUtilityUi->DisplayQueryWithIdL(
- R_DRM_QUERY_METERING_DISABLED,
- R_DRMUTILITY_WAITING_RIGHTS_CONFIRMATION_QUERY );
+ // Qt dialog not implemented yet
+ iDrmUtilityUi->DisplayNoteL( EConfUnableToOpen );
}
else
{
@@ -3458,7 +3490,7 @@
HBufC* etaBuf( NULL );
TBool isRegistered( EFalse );
TBool isJoined( EFalse );
- TInt ret( 0 );
+ TInt ret( ECancelled );
TInt err( KErrNone );
TInt eta( 0 );
TFileName fileName;
@@ -3484,16 +3516,13 @@
// rights should have come already
if ( aRightsUrl )
{
- ret = iDrmUtilityUi->DisplayQueryWithIdL(
- R_DRMUTILITY_RIGHTS_SHOULD_HAVE_COME,
- R_DRMUTILITY_CONFIRMATION_QUERY );
+ ret = iDrmUtilityUi->DisplayQueryL( EQueryGetNewLicence, KNoValue );
}
else
{
// no rights issuer
- iDrmUtilityUi->DisplayQueryWithIdL(
- R_DRMUTILITY_RIGHTS_SHOULD_HAVE_COME_NO_RI,
- R_DRMUTILITY_WAITING_RIGHTS_CONFIRMATION_QUERY );
+ // Qt dialog not implemented yet
+ iDrmUtilityUi->DisplayNoteL( EConfLicenceNotReceived );
}
}
else if ( !eta || err || eta == -1 )
@@ -3507,17 +3536,13 @@
if ( aRightsUrl && isRegistered && !isJoined ) // Domain ro case
{
- ret = iDrmUtilityUi->DisplayQueryWithIdL(
- R_DRMUTILITY_ACTIVATE_ACCOUNT,
- R_DRMUTILITY_CONFIRMATION_QUERY );
+ ret = iDrmUtilityUi->DisplayQueryL( EQueryAccountUpdate, KNoValue );
}
else if ( aRightsUrl ) // Device ro case
{
if ( aReason & EConstraintIndividual )
{
- ret = iDrmUtilityUi->DisplayQueryWithIdL(
- R_DRMUTILITY_INVALID_SIM,
- R_DRMUTILITY_CONFIRMATION_QUERY );
+ ret = iDrmUtilityUi->DisplayQueryL( EQueryFileLockedForSim, KNoValue );
}
else
{
@@ -3525,19 +3550,20 @@
User::LeaveIfError( aContent.GetStringAttribute(
EFileName, fileName ) );
- ret = iDrmUtilityUi->DisplayQueryL(
- R_DRM_QUERY_EXPIRED_OR_NO_RO, fileName );
+ // Qt dialog not implemented yet
+ ret = iDrmUtilityUi->DisplayQueryL( EQueryFileWithNoRightsObj, fileName );
}
}
else // no rights issuer
{
if ( aReason & EConstraintIndividual )
{
- iDrmUtilityUi->DisplayNoteL( R_DRM_INFO_SIM_NOT_ALLOWED );
+ // Qt dialog not implemented yet
+ iDrmUtilityUi->DisplayNoteL( EConfFileLockedForSim );
}
else
{
- iDrmUtilityUi->DisplayNoteL( R_DRM_INFO_EXPIRED_OR_NO_RO );
+ iDrmUtilityUi->DisplayNoteL( EConfLicenceExpired );
}
}
}
@@ -3547,31 +3573,25 @@
if ( eta != KErrCAPendingRights )
{
// rights expected to arrive in eta seconds
- iDrmUtilityUi->DisplayQueryWithIdL(
- R_DRMUTILITY_WAITING_FOR_RIGHTS,
- R_DRMUTILITY_WAITING_RIGHTS_CONFIRMATION_QUERY );
+ iDrmUtilityUi->DisplayNoteL( EConfWaitingForLicence );
}
else
{
// rights should have come
if ( aRightsUrl )
{
- ret = iDrmUtilityUi->DisplayQueryWithIdL(
- R_DRMUTILITY_RIGHTS_SHOULD_HAVE_COME,
- R_DRMUTILITY_CONFIRMATION_QUERY );
+ ret = iDrmUtilityUi->DisplayQueryL( EQueryGetNewLicence, KNoValue );
}
else
{
// no rights issuer
- iDrmUtilityUi->DisplayQueryWithIdL(
- R_DRMUTILITY_RIGHTS_SHOULD_HAVE_COME_NO_RI,
- R_DRMUTILITY_WAITING_RIGHTS_CONFIRMATION_QUERY );
+ // Qt dialog not implemented yet
+ iDrmUtilityUi->DisplayNoteL( EConfLicenceNotReceived );
}
}
}
}
-
- if ( ret == EAknSoftkeyYes || ret == EAknSoftkeyOk )
+ if ( ret == EOk )
{
rightsRenewalWanted = ETrue;
}
@@ -4050,25 +4070,11 @@
ptrc.Set( *newUrl );
}
- CSchemeHandler* schemeHandler( CSchemeHandler::NewL( ptrc ) );
- CleanupStack::PushL( schemeHandler );
- if ( iCoeEnv )
- {
- embeddedLaunch = ETrue;
- // launch embedded
- schemeHandler->Observer( this );
- schemeHandler->HandleUrlEmbeddedL();
- CleanupStack::Pop( schemeHandler );
- iSchemeHandler = schemeHandler;
- iWait.Start();
- }
- else
- {
- // no CoeEnv, launch standalone with scheme app
- schemeHandler->HandleUrlStandaloneL();
- CleanupStack::PopAndDestroy( schemeHandler );
- }
- schemeHandler = NULL;
+ CDrmBrowserLauncher* browserLauncher = CDrmBrowserLauncher::NewLC();
+
+ browserLauncher->LaunchUrlL(ptrc);
+
+ CleanupStack::PopAndDestroy(); // browserLauncher
// delete newUrl if needed
if ( newUrl )
@@ -4087,39 +4093,38 @@
const TBool aShowNotes )
{
TInt r( KErrCancel );
- TInt buttonCode( EAknSoftkeyYes );
+ TInt buttonCode( EOk );
HBufC8* url( NULL );
if ( !SilentRightsAllowedL() )
{
- buttonCode = EAknSoftkeyNo;
+ buttonCode = ECancelled;
if ( aShowNotes )
{
- buttonCode = iDrmUtilityUi->DisplayQueryWithIdL(
- R_DRM_QRY_CONNECT_TO_ACTIVATE,
- R_DRMUTILITY_CONFIRMATION_QUERY );
+ // Qt dialog not implemented yet
+ buttonCode = iDrmUtilityUi->DisplayQueryL( EQueryConnectToActivate, KNoValue );
}
}
- else if ( !BrowserAPDefinedL() )
+ else if ( !(HasDefConn()) )
{
- buttonCode = EAknSoftkeyNo;
+ buttonCode = ECancelled;
if ( aShowNotes )
{
- buttonCode = iDrmUtilityUi->DisplayQueryWithIdL(
- R_DRM_QRY_CONNECT_TO_ACTIVATE,
- R_DRMUTILITY_CONFIRMATION_QUERY );
+ // Qt dialog not implemented yet
+ buttonCode = iDrmUtilityUi->DisplayQueryL( EQueryConnectToActivate, KNoValue );
}
}
- if ( buttonCode == EAknSoftkeyYes || buttonCode == EAknSoftkeyOk )
+ if ( buttonCode == EOk )
{
- TInt APs( APCountL() );
+ TBool APs( HasAccessPointsL() );
if ( !APs )
{
// No AP defined
if ( aShowNotes )
{
- iDrmUtilityUi->DisplayNoteL( R_DRM_WARN_NO_CONN_DEFINED );
+ // Qt dialog not implemented yet
+ iDrmUtilityUi->DisplayNoteL( EConfNoAccessPoint );
}
r = KErrCANoRights;
}
@@ -4153,8 +4158,8 @@
// Connection failed with selected AP
if ( aShowNotes )
{
- iDrmUtilityUi->DisplayNoteL(
- R_DRM_WARN_INVALID_OR_NO_AP );
+ // Qt dialog not implemented yet
+ iDrmUtilityUi->DisplayNoteL( EConfConnectionFailed );
}
r = KErrCANoRights;
}
@@ -4171,13 +4176,10 @@
if ( errorUrl )
{
// ask user whether error url should be opened
- buttonCode
- = iDrmUtilityUi->DisplayQueryWithIdL(
- R_DRM_QUERY_OPEN_ERROR_URL,
- R_DRMUTILITY_CONFIRMATION_QUERY );
-
- if ( buttonCode == EAknSoftkeyYes
- || buttonCode == EAknSoftkeyOk )
+ // Qt dialog not implemented yet
+ buttonCode = iDrmUtilityUi->DisplayQueryL( EQueryOpenErrorUrl, KNoValue );
+
+ if ( buttonCode == EOk )
{
// Launch browser
LaunchBrowserL( errorUrl );
@@ -4185,8 +4187,8 @@
}
else
{
- iDrmUtilityUi->DisplayNoteL(
- R_DRM_ERR_OPENING_FAIL_PERM );
+ // Qt dialog not implemented yet
+ iDrmUtilityUi->DisplayNoteL( EConfUnableToUnlock );
}
CleanupStack::PopAndDestroy( errorUrl );
}
@@ -4213,84 +4215,16 @@
}
// -----------------------------------------------------------------------------
-// CDrmUiHandlingImpl::BrowserAPDefinedL
-// -----------------------------------------------------------------------------
-//
-TBool DRM::CDrmUiHandlingImpl::BrowserAPDefinedL()
- {
- const TInt KDestinationSelectionMode( 2 );
- TInt err( KErrNone );
- TInt ap( 0 );
- TInt alwaysAsk( 0 );
- TInt defaultSnap( 0 );
-
- CRepository* repository( CRepository::NewL( KCRUidBrowser ) );
- repository->Get( KBrowserDefaultAccessPoint, ap );
- repository->Get( KBrowserAccessPointSelectionMode, alwaysAsk );
- repository->Get( KBrowserNGDefaultSnapId, defaultSnap );
- delete repository;
- if ( ap <= KErrNotFound && defaultSnap <= KErrNotFound )
- {
- alwaysAsk = ETrue;
- }
- else
- {
- RCmManager cmManager;
- CleanupClosePushL( cmManager );
- cmManager.OpenL();
- if ( !alwaysAsk )
- {
- TRAP( err, cmManager.GetConnectionMethodInfoIntL(
- ap, CMManager::ECmIapId ) );
- }
- else if ( alwaysAsk == KDestinationSelectionMode )
- {
- TRAP( err, IapIdOfDefaultSnapL( cmManager, defaultSnap ) );
- }
- CleanupStack::PopAndDestroy( &cmManager );
- if ( !err && ( !alwaysAsk || alwaysAsk == KDestinationSelectionMode ) )
- {
- return ETrue;
- }
- }
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CDrmUiHandlingImpl::APCountL
-// -----------------------------------------------------------------------------
-//
-TInt DRM::CDrmUiHandlingImpl::APCountL()
- {
- TInt apCount( 0 );
- RCmManager cmManager;
- CleanupClosePushL( cmManager );
- cmManager.OpenL();
- RArray<TUint32> aps;
- CleanupClosePushL( aps );
- cmManager.ConnectionMethodL( aps, EFalse, EFalse, ETrue );
- apCount = aps.Count();
- CleanupStack::PopAndDestroy( 2, &cmManager ); //aps, cmManager
- return apCount;
- }
-
-// -----------------------------------------------------------------------------
// CDrmUiHandlingImpl::HandleServerAppExit
// -----------------------------------------------------------------------------
//
void DRM::CDrmUiHandlingImpl::HandleServerAppExit( TInt aReason )
{
- if ( aReason == EAknCmdExit && !iSchemeHandler )
+ if ( aReason == EAknCmdExit)
{
CAknEnv::RunAppShutter();
}
- if ( iSchemeHandler )
- {
- delete iSchemeHandler;
- iSchemeHandler = NULL;
- }
-
if ( iWait.IsStarted() )
{
iWait.AsyncStop();
--- a/commondrm/drmutility/src/DrmUtilityDmgrWrapper.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/src/DrmUtilityDmgrWrapper.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -1,68 +1,65 @@
/*
-* Copyright (c) 2007-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: Dynamically loadable wrapper for Download manager
-*
-*/
-
+ * Copyright (c) 2007-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: Dynamically loadable wrapper for Download manager
+ *
+ */
#include <centralrepository.h>
#include <cdblen.h>
#include <cmconnectionmethod.h>
#include <cmdestination.h>
#include <cmconnectionmethoddef.h>
#include <cmmanager.h>
-
-#ifdef __SERIES60_NATIVE_BROWSER
-#include <browseruisdkcrkeys.h>
-#endif
-
#ifdef RD_MULTIPLE_DRIVE
#include <driveinfo.h>
#endif
-
#include <StringLoader.h>
#include <data_caging_path_literals.hrh>
+#include <es_enum.h> // tconnectioninfo
+#include <es_enum_partner.h> // TConnectionInfoV2
+#include <es_sock.h> // rconnection rsocket
+#include <AknProgressDialog.h> // avkon classes
+#include <eikprogi.h>
+
#include <ConeResLoader.h>
#include <apparc.h>
#include <DrmUtilityDmgrWrapper.rsg>
-#include "RoapEng.h"
+#include <RoapEng.h>
+#include <RoapDef.h>
+#include <RoapObserver.h>
+
+// including files related to qt changes
+#include <qstring.h>
+#include <downloadmanager.h>
+#include <download.h>
+#include <dmcommon.h>
+#include <downloadevent.h>
+
#include "RoapSyncWrapper.h"
#include "RoapDef.h"
-
#include "DrmUtilityDmgrWrapper.h"
#include "DrmUtilityDmgrWrapperLogger.h"
+#include "drmutilityconnection.h"
+#include "buffercontainers.h" //CnameContainer etc.
+#include "cleanupresetanddestroy.h"
+#include "buffercontainers.h"
+#include "qdrmutilitydmgreventhandler.h"
-// DEBUG macros
-#ifdef _DEBUG
-#define DRMDEBUGLIT( a, b ) \
-_LIT( a , b )
-#define DRMDEBUG( a ) \
-RDebug::Print( a )
-#define DRMDEBUG2( a, b ) \
-RDebug::Print( a, b )
-#else
-#define DRMDEBUGLIT( a, b )
-#define DRMDEBUG( a )
-#define DRMDEBUG2( a, b )
-#endif
-
-// CONSTANTS
-#ifndef __SERIES60_NATIVE_BROWSER
-const TUid KCRUidBrowser = {0x10008D39};
-const TUint32 KBrowserDefaultAccessPoint = 0x0000000E;
-const TUint32 KBrowserAccessPointSelectionMode = 0x0000001E;
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "DrmUtilityDmgrWrapperTraces.h"
#endif
#ifndef RD_MULTIPLE_DRIVE
@@ -72,52 +69,129 @@
_LIT( KRomDriveFormatter, "%c:" );
_LIT( KKDrmUtilityTriggerFilePathFormatter, "%c:\\" );
#endif
+_LIT( KCDrmUtilityDmgrWrapperResFileName,"DrmUtilityDmgrWrapper.rsc" );
+const TInt KProgressInfoFinalValue(200);
+const TInt KProgressInfoIncrementSmall(5);
+const TInt KProgressInfoIncrementMedium(10);
+const TInt KProgressInfoIncrementLarge(30);
-_LIT( KCDrmUtilityDmgrWrapperResFileName,"DrmUtilityDmgrWrapper.rsc" );
-const TInt KProgressInfoFinalValue( 200 );
-const TInt KProgressInfoIncrementSmall( 5 );
-const TInt KProgressInfoIncrementMedium( 10 );
-const TInt KProgressInfoIncrementLarge( 30 );
+using namespace WRT;
// ======== LOCAL FUNCTIONS ========
// ---------------------------------------------------------------------------
-// DeleteHttpDowload
+// ClearIfNotRoapTemporaryError
// ---------------------------------------------------------------------------
//
-LOCAL_C void DeleteHttpDowload( TAny* aDownload )
+void ClearIfNotRoapTemporaryError(TInt aError, HBufC8*& aBuffer)
{
- reinterpret_cast< RHttpDownload* >( aDownload )->Delete();
+ // ROAP ERROR CODES
+ switch (aError)
+ {
+ case KErrRoapGeneral:
+ case KErrRoapServer:
+ case KErrRoapDomainFull:
+ case KErrRoapNotRegistered:
+ break;
+ default:
+ delete aBuffer;
+ aBuffer = NULL;
+ break;
+ }
}
+
// ---------------------------------------------------------------------------
-// IapIdOfDefaultSnapL
-// for trapping purposes only
+// Calls the appropriate member function of the object during object cleanup
// ---------------------------------------------------------------------------
//
-LOCAL_C TUint32 IapIdOfDefaultSnapL(
- RCmManager& aCmManager,
- const TUint32 aDefaultSnap )
+template<class _Ty, class _Tf> class mem_auto_ptr
+ {
+ public:
+ explicit mem_auto_ptr(_Ty _P = 0, _Tf _F = 0)
+ : _Owns(_P != 0), _Ptr(_P), _Fn(_F)
+ {}
+
+ mem_auto_ptr(const mem_auto_ptr<_Ty,_Tf>& _Y)
+ : _Owns(_Y._Owns), _Ptr(_Y.release()), _Fn(_Y.function())
+ {}
+
+ mem_auto_ptr<_Ty,_Tf>& operator=(const mem_auto_ptr<_Ty,_Tf>& _Y)
+ {
+ if (this != &_Y)
+ {
+ _Fn = _Y.function();
+ if (_Ptr != _Y.get())
+ {
+ if (_Owns)
+ delete _Ptr;
+ _Owns = _Y._Owns;
+ }
+ else if (_Y._Owns)
+ _Owns = true;
+ _Ptr = _Y.release();
+ }
+ return (*this);
+ }
+
+ ~mem_auto_ptr()
+ {
+ if (_Owns)
+ {
+ (_Ptr->*_Fn)();
+ }
+ }
+
+ _Ty& operator*() const
+ {
+ return (*get());
+ }
+
+ _Ty *operator->() const
+ {
+ return (get());
+ }
+
+ _Ty *get() const
+ {
+ return (_Ptr);
+ }
+
+ _Ty *release() const
+ {
+ ((mem_auto_ptr<_Ty,_Tf> *)this)->_Owns = false;
+ return (_Ptr);
+ }
+
+ _Tf *function() const
+ {
+ return (_Fn);
+ }
+ private:
+ bool _Owns;
+ _Ty _Ptr;
+ _Tf _Fn;
+ };
+
+
+// ---------------------------------------------------------------------------
+// UpdateBufferL
+// ---------------------------------------------------------------------------
+//
+template<typename bufType, typename descType>
+LOCAL_C void UpdateBufferL(bufType*& aTargetBuf, const descType& aSourceBuf)
{
- RCmDestination dest( aCmManager.DestinationL( aDefaultSnap ) );
- CleanupClosePushL( dest );
- TUint32 iapIdOfDest( 0 );
-
- if ( dest.ConnectionMethodCount() <= 0 )
+ if (aTargetBuf)
{
- User::Leave( KErrNotFound );
+ delete aTargetBuf;
+ aTargetBuf = NULL;
}
-
- RCmConnectionMethod cMeth( dest.ConnectionMethodL( 0 ) );
- CleanupClosePushL( cMeth );
-
- iapIdOfDest = cMeth.GetIntAttributeL( CMManager::ECmIapId );
- CleanupStack::PopAndDestroy( &cMeth );
- CleanupStack::PopAndDestroy( &dest );
- return iapIdOfDest;
+ if (aSourceBuf.Length())
+ {
+ aTargetBuf = aSourceBuf.AllocL();
+ }
}
-
// ======== MEMBER FUNCTIONS ========
// ---------------------------------------------------------------------------
@@ -125,8 +199,10 @@
// ---------------------------------------------------------------------------
//
CDrmUtilityDmgrWrapper::CDrmUtilityDmgrWrapper() :
- iUseCoeEnv( EFalse )
+ CActive(CActive::EPriorityStandard),
+ iUseCoeEnv(EFalse), iIapId(0), iState(EInit)
{
+ CActiveScheduler::Add(this);
}
// ---------------------------------------------------------------------------
@@ -137,14 +213,24 @@
{
CLOG_WRITE( "DMgrWrapper::ConstructL" );
const TInt KDrmUtilityDmgrWrapperUid = 0x102830FE;
- iDlMgr.ConnectL( TUid::Uid(KDrmUtilityDmgrWrapperUid), *this, EFalse );
+ iConnection = DRM::CDrmUtilityConnection::NewL(ETrue);
+
+ try
+ {
+ QString drmUtilityDmgrWrapperUid(QString::number(KDrmUtilityDmgrWrapperUid));
+ iDlMgr = q_check_ptr(new DownloadManager(drmUtilityDmgrWrapperUid));
+ }
+ catch(const std::exception& exception)
+ {
+ qt_symbian_exception2LeaveL(exception);
+ }
iProgressInfo = NULL;
iProgressNoteDialog = NULL;
iDialogDismissed = ETrue;
+ User::LeaveIfError(iFs.Connect());
+ User::LeaveIfError(iFs.ShareProtected());
}
-
-
// ---------------------------------------------------------------------------
// CDrmUtilityDmgrWrapper::NewL
// ---------------------------------------------------------------------------
@@ -152,12 +238,11 @@
CDrmUtilityDmgrWrapper* CDrmUtilityDmgrWrapper::NewL()
{
CLOG_WRITE( "DMgrWrapper::NewL" );
- CDrmUtilityDmgrWrapper* self( CDrmUtilityDmgrWrapper::NewLC() );
- CleanupStack::Pop( self );
+ CDrmUtilityDmgrWrapper* self(CDrmUtilityDmgrWrapper::NewLC());
+ CleanupStack::Pop(self);
return self;
}
-
// ---------------------------------------------------------------------------
// CDrmUtilityDmgrWrapper::NewLC
// ---------------------------------------------------------------------------
@@ -165,13 +250,12 @@
CDrmUtilityDmgrWrapper* CDrmUtilityDmgrWrapper::NewLC()
{
CLOG_WRITE( "DMgrWrapper::NewLC" );
- CDrmUtilityDmgrWrapper* self( new( ELeave ) CDrmUtilityDmgrWrapper() );
- CleanupStack::PushL( self );
+ CDrmUtilityDmgrWrapper* self(new (ELeave) CDrmUtilityDmgrWrapper());
+ CleanupStack::PushL(self);
self->ConstructL();
return self;
}
-
// ---------------------------------------------------------------------------
// CDrmUtilityDmgrWrapper::~CDrmUtilityDmgrWrapper
// ---------------------------------------------------------------------------
@@ -179,44 +263,31 @@
CDrmUtilityDmgrWrapper::~CDrmUtilityDmgrWrapper()
{
CLOG_WRITE( "DMgrWrapper destructor" );
- if ( iProgressNoteDialog )
- {
- // deletes the dialog
- TRAPD( err, iProgressNoteDialog->ProcessFinishedL() );
- if ( err )
- {
- delete iProgressNoteDialog;
- }
- iProgressNoteDialog = NULL;
- }
- delete iErrorUrl;
- delete iPostResponseUrl;
-
-#ifdef _DEBUG
-
- if ( iDlMgr.Handle() )
+ Cancel();
+ if (iProgressNoteDialog)
{
- iDlMgr.Close();
+ // deletes the dialog
+ TRAPD( err, iProgressNoteDialog->ProcessFinishedL() );
+ if (err)
+ {
+ delete iProgressNoteDialog;
+ }
+ iProgressNoteDialog = NULL;
}
-
-#else
+ delete iErrorUrl;
- iDlMgr.Close();
-
-#endif
- }
-
+ delete iPostResponseUrl;
+ delete iConnection;
-// ---------------------------------------------------------------------------
-// CDrmUtilityDmgrWrapper::DownloadAndHandleRoapTriggerL
-// ---------------------------------------------------------------------------
-//
-void CDrmUtilityDmgrWrapper::DownloadAndHandleRoapTriggerL( const HBufC8* aUrl )
- {
- CLOG_WRITE( "DMgrWrapper::DownloadAndHandleRoapTriggerL" );
- iUseCoeEnv = EFalse;
- DoDownloadAndHandleRoapTriggerL( aUrl );
- HandlePostResponseUrlL();
+ delete iTriggerUrl;
+ delete iTriggerBuf;
+ delete iFileName;
+ delete iRoapEng;
+ iDownload->cancel();
+ delete iDlMgr;
+ delete iDrmUtilityDmgrEventHandler;
+
+ iFs.Close();
}
@@ -224,447 +295,453 @@
// CDrmUtilityDmgrWrapper::DownloadAndHandleRoapTriggerL
// ---------------------------------------------------------------------------
//
+void CDrmUtilityDmgrWrapper::DownloadAndHandleRoapTriggerL(const HBufC8* aUrl)
+ {
+ CLOG_WRITE( "DMgrWrapper::DownloadAndHandleRoapTriggerL" );
+ iUseCoeEnv = EFalse;
+ if (iState != EInit || iWait.IsStarted())
+ {
+ User::Leave(KErrNotReady);
+ }
+
+ UpdateBufferL<HBufC8, TDesC8> (iTriggerUrl, *aUrl);
+ CompleteToState(EInit, KErrNone);
+ iWait.Start();
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUtilityDmgrWrapper::DownloadAndHandleRoapTriggerL
+// ---------------------------------------------------------------------------
+//
void CDrmUtilityDmgrWrapper::DownloadAndHandleRoapTriggerL(
- const HBufC8* aUrl, CCoeEnv& aCoeEnv )
+ const HBufC8* aUrl, CCoeEnv& aCoeEnv)
{
CLOG_WRITE( "DMgrWrapper::DownloadAndHandleRoapTriggerL" );
iCoeEnv = &aCoeEnv;
iUseCoeEnv = ETrue;
- DoDownloadAndHandleRoapTriggerL( aUrl );
- HandlePostResponseUrlL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CDrmUtilityDmgrWrapper::HandlePostResponseUrlL
-// ---------------------------------------------------------------------------
-//
-void CDrmUtilityDmgrWrapper::HandlePostResponseUrlL()
- {
- if ( iPostResponseUrl )
+ if (iState != EInit || iWait.IsStarted())
{
- DoDownloadAndHandleRoapTriggerL( iPostResponseUrl );
- // prevent infinite post response fetches.
- delete iPostResponseUrl;
- iPostResponseUrl = NULL;
-
- // Ensure progress note gets deleted.
- // It remains open if prUrl initialted ROAP operation has PrUrl
- // (unsupported chained metering report)
- RemoveProgressNoteL();
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CDrmUtilityDmgrWrapper::DoDownloadAndHandleRoapTriggerL
-// ---------------------------------------------------------------------------
-//
-void CDrmUtilityDmgrWrapper::DoDownloadAndHandleRoapTriggerL(
- const HBufC8* aUrl )
- {
- RFs fs;
- RFile roapTrigger;
- HBufC8* triggerBuf( NULL );
- TBool result( EFalse );
- TFileName triggerFileName;
-
- CLOG_WRITE( "DMgrWrapper::DoDownloadAndHandleRoapTriggerL" );
- User::LeaveIfError( fs.Connect() );
- CleanupClosePushL( fs );
- User::LeaveIfError( fs.ShareProtected() );
-
-#ifndef RD_MULTIPLE_DRIVE
-
- User::LeaveIfError( roapTrigger.Temp(
- fs, KDrmUtilityTriggerFilePath, triggerFileName, EFileWrite ) );
-
-#else //RD_MULTIPLE_DRIVE
-
- TInt driveNumber( -1 );
- TChar driveLetter;
- DriveInfo::GetDefaultDrive( DriveInfo::EDefaultRam, driveNumber );
- fs.DriveToChar( driveNumber, driveLetter );
-
- TFileName utilityTriggerFilePath;
-
- utilityTriggerFilePath.Format( KKDrmUtilityTriggerFilePathFormatter,
- (TUint)driveLetter );
-
- User::LeaveIfError( roapTrigger.Temp(
- fs, utilityTriggerFilePath, triggerFileName, EFileWrite ) );
-
-#endif
-
-
- TPtrC8 KNullPtr8( NULL, 0 );
- RHttpDownload* downloadPtr( iDlMgr.FindDownload( *aUrl, KNullPtr8 ) );
- if ( downloadPtr )
- {
- // Stale download found.
- // Remove it, and re-create a new download.
- downloadPtr->Delete();
- downloadPtr = NULL;
- }
-
- // create and start download
- RHttpDownload& download = iDlMgr.CreateDownloadL( *aUrl, result );
- // Put download for proper cleanup.
- TCleanupItem item( DeleteHttpDowload, &download );
- CleanupStack::PushL( item );
-
- CleanupClosePushL( roapTrigger );
-
- if ( !iPostResponseUrl )
- {
- // No post response retieval. Note must be created.
- ShowProgressNoteL();
+ User::Leave(KErrNotReady);
}
- if ( result )
- {
- const TInt KReadBufSize( 512 );
- TInt triggerFileSize( 0 );
-
- CLOG_WRITE(
- "DMgrWrapper::DoDownloadAndHandleRoapTriggerL: download created" );
- iDownloadSuccess = EFalse;
- iConnectionError = EFalse;
-
- SetDefaultAccessPointL();
-
- User::LeaveIfError( download.SetFileHandleAttribute( roapTrigger ) );
- User::LeaveIfError(
- download.SetBoolAttribute( EDlAttrNoContentTypeCheck, ETrue ) );
- User::LeaveIfError( download.Start() );
-
- // wait until download is finished
- iWait.Start();
-
- // Check success of download
- CLOG_WRITE(
- "DMgrWrapper::DoDownloadAndHandleRoapTriggerL: download finished" );
-
- CleanupStack::Pop( &roapTrigger );
- roapTrigger.Close();
- if ( !iDownloadSuccess )
- {
- RemoveProgressNoteL();
- if ( iConnectionError )
- {
- User::Leave( KErrCouldNotConnect );
- }
- else
- {
- User::Leave( KErrGeneral );
- }
- }
- User::LeaveIfError( roapTrigger.Open( fs,
- triggerFileName,
- EFileShareReadersOrWriters ) );
- CleanupClosePushL( roapTrigger );
-
- // Get filehandle of ROAP trigger
- // Read file to buffer
- User::LeaveIfError( roapTrigger.Size( triggerFileSize ) );
- triggerBuf = HBufC8::NewLC( triggerFileSize );
-
- RBuf8 readBuf;
- readBuf.CleanupClosePushL();
- readBuf.CreateL( KReadBufSize );
-
- User::LeaveIfError( roapTrigger.Read( readBuf, KReadBufSize ) );
- triggerBuf->Des().Copy( readBuf );
- while ( readBuf.Length() == KReadBufSize )
- {
- User::LeaveIfError( roapTrigger.Read( readBuf, KReadBufSize ) );
- triggerBuf->Des().Append( readBuf );
- }
-
- CleanupStack::PopAndDestroy( &readBuf );
-
- if ( iUseCoeEnv && iProgressInfo )
- {
- iProgressInfo->IncrementAndDraw( KProgressInfoIncrementMedium );
- }
-
- // And let ROAP handle it...
- CRoapSyncWrapper* roapWrapper( CRoapSyncWrapper::NewL() );
- CleanupStack::PushL( roapWrapper );
- TRAPD( err, roapWrapper->HandleTriggerL( *triggerBuf ) );
- if ( err )
- {
- TInt errorType( 0 );
- TRAPD( err2,
- iErrorUrl = roapWrapper->GetErrorUrlL( err, errorType ) );
- if ( err2 )
- {
- RemoveProgressNoteL();
- delete iErrorUrl;
- iErrorUrl = NULL;
- User::Leave( err2 );
- }
- else if ( errorType != KErrRoapTemporary )
- {
- RemoveProgressNoteL();
- delete iErrorUrl;
- iErrorUrl = NULL;
- User::Leave( err );
- }
- else
- {
- RemoveProgressNoteL();
- User::Leave( err );
- }
- }
- if ( iPostResponseUrl )
- {
- delete iPostResponseUrl;
- iPostResponseUrl = NULL;
- }
- iPostResponseUrl = roapWrapper->GetPostResponseUrlL();
- CleanupStack::PopAndDestroy( 2, triggerBuf );
-
- if ( iUseCoeEnv && iProgressInfo && !iPostResponseUrl )
- {
- // No PrUrl found. Progess is complete.
- iProgressInfo->SetAndDraw( KProgressInfoFinalValue );
- }
- }
-
- // Trick to keep note open long enough during prUrl retrieval
- if ( !iPostResponseUrl )
- {
- RemoveProgressNoteL();
- }
- else
- {
- if ( iUseCoeEnv && iProgressInfo )
- {
- iProgressInfo->IncrementAndDraw( KProgressInfoIncrementMedium );
- }
- }
-
- CleanupStack::PopAndDestroy( &roapTrigger );
- CleanupStack::PopAndDestroy( &download );
-
- fs.Delete( triggerFileName );
- CleanupStack::PopAndDestroy( &fs );
+ UpdateBufferL<HBufC8, TDesC8> (iTriggerUrl, *aUrl);
+ CompleteToState(EInit, KErrNone);
+ iWait.Start();
}
-
-// ---------------------------------------------------------------------------
-// CDrmUtilityDmgrWrapper::SetDefaultAccessPointL
-// ---------------------------------------------------------------------------
-//
-void CDrmUtilityDmgrWrapper::SetDefaultAccessPointL()
- {
- const TInt KDestinationSelectionMode( 2 );
- CRepository* repository( NULL );
- TInt ap( 0 );
- TInt alwaysAsk( 0 );
- TUint32 iapd32( 0 );
- TInt defaultSnap( 0 );
- TInt err( KErrNone );
-
- CLOG_WRITE( "DMgrWrapper::SetDefaultAccessPointL" );
- DRMDEBUGLIT( KDuiBrApFormat,
- "CDrmUtilityDmgrWrapper::SetDefaultAccessPointL %d" );
- DRMDEBUGLIT( KDuiBrApFormat2, " KBrowserDefaultAccessPoint = %d" );
- DRMDEBUGLIT( KDuiBrApFormat3, " KBrowserAccessPointSelectionMode = %d" );
- DRMDEBUGLIT( KDuiBrApFormat4, " KBrowserNGDefaultSnapId = %d" );
-
- repository = CRepository::NewL( KCRUidBrowser );
- CleanupStack::PushL( repository );
- repository->Get( KBrowserDefaultAccessPoint, ap );
- repository->Get( KBrowserAccessPointSelectionMode, alwaysAsk );
- repository->Get( KBrowserNGDefaultSnapId, defaultSnap );
- DRMDEBUG2( KDuiBrApFormat(), __LINE__ );
- DRMDEBUG2( KDuiBrApFormat2(), ap );
- DRMDEBUG2( KDuiBrApFormat3(), alwaysAsk );
- DRMDEBUG2( KDuiBrApFormat4(), defaultSnap );
-
- if ( ap <= KErrNotFound && defaultSnap <= KErrNotFound )
- {
- alwaysAsk = ETrue;
- }
- else
- {
- RCmManager cmManager;
- cmManager.OpenLC();
- if ( !alwaysAsk )
- {
- TRAP( err, iapd32 = cmManager.GetConnectionMethodInfoIntL(
- ap, CMManager::ECmIapId ) );
- }
- else if ( alwaysAsk == KDestinationSelectionMode )
- {
- TRAP( err, iapd32 =
- IapIdOfDefaultSnapL( cmManager, defaultSnap ) );
- }
- CleanupStack::PopAndDestroy( &cmManager );
- }
- if ( !err && ( !alwaysAsk || alwaysAsk == KDestinationSelectionMode ) )
- {
- err = iDlMgr.SetIntAttribute( EDlMgrIap, iapd32 );
- }
- CleanupStack::PopAndDestroy( repository );
- }
-
-
// ---------------------------------------------------------------------------
// CDrmUtilityDmgrWrapper::GetErrorUrlL
// ---------------------------------------------------------------------------
//
HBufC8* CDrmUtilityDmgrWrapper::GetErrorUrlL()
{
- if( iErrorUrl )
+ if (iErrorUrl)
{
return iErrorUrl->AllocL();
}
return NULL;
}
+// ---------------------------------------------------------------------------
+// CDrmUtilityDmgrWrapper::DoConnectL
+// ---------------------------------------------------------------------------
+//
+void CDrmUtilityDmgrWrapper::DoConnectL(TDownloadState aNextState)
+ {
+ iConnection->ConnectL(&iStatus);
+ if (iUseCoeEnv && iProgressInfo)
+ {
+ iProgressInfo->SetAndDraw(0);
+ }
+ iState = aNextState;
+ SetActive();
+ }
+/////
+// ---------------------------------------------------------------------------
+// CDrmUtilityDmgrWrapper::DoDownloadRoapTriggerL
+// ---------------------------------------------------------------------------
+//
+void CDrmUtilityDmgrWrapper::DoDownloadRoapTriggerL(TDownloadState aNextState)
+ {
+ // Fetch name of opend connection to be used as part of DMGR
+ // initialisation
+ TUint32 iapId(0);
+ if (iConnection->IsConnected(iapId))
+ {
+ const QVariant qIapId( static_cast<unsigned long long>(iapId) );
+ iDlMgr->setAttribute( WRT::ClientName, qIapId );
+ }
+ RFile roapTrigger;
+ CleanupClosePushL(roapTrigger);
+ DRM::CFileNameContainer* triggerFileName(NULL);
+
+ // If no Trigger URL then nothing to download. So finish transaction
+ if (!iTriggerUrl || iTriggerUrl->Length() <= 0)
+ {
+ if (iUseCoeEnv && iProgressInfo)
+ {
+ // No PrUrl found. Progess is complete.
+ iProgressInfo->SetAndDraw(KProgressInfoFinalValue);
+ }
+ CompleteToState(EComplete, KErrNone);
+ return;
+ }
+
+ TPtrC8 KNullPtr8(NULL, 0);
+ QString downloadUrl((QChar*)iTriggerUrl->Des().Ptr(),iTriggerUrl->Length());
+ //uncomment
+ Download* download = NULL;//iDlMgr->findDownload( downloadUrl );
+ if (download)
+ {
+ // Stale download found.
+ // Remove it, and re-create a new download.
+ download->cancel();
+ download = NULL;
+ if (iFileName)
+ {
+ iFs.Delete(*iFileName);
+ }
+ }
+ triggerFileName=DRM::CFileNameContainer::NewLC();
+
+#ifndef RD_MULTIPLE_DRIVE
+
+ User::LeaveIfError( roapTrigger.Temp(
+ iFs, KDrmUtilityTriggerFilePath, triggerFileName->iBuffer, EFileWrite ) );
+
+#else //RD_MULTIPLE_DRIVE
+ TInt driveNumber(-1);
+ TChar driveLetter;
+ DriveInfo::GetDefaultDrive(DriveInfo::EDefaultRam, driveNumber);
+ iFs.DriveToChar(driveNumber, driveLetter);
+
+ DRM::CFileNameContainer*
+ utilityTriggerFilePath(DRM::CFileNameContainer::NewLC());
+
+ utilityTriggerFilePath->iBuffer.Format(
+ KKDrmUtilityTriggerFilePathFormatter, (TUint) driveLetter);
+
+ User::LeaveIfError(roapTrigger.Temp(iFs, utilityTriggerFilePath->iBuffer,
+ triggerFileName->iBuffer, EFileWrite));
+ CleanupStack::PopAndDestroy( utilityTriggerFilePath );
+ utilityTriggerFilePath=NULL;
+
+#endif
+ UpdateBufferL<HBufC, TFileName> (iFileName, triggerFileName->iBuffer);
+ CleanupStack::PopAndDestroy( triggerFileName );
+ triggerFileName=NULL;
+ // create and start download
+ downloadUrl = ((QChar*)iTriggerUrl->Des().Ptr(),iTriggerUrl->Length());
+
+ iDownload = iDlMgr->createDownload(downloadUrl);
+ try
+ {
+ iDrmUtilityDmgrEventHandler = q_check_ptr(new QDrmUtilityDmgrEventHandler(*this, *iDownload));
+ }
+ catch(const std::exception& exception)
+ {
+ qt_symbian_exception2LeaveL(exception);
+ }
+
+ iDownloadSuccess = EFalse;
+ iConnectionError = EFalse;
+
+ try
+ {
+ RBuf fileName;
+ User::LeaveIfError(fileName.Create(KMaxFileName));
+ CleanupClosePushL(fileName);
+ roapTrigger.Name(fileName);
+ const QVariant& roapTriggerValue( QString((QChar*) fileName.Ptr(), fileName.Length()) );
+ CleanupStack::PopAndDestroy(&fileName);
+ iDownload->setAttribute(FileName,roapTriggerValue);
+ const QVariant& val(ETrue);
+ iDownload->setAttribute(ContentType, val);
+ iDownload->start();
+ }
+ catch(const std::exception& exception)
+ {
+ qt_symbian_exception2LeaveL(exception);
+ }
+ // wait until download is finished
+ iState = aNextState;
+ TRequestStatus* status(&iStatus);
+ *status = KRequestPending;
+ SetActive();
+
+ CleanupStack::PopAndDestroy(&roapTrigger);
+ }
+// ---------------------------------------------------------------------------
+// CDrmUtilityDmgrWrapper::DoSaveRoapTriggerL
+// ---------------------------------------------------------------------------
+//
+void CDrmUtilityDmgrWrapper::DoSaveRoapTriggerL(TDownloadState aNextState)
+ {
+ // Check success of download
+
+ // Fetch download created in DoDownloadRoapTriggerL
+ QString downloadUrl((QChar*)iTriggerUrl->Des().Ptr(),iTriggerUrl->Length());
+
+ typedef void (Download::*download_cancel_fnptr) ();
+ //uncomment
+ Download* dwnld = NULL;//iDlMgr->findDownload( downloadUrl );
+ mem_auto_ptr<Download*, download_cancel_fnptr> downloadPtr(dwnld,&WRT::Download::cancel);
+
+ // Delete trigger URL so that it is possible to check
+ // whether or not meteringResponse has PrUrl.
+ delete iTriggerUrl;
+ iTriggerUrl = NULL;
+ iStatus = KRequestPending;
+
+ RFile roapTrigger;
+
+ if (!iDownloadSuccess)
+ {
+ RemoveProgressNoteL();
+ if (iConnectionError)
+ {
+ User::Leave(KErrCouldNotConnect);
+ }
+ else
+ {
+ User::Leave(KErrGeneral);
+ }
+ }
+ User::LeaveIfError(roapTrigger.Open(iFs, *iFileName,
+ EFileShareReadersOrWriters));
+ CleanupClosePushL(roapTrigger);
+ // Get filehandle of ROAP trigger
+ const TInt KReadBufSize = 512;
+
+ RBuf8 readBuf;
+ readBuf.CleanupClosePushL();
+ readBuf.CreateL(KReadBufSize);
+
+ // Read file to buffer
+ TInt triggerFileSize(0);
+ User::LeaveIfError(roapTrigger.Size(triggerFileSize));
+ if (iTriggerBuf)
+ {
+ delete iTriggerBuf;
+ iTriggerBuf = NULL;
+ }
+ iTriggerBuf = HBufC8::NewL(triggerFileSize);
+ User::LeaveIfError(roapTrigger.Read(readBuf, KReadBufSize));
+ iTriggerBuf->Des().Copy(readBuf);
+ while (readBuf.Length() == KReadBufSize)
+ {
+ User::LeaveIfError(roapTrigger.Read(readBuf, KReadBufSize));
+ iTriggerBuf->Des().Append(readBuf);
+ }
+
+ // And let ROAP handle it...
+ CleanupStack::PopAndDestroy(&readBuf);
+ CleanupStack::PopAndDestroy(&roapTrigger);
+
+ iFs.Delete(*iFileName);
+ delete iFileName;
+ iFileName = NULL;
+ if (iUseCoeEnv && iProgressInfo)
+ {
+ iProgressInfo->IncrementAndDraw(KProgressInfoIncrementMedium);
+ }
+
+ CompleteToState(aNextState, KErrNone);
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUtilityDmgrWrapper::DoHandleRoapTriggerL
+// ---------------------------------------------------------------------------
+//
+void CDrmUtilityDmgrWrapper::DoHandleRoapTriggerL(TDownloadState aNextState)
+ {
+ Roap::TTriggerType triggerType;
+ Roap::TRiContextStatus contextStatus;
+ Roap::TDomainOperation domainOperation;
+
+ RPointerArray<HBufC8> contentIds;
+ CleanupResetAndDestroyPushL( contentIds );
+
+ iRoapEng = Roap::CRoapEng::NewL();
+
+ iRoapEng->SetTriggerL(*iTriggerBuf, NULL, triggerType, contextStatus,
+ domainOperation, contentIds);
+
+ CleanupStack::PopAndDestroy(&contentIds);
+
+ iRoapEng->AcceptL(this, &iStatus);
+ iState = aNextState;
+ SetActive();
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUtilityDmgrWrapper::CompleteToState
+// ---------------------------------------------------------------------------
+//
+void CDrmUtilityDmgrWrapper::CompleteToState(
+ CDrmUtilityDmgrWrapper::TDownloadState aNextState, TInt aError)
+ {
+ iState = aNextState;
+ TRequestStatus* ownStatus(&iStatus);
+ User::RequestComplete(ownStatus, aError);
+ SetActive();
+ }
+
+// MHttpDownloadMgrObserver methods
// ---------------------------------------------------------------------------
// From class MHttpDownloadMgrObserver
//
// CDrmUtilityDmgrWrapper::HandleDMgrEventL
// ---------------------------------------------------------------------------
//
-void CDrmUtilityDmgrWrapper::HandleDMgrEventL(
- RHttpDownload& aDownload,
- THttpDownloadEvent aEvent )
+void CDrmUtilityDmgrWrapper::HandleDownloadEventL( WRT::DownloadEvent* aEvent )
{
- _LIT8( KDrmUtilityMimeTypeROAPTrigger,
- "application/vnd.oma.drm.roap-trigger+xml" );
-
- CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL" );
- CLOG_WRITE_FORMAT( "iDownLoadState = %d", aEvent.iDownloadState );
- CLOG_WRITE_FORMAT( "iProgressState = %d", aEvent.iProgressState );
-
- if ( aEvent.iProgressState == EHttpContentTypeReceived )
+ QString KDrmUtilityMimeTypeROAPTrigger("application/vnd.oma.drm.roap-trigger+xml");
+
+ try
+ {
+ if (aEvent->type() == DownloadEvent::HeadersReceived)
{
// check received mimetype
- RBuf8 contentType;
- contentType.CleanupClosePushL();
- contentType.CreateL( KMaxContentTypeLength );
- User::LeaveIfError(
- aDownload.GetStringAttribute( EDlAttrContentType, contentType ) );
- if ( !contentType.FindF( KDrmUtilityMimeTypeROAPTrigger ) )
+ QString contentType = iDownload->attribute(ContentType).toString();
+ if (!contentType.contains(KDrmUtilityMimeTypeROAPTrigger))
{
// ROAP trigger found, continue download
- User::LeaveIfError( aDownload.Start() );
+ iDownload->start();
}
else
{
// wrong MIME type, so stop download
iDownloadSuccess = EFalse;
- User::LeaveIfError( aDownload.Delete() );
- }
- CleanupStack::PopAndDestroy( &contentType );
- }
-
- if ( aEvent.iDownloadState == EHttpDlCreated )
- {
- CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EHttpDlCreated" );
- if ( iUseCoeEnv )
- {
- iProgressInfo->IncrementAndDraw( KProgressInfoIncrementMedium );
+ iDownload->cancel();
}
}
- else if ( aEvent.iProgressState == EHttpProgDisconnected )
+ }
+ catch(const std::exception& exception)
+ {
+ qt_symbian_exception2LeaveL(exception);
+ }
+
+ if (aEvent->type() == DownloadEvent::Created)
{
- CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EHttpProgDisconnected" );
+ CLOG_WRITE( "DMgrWrapper::ProcessDownloadEventL: Created" );
+ if (iUseCoeEnv && iProgressInfo)
+ {
+ iProgressInfo->IncrementAndDraw(KProgressInfoIncrementMedium);
+ }
+ }
+ else if (aEvent->type() == DownloadEvent::NetworkLoss)
+ {
+ CLOG_WRITE( "DMgrWrapper::ProcessDownloadEventL: NetworkLoss" );
+
// store failure
iDownloadSuccess = EFalse;
iConnectionError = ETrue;
// finished
- iWait.AsyncStop();
}
- else if ( aEvent.iDownloadState == EHttpDlInprogress )
+ else if (aEvent->type() == DownloadEvent::InProgress)
{
- CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EHttpDlInprogress" );
- if ( iUseCoeEnv )
+ CLOG_WRITE( "DMgrWrapper::ProcessDownloadEventL: InProgress" );
+ if (iUseCoeEnv)
{
- iProgressInfo->IncrementAndDraw( KProgressInfoIncrementSmall );
+ iProgressInfo->IncrementAndDraw(KProgressInfoIncrementSmall);
}
}
- else if ( aEvent.iDownloadState == EHttpDlCompleted )
+ else if (aEvent->type() == DownloadEvent::Completed)
{
// store success
- CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EHttpDlCompleted" );
+ CLOG_WRITE( "DMgrWrapper::ProcessDownloadEventL: Completed" );
iDownloadSuccess = ETrue;
- if ( iUseCoeEnv )
+ iConnectionError = EFalse;
+ if (iUseCoeEnv)
{
- iProgressInfo->IncrementAndDraw( KProgressInfoIncrementLarge );
+ iProgressInfo->IncrementAndDraw(KProgressInfoIncrementLarge);
}
// finished
- iWait.AsyncStop();
+ TRequestStatus* status(&iStatus);
+ User::RequestComplete(status, KErrNone);
}
- else if ( aEvent.iDownloadState == EHttpDlFailed )
+ else if (aEvent->type() == DownloadEvent::Failed)
{
- TInt32 err( KErrNone );
-
- CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EHttpDlFailed" );
- // store failure
- iDownloadSuccess = EFalse;
- User::LeaveIfError( aDownload.GetIntAttribute( EDlAttrErrorId, err ) );
- CLOG_WRITE_FORMAT( "EDlAttrErrorId = %d", err );
-
- if ( err == EConnectionFailed ||
- err == ETransactionFailed)
- {
- CLOG_WRITE( "DMgrWrapper::HandleDMgrEventL: EConnectionFailed" );
- iConnectionError = ETrue;
- }
-
- // finished
- iWait.AsyncStop();
+ try
+ {
+ TInt32 err(KErrNone);
+
+ CLOG_WRITE( "DMgrWrapper::ProcessDownloadEventL: Failed" );
+ // store failure
+ iDownloadSuccess = EFalse;
+ err = (iDownload->attribute(LastError)).toInt();
+ CLOG_WRITE_FORMAT( "EDlAttrErrorId = %d", err );
+
+ if (err == ConnectionFailed || err == TransactionFailed)
+ {
+ CLOG_WRITE( "DMgrWrapper::ProcessDownloadEventL: ConnectionFailed" );
+ iConnectionError = ETrue;
+ }
+ iDownload->cancel(); // remove useless download
+ iDlMgr->pauseAll(); // disconnects Dmgr instantly.
+ // finished
+ TRequestStatus* status(&iStatus);
+ if ( iConnection->HasMoreConnectionAttempts() )
+ {
+ iState = EInit; // re-try with another conection
+ User::RequestComplete(status, KErrNone);
+ }
+ else
+ {
+ User::RequestComplete(status, KErrCancel);
+ }
+ }
+ catch(const std::exception& exception)
+ {
+ qt_symbian_exception2LeaveL(exception);
+ }
}
}
-
// ---------------------------------------------------------------------------
// CDrmUtilityDmgrWrapper::ShowProgressNoteL
// ---------------------------------------------------------------------------
//
void CDrmUtilityDmgrWrapper::ShowProgressNoteL()
{
- TFileName resFileName;
+ DRM::CFileNameContainer* resFileName(NULL);
CLOG_WRITE( "DMgrWrapper::ShowProgressNoteL" );
- if ( iUseCoeEnv )
+ if (iUseCoeEnv)
{
// Initialize the progress note dialog, it's values,
// and execute it
+ resFileName=DRM::CFileNameContainer::NewLC();
#ifndef RD_MULTIPLE_DRIVE
- resFileName.Copy( KDriveZ );
+ resFileName->iBuffer.Copy( KDriveZ );
#else //RD_MULTIPLE_DRIVE
-
- TInt driveNumber( -1 );
+ TInt driveNumber(-1);
TChar driveLetter;
- DriveInfo::GetDefaultDrive( DriveInfo::EDefaultRom, driveNumber );
+ DriveInfo::GetDefaultDrive(DriveInfo::EDefaultRom, driveNumber);
- iCoeEnv->FsSession().DriveToChar( driveNumber, driveLetter );
+ iCoeEnv->FsSession().DriveToChar(driveNumber, driveLetter);
- resFileName.Format( KRomDriveFormatter, (TUint)driveLetter );
+ resFileName->iBuffer.Format(KRomDriveFormatter, (TUint) driveLetter);
#endif
- resFileName.Append( KDC_RESOURCE_FILES_DIR );
- resFileName.Append( KCDrmUtilityDmgrWrapperResFileName );
- RConeResourceLoader loader( *iCoeEnv );
- loader.OpenL( resFileName );
+ resFileName->iBuffer.Append(KDC_RESOURCE_FILES_DIR);
+ resFileName->iBuffer.Append(KCDrmUtilityDmgrWrapperResFileName);
+ RConeResourceLoader loader(*iCoeEnv);
+ loader.OpenL(resFileName->iBuffer);
+ CleanupStack::PopAndDestroy( resFileName );
+ resFileName=NULL;
iProgressNoteDialog = new (ELeave) CAknProgressDialog(
- reinterpret_cast< CEikDialog** >( &iProgressNoteDialog ) );
- iProgressNoteDialog->PrepareLC( R_SILENT_PROGRESS_NOTE );
- iProgressNoteDialog->SetCallback( this );
+ reinterpret_cast<CEikDialog**> (&iProgressNoteDialog));
+ iProgressNoteDialog->PrepareLC(R_SILENT_PROGRESS_NOTE);
+ iProgressNoteDialog->SetCallback(this);
iProgressInfo = iProgressNoteDialog->GetProgressInfoL();
- iProgressInfo->SetFinalValue( KProgressInfoFinalValue );
+ iProgressInfo->SetFinalValue(KProgressInfoFinalValue);
iDialogDismissed = EFalse;
iProgressNoteDialog->RunLD();
@@ -673,7 +750,6 @@
}
-
// ---------------------------------------------------------------------------
// CDrmUtilityDmgrWrapper::RemoveProgressNoteL
// ---------------------------------------------------------------------------
@@ -681,7 +757,7 @@
void CDrmUtilityDmgrWrapper::RemoveProgressNoteL()
{
- if ( iUseCoeEnv )
+ if (iUseCoeEnv)
{
if (iProgressNoteDialog && !iDialogDismissed)
{
@@ -689,22 +765,22 @@
TRAPD(err, iProgressNoteDialog->ProcessFinishedL());
if (err != KErrNone)
{
+ iProgressNoteDialog->SetCallback(NULL);
delete iProgressNoteDialog;
+ iDialogDismissed = ETrue;
}
iProgressNoteDialog = NULL;
}
}
-
}
-
// ---------------------------------------------------------------------------
// From class MAknProgressDialogCallback
//
// CDrmUtilityDmgrWrapper::DialogDismissedL
// ---------------------------------------------------------------------------
//
-void CDrmUtilityDmgrWrapper::DialogDismissedL( TInt /*aButtonId*/ )
+void CDrmUtilityDmgrWrapper::DialogDismissedL(TInt aButtonId )
{
iDialogDismissed = ETrue;
@@ -712,14 +788,194 @@
iProgressNoteDialog = NULL;
iProgressInfo = NULL;
- if( iWait.IsStarted() )
+ if (IsActive() && aButtonId == EAknSoftkeyCancel)
+ {
+ if ((iState == EGetMeteringTrigger || iState == EGetPrUrlTrigger))
+ {
+ Cancel();
+ }
+ else
+ {
+ TRequestStatus* status(&iStatus);
+ User::RequestComplete(status, KErrCancel);
+ }
+ }
+ //For avoiding active object deadlock
+ iDlMgr->removeAll();
+
+ }
+
+// RoapObserver methods
+
+// ---------------------------------------------------------------------------
+// CDrmUtilityDmgrWrapper::PostResponseUrlL
+// ---------------------------------------------------------------------------
+//
+void CDrmUtilityDmgrWrapper::PostResponseUrlL(const TDesC8& aPostResponseUrl)
+ {
+ UpdateBufferL<HBufC8, TDesC8> (iTriggerUrl, aPostResponseUrl);
+
+ if (iUseCoeEnv && iProgressInfo)
+ {
+ iProgressInfo->IncrementAndDraw(KProgressInfoIncrementMedium);
+ }
+ }
+
+// Trivial RoapObserver methods
+TBool CDrmUtilityDmgrWrapper::ConnectionConfL()
+ {
+ return ETrue;
+ }
+
+TBool CDrmUtilityDmgrWrapper::ContactRiConfL()
+ {
+ return ETrue;
+ }
+
+TBool CDrmUtilityDmgrWrapper::TransIdConfL()
+ {
+ return EFalse;
+ }
+
+void CDrmUtilityDmgrWrapper::RightsObjectDetailsL(const RPointerArray<
+ CDRMRights>& /*aRightsList*/)
+ {
+ // do nothing
+ }
+
+void CDrmUtilityDmgrWrapper::ContentDownloadInfoL(TPath& /*aTempFolder*/,
+ TFileName& /*aContentName*/, TInt& aMaxSize)
+ {
+ aMaxSize = -1;
+ }
+
+void CDrmUtilityDmgrWrapper::ContentDetailsL(const TDesC& /*aPath*/,
+ const TDesC8& /*aType*/, const TUid& /*aAppUid*/)
+ {
+ }
+
+void CDrmUtilityDmgrWrapper::RoapProgressInfoL(const TInt /*aProgressInfo*/)
+ {
+ // do nothing
+ }
+
+void CDrmUtilityDmgrWrapper::ErrorUrlL(const TDesC8& aErrorUrl)
+ {
+ UpdateBufferL<HBufC8, TDesC8> (iErrorUrl, aErrorUrl);
+ }
+
+// CActive methods
+
+// ---------------------------------------------------------------------------
+// CDrmUtilityDmgrWrapper::DoCancel
+// ---------------------------------------------------------------------------
+//
+void CDrmUtilityDmgrWrapper::DoCancel()
+ {
+ delete iRoapEng;
+ iRoapEng = NULL;
+ iConnection->Close();
+ if (iWait.IsStarted())
+ {
+ iWait.AsyncStop();
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUtilityDmgrWrapper::RunL
+// ---------------------------------------------------------------------------
+//
+void CDrmUtilityDmgrWrapper::RunL()
+ {
+ TInt error(iStatus.Int());
+
+ ClearIfNotRoapTemporaryError(error, iErrorUrl);
+ User::LeaveIfError(error);
+ switch (iState)
+ {
+ case EInit:
+ {
+ if (!iProgressNoteDialog)
+ {
+ ShowProgressNoteL();
+ }
+ DoConnectL(EGetMeteringTrigger);
+ }
+ break;
+ case EGetMeteringTrigger:
+ {
+ DoDownloadRoapTriggerL(ESaveMeteringTrigger);
+ }
+ break;
+ case ESaveMeteringTrigger:
+ {
+ DoSaveRoapTriggerL(EMeteringReportSubmit);
+ }
+ break;
+
+ case EMeteringReportSubmit:
+ {
+ DoHandleRoapTriggerL(EGetPrUrlTrigger);
+ }
+ break;
+ case EGetPrUrlTrigger:
+ {
+ delete iRoapEng;
+ iRoapEng = NULL;
+ DoDownloadRoapTriggerL(ESavePrUrlTrigger);
+ }
+ break;
+ case ESavePrUrlTrigger:
+ {
+ DoSaveRoapTriggerL(EPrRoapRequest);
+ }
+ break;
+ case EPrRoapRequest:
+ {
+ DoHandleRoapTriggerL(EComplete);
+ }
+ break;
+ case EComplete:
+ {
+ RemoveProgressNoteL();
+ delete iRoapEng;
+ iRoapEng = NULL;
+ iWait.AsyncStop();
+ }
+ break;
+
+ default:
+ User::Leave(KErrNotSupported);
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CDrmUtilityDmgrWrapper::RunError
+// ---------------------------------------------------------------------------
+//
+TInt CDrmUtilityDmgrWrapper::RunError(TInt /* aError */)
+ {
+ delete iRoapEng;
+ iRoapEng = NULL;
+ iConnection->Close();
+ if (iWait.IsStarted())
{
iWait.AsyncStop();
}
+ if (iUseCoeEnv)
+ {
+ if (iProgressNoteDialog && !iDialogDismissed)
+ {
+ iProgressNoteDialog->SetCallback(NULL);
+ delete iProgressNoteDialog;
+ iDialogDismissed = ETrue;
+ }
+ iProgressNoteDialog = NULL;
+ }
+ return KErrNone;
}
-
// ======== GLOBAL FUNCTIONS ========
//------------------------------------------------------------------------------
@@ -730,7 +986,7 @@
{
CDrmUtilityDmgrWrapper* launcher = NULL;
TRAPD( err, launcher = CDrmUtilityDmgrWrapper::NewL() );
- if( err != KErrNone )
+ if (err != KErrNone)
{
return NULL;
}
--- a/commondrm/drmutility/src/DrmUtilityGlobalNoteWrapper.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/src/DrmUtilityGlobalNoteWrapper.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -21,7 +21,6 @@
#include <StringLoader.h>
#include <AknGlobalConfirmationQuery.h>
#include <AknGlobalListQuery.h>
-#include <AknGlobalMsgQuery.h>
#include <badesca.h>
#include <avkon.hrh> // EAknSoftkeyNo
#include <drmutility.rsg>
@@ -90,7 +89,6 @@
DRM::CDrmUtilityGlobalNoteWrapper::~CDrmUtilityGlobalNoteWrapper()
{
Cancel(); // Cancel active object
- delete iGlobalMsgQuery;
}
// -----------------------------------------------------------------------------
@@ -184,32 +182,6 @@
}
// -----------------------------------------------------------------------------
-// CDrmUtilityGlobalNoteWrapper::ShowNoteL
-// -----------------------------------------------------------------------------
-//
-void DRM::CDrmUtilityGlobalNoteWrapper::ShowMessageQueryL(
- TInt aMessageResourceId,
- TInt aHeaderResourceId,
- const TDesC& aString)
- {
- TBuf<KDRMNoteBufferMaxSize> messageBuffer(
- iResourceReader->ReadResourceString( aMessageResourceId ) );
-
- StringLoader::Format( iFinalMessageBuffer, messageBuffer, -1, aString );
-
- iHeaderBuffer = iResourceReader->ReadResourceString( aHeaderResourceId );
-
- CAknGlobalMsgQuery* iGlobalMsgQuery = CAknGlobalMsgQuery::NewL();
-
- iStatus = KRequestPending;
- iGlobalMsgQuery->ShowMsgQueryL(iStatus, iFinalMessageBuffer,
- R_AVKON_SOFTKEYS_OK_EMPTY, iHeaderBuffer, KNullDesC);
-
- SetActive();
- iWait.Start();
- }
-
-// -----------------------------------------------------------------------------
// CDrmUtilityGlobalNoteWrapper::ShowPreviewListQueryL
// -----------------------------------------------------------------------------
//
@@ -333,10 +305,6 @@
void DRM::CDrmUtilityGlobalNoteWrapper::RunL()
{
iWait.AsyncStop();
- if(iGlobalMsgQuery)
- {
- iGlobalMsgQuery->CancelMsgQuery();
- }
}
// -----------------------------------------------------------------------------
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/src/drmutilityconnection.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,562 @@
+/*
+ * Copyright (c) 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: Connection manager for DRM
+ *
+ */
+
+// INCLUDE FILES
+#include <es_sock.h>
+#include <cmconnectionmethod.h>
+#include <cmdestination.h>
+#include <cmconnectionmethoddef.h>
+#include <cmmanager.h>
+#include <extendedconnpref.h>
+#include <cmapplicationsettingsui.h> // CCmApplicationSettingsUi
+#include <es_enum.h>
+#include <cdbcols.h> // IAP, COMMDB_ID
+#include "drmutilityconnection.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "drmutilityconnectionTraces.h"
+#endif
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// -----------------------------------------------------------------------------
+// HasDefaultConnectionL
+// Finds default IAP id
+// @return Etrue: valid AP found
+// EFalse: valid AP not found
+// @leave system wide error codes
+// -----------------------------------------------------------------------------
+//
+TBool DRM::CDrmUtilityConnection::HasDefaultConnectionL()
+ {
+ TBool hasDefault(EFalse);
+ TCmDefConnValue defConn;
+ RCmManager cmManager;
+ cmManager.OpenLC();
+ cmManager.ReadDefConnL(defConn);
+ if (defConn.iType == ECmDefConnConnectionMethod)
+ {
+ cmManager.GetConnectionMethodInfoIntL(defConn.iId,
+ CMManager::ECmIapId);
+ hasDefault = ETrue;
+ }
+ else if (defConn.iType == ECmDefConnDestination)
+ {
+ RCmDestination dest(cmManager.DestinationL(defConn.iId));
+ CleanupClosePushL(dest);
+
+ if (dest.ConnectionMethodCount() <= 0)
+ {
+ User::Leave(KErrNotFound);
+ }
+
+ RCmConnectionMethod cMeth(dest.ConnectionMethodL(0));
+ CleanupClosePushL(cMeth);
+
+ cMeth.GetIntAttributeL(CMManager::ECmIapId);
+ CleanupStack::PopAndDestroy(&cMeth);
+ CleanupStack::PopAndDestroy(&dest);
+ hasDefault = ETrue;
+ }
+ CleanupStack::PopAndDestroy(&cmManager);
+ return hasDefault;
+ }
+
+// -----------------------------------------------------------------------------
+// CDrmUtilityConnection::HasAccessPointsL
+// -----------------------------------------------------------------------------
+//
+TBool DRM::CDrmUtilityConnection::HasAccessPointsL()
+ {
+ TInt apCount(0);
+ RCmManager cmManager;
+ CleanupClosePushL(cmManager);
+ cmManager.OpenL();
+ RArray<TUint32> aps;
+ CleanupClosePushL(aps);
+ cmManager.ConnectionMethodL(aps, EFalse, EFalse, ETrue);
+ apCount = aps.Count();
+ CleanupStack::PopAndDestroy(2, &cmManager); //aps, cmManager
+ return apCount > 0;
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::NewLC
+// ---------------------------------------------------------------------------
+//
+DRM::CDrmUtilityConnection* DRM::CDrmUtilityConnection::NewLC(
+ const TBool aAllowQueries)
+ {
+ CDrmUtilityConnection* conn = new (ELeave) CDrmUtilityConnection(
+ aAllowQueries);
+ CleanupStack::PushL(conn);
+ conn->ConstructL();
+ return conn;
+ }
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::NewL
+// ---------------------------------------------------------------------------
+//
+DRM::CDrmUtilityConnection* DRM::CDrmUtilityConnection::NewL(
+ const TBool aAllowQueries)
+ {
+ CDrmUtilityConnection* conn = CDrmUtilityConnection::NewLC(aAllowQueries);
+ CleanupStack::Pop(conn);
+ return conn;
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::~CDrmUtilityConnection
+// ---------------------------------------------------------------------------
+//
+DRM::CDrmUtilityConnection::~CDrmUtilityConnection()
+ {
+ Cancel();
+ iConnection.Close();
+ iSocketServ.Close();
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::ConnectL
+// ---------------------------------------------------------------------------
+//
+void DRM::CDrmUtilityConnection::ConnectL(TRequestStatus* aStatus)
+ {
+ TInt error(KErrGeneral);
+ iStatus = KRequestPending;
+
+ if (iState == EInit)
+ {
+
+ // Make this part atomic by pushing closes on the stack.
+ error = iSocketServ.Connect();
+ if (!error)
+ {
+ error = iConnection.Open(iSocketServ);
+ }
+ }
+
+ if (iState == EConnected)
+ {
+ error=iConnection.Stop();
+ //error=iConnection.Stop(RConnection::EStopAuthoritative); //just in case still does not work
+ // if autoriative stop does not work then must do something following follow
+ // TNifProgressBuf iJalla;
+ // loop iConnection.ProgressNotification(iJalla,iStatus,KConnProgressDefault); SetActive
+ // at RunL if (iJalla.iStage < KConnectionDown)
+ // reactiveteWaitClose();
+ //iConnection.ProgressNotification(iJalla,iStatus,(KConnectionDown); (should loop till state KConnectionDown seen)
+ iConnection.Close();
+ iState = EInit;
+ error = KErrNone;
+ error = iConnection.Open(iSocketServ);
+ }
+
+ iParentStatus = aStatus;
+ *iParentStatus = KRequestPending;
+
+ CompleteSelf(error);
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::HasMoreConnectionAttempts
+// ---------------------------------------------------------------------------
+//
+TBool DRM::CDrmUtilityConnection::HasMoreConnectionAttempts()
+ {
+ TBool ret(EFalse);
+ switch (iType)
+ {
+ case EUsingPurposeInternet:
+ if (iAllowQueries)
+ {
+ ret = ETrue;
+ }
+ else
+ {
+ ret = EFalse;
+ }
+ break;
+ case EUsingQuery:
+ case EFail:
+ ret = EFalse;
+ break;
+ default:
+ ret = ETrue;
+ }
+ return ret;
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::IsConnected
+// ---------------------------------------------------------------------------
+//
+TBool DRM::CDrmUtilityConnection::IsConnected(TUint32& aIap)
+ {
+ TBool ret(EFalse);
+
+ if (iState == EConnected)
+ {
+ aIap = iIapId;
+ ret = ETrue;
+ }
+ return ret;
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::Close
+// ---------------------------------------------------------------------------
+//
+void DRM::CDrmUtilityConnection::Close()
+ {
+ //LOGLIT( "CDrmUtilityConnection::Close" )
+
+ Cancel();
+ iConnection.Close();
+ iSocketServ.Close();
+ iState = EInit;
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection:CDrmUtilityConnection:
+// ---------------------------------------------------------------------------
+//
+DRM::CDrmUtilityConnection::CDrmUtilityConnection(const TBool aAllowQueries) :
+ CActive(CActive::EPriorityStandard), iState(EInit),
+ iType(EAttachExisting), iAllowQueries(aAllowQueries)
+ {
+ CActiveScheduler::Add(this);
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::ConstructL
+// ---------------------------------------------------------------------------
+//
+void DRM::CDrmUtilityConnection::ConstructL()
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::DoCancel
+// ---------------------------------------------------------------------------
+//
+void DRM::CDrmUtilityConnection::DoCancel()
+ {
+ iConnection.Close();
+ iSocketServ.Close();
+ CompleteParent(KErrCancel);
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::RunL
+// ---------------------------------------------------------------------------
+//
+void DRM::CDrmUtilityConnection::RunL()
+ {
+ TInt error(iStatus.Int());
+ if (iState == EInit)
+ {
+ User::LeaveIfError(error); // Handle errors in RunError().
+ if (iType == EAttachExisting)
+ {
+ AttachExistingConnectionL();
+ }
+ else
+ {
+ iState = EConnecting;
+ error = KErrNotFound;
+ CompleteSelf(error);
+ }
+ }
+ else if (iState == EConnecting)
+ {
+ if (!error)
+ {
+ iState = EConnected;
+ CompleteSelf(error);
+ }
+ else if (error != KErrNotFound)
+ {
+ User::LeaveIfError(error);
+ }
+ else
+ {
+ switch (iType)
+ {
+ case EAttachExisting:
+ iType = EUsingDefault;
+ ConnectUsingDefaultL();
+ break;
+ case EUsingDefault:
+ iType = EUsingPurposeOperator;
+ ConnectUsingSnapPurposeL(CMManager::ESnapPurposeOperator);
+ break;
+ case EUsingPurposeOperator:
+ iType = EUsingPurposeInternet;
+ ConnectUsingSnapPurposeL(CMManager::ESnapPurposeInternet);
+ break;
+ case EUsingPurposeInternet:
+ iType = EUsingQuery;
+ if (iAllowQueries)
+ {
+ ConnectUsingQueryL();
+ break;
+ }
+ case EUsingQuery:
+ iType = EFail;
+ case EFail:
+ default:
+ User::Leave(KErrCouldNotConnect);
+ break;
+ }
+ }
+ }
+ else if (iState == EConnected)
+ {
+ UpdateIapIdL();
+ CompleteParent(iStatus.Int());
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::RunError
+// ---------------------------------------------------------------------------
+//
+TInt DRM::CDrmUtilityConnection::RunError(TInt aError)
+ {
+ //LOGLIT( "CDrmUtilityConnection::RunError" )
+
+ iConnection.Close();
+ iSocketServ.Close();
+
+ CompleteParent(aError);
+ iState = EInit;
+ return KErrNone;
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::AttachExistingConnectionL
+// ---------------------------------------------------------------------------
+//
+void DRM::CDrmUtilityConnection::AttachExistingConnectionL()
+ {
+ TConnectionInfoBuf connInfo;
+ TUint count(0);
+ TInt error(KErrNotFound);
+ iStatus = KRequestPending;
+
+ User::LeaveIfError(iConnection.EnumerateConnections(count));
+ if (count)
+ {
+ // Select AP with largest index. (Latest created)
+ User::LeaveIfError(iConnection.GetConnectionInfo(count, connInfo));
+ User::LeaveIfError(iConnection.Attach(connInfo,
+ RConnection::EAttachTypeNormal));
+ iState = EConnected;
+ error = KErrNone;
+ }
+ else
+ {
+ iState = EConnecting;
+ }
+ CompleteSelf(error);
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::ConnectUsingDefaultL
+// ---------------------------------------------------------------------------
+//
+void DRM::CDrmUtilityConnection::ConnectUsingDefaultL()
+ {
+ // Create overrides
+ TConnPrefList prefList;
+ TExtendedConnPref prefs;
+
+ if (!iAllowQueries)
+ {
+ prefs.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourConnSilent);
+ }
+ else
+ {
+ prefs.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourConnDisableQueries);
+ }
+
+ //Fetch default connection
+ TBool hasDefault(ETrue);
+ TCmDefConnValue defConn;
+ RCmManager cmManager;
+ cmManager.OpenLC();
+ cmManager.ReadDefConnL(defConn);
+ if (defConn.iType == ECmDefConnConnectionMethod)
+ {
+ prefs.SetIapId(defConn.iId);
+ }
+ else if (defConn.iType == ECmDefConnDestination)
+ {
+ prefs.SetSnapId(defConn.iId);
+ }
+ else
+ {
+ hasDefault = EFalse;
+ }
+ // End of fetch default connection
+ CleanupStack::PopAndDestroy(&cmManager);
+ if (hasDefault)
+ {
+ prefList.AppendL(&prefs);
+
+ // Start an Outgoing Connection with overrides
+ iState = EConnecting;
+ iConnection.Start(prefList, iStatus);
+ SetActive();
+ }
+ else
+ {
+ // No default found --> next iteration needed
+ CompleteSelf(KErrNotFound);
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::ConnectUsingSnapOperatorL
+// ---------------------------------------------------------------------------
+//
+void DRM::CDrmUtilityConnection::ConnectUsingSnapPurposeL(
+ const TUint32 aPurpose)
+ {
+ // Create overrides
+ TConnPrefList prefList;
+ TExtendedConnPref prefs;
+ prefs.SetSnapPurpose(static_cast<CMManager::TSnapPurpose> (aPurpose));
+ if (aPurpose != CMManager::ESnapPurposeUnknown)
+ {
+ if (!iAllowQueries)
+ {
+ prefs.SetNoteBehaviour(
+ TExtendedConnPref::ENoteBehaviourConnSilent);
+ }
+ else
+ {
+ prefs.SetNoteBehaviour(
+ TExtendedConnPref::ENoteBehaviourConnDisableQueries);
+ }
+ }
+ else
+ {
+ prefs.SetConnSelectionDialog(ETrue);
+ prefs.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault);
+ prefs.SetForcedRoaming(EFalse);
+ prefs.SetBearerSet(TExtendedConnPref::EExtendedConnBearerUnknown);
+ }
+ prefList.AppendL(&prefs);
+ iState = EConnecting;
+
+ // Start an Outgoing Connection with overrides
+ iConnection.Start(prefList, iStatus);
+ SetActive();
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::ConnectUsingQueryL
+// ---------------------------------------------------------------------------
+//
+void DRM::CDrmUtilityConnection::ConnectUsingQueryL()
+ {
+ // Create overrides
+ TConnPrefList prefList;
+ TExtendedConnPref prefs;
+
+ CCmApplicationSettingsUi* ui(CCmApplicationSettingsUi::NewLC());
+ TCmSettingSelection selectedConn;
+
+ TBool selected(ui->RunApplicationSettingsL(selectedConn));
+ CleanupStack::PopAndDestroy(ui);
+ ui=NULL;
+ if (selected)
+ {
+ if (selectedConn.iResult == CMManager::EConnectionMethod)
+ {
+ prefs.SetIapId(selectedConn.iId);
+ }
+ else if (selectedConn.iResult == CMManager::EDestination)
+ {
+ prefs.SetSnapId(selectedConn.iId);
+ }
+ else if (selectedConn.iResult != CMManager::EDefaultConnection)
+ {
+ selected=EFalse;
+ }
+ }
+ if (selected)
+ {
+ if (selectedConn.iResult != CMManager::EDefaultConnection)
+ {
+ prefList.AppendL(&prefs);
+ // For ensuring possibly stale connections get disconnected first;
+ iConnection.Close();
+ iConnection.Open(iSocketServ);
+
+ iConnection.Start(prefList, iStatus);
+ }
+ else
+ {
+ iConnection.Start(iStatus);
+ }
+ SetActive();
+ }
+ else
+ {
+ CompleteSelf(KErrCancel);
+ }
+ }
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::CompleteSelf
+// ---------------------------------------------------------------------------
+//
+void DRM::CDrmUtilityConnection::CompleteSelf(TInt aError)
+ {
+ TRequestStatus* status(&iStatus);
+ User::RequestComplete(status, aError);
+ SetActive();
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::CompleteParent
+// ---------------------------------------------------------------------------
+//
+void DRM::CDrmUtilityConnection::CompleteParent(TInt aError)
+ {
+ if (iParentStatus)
+ {
+ User::RequestComplete(iParentStatus, aError);
+ iParentStatus = NULL;
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// DRM::CDrmUtilityConnection::UpdateIapId
+// ---------------------------------------------------------------------------
+//
+void DRM::CDrmUtilityConnection::UpdateIapIdL()
+ {
+ TBuf<16> query;
+
+ query.Format(_L("%s\\%s"), IAP, COMMDB_ID);
+ User::LeaveIfError(iConnection.GetIntSetting(query, iIapId));
+
+ }
--- a/commondrm/drmutility/src/drmutilityui.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/src/drmutilityui.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -32,7 +32,6 @@
#include <AknGlobalNote.h>
#include <AknQueryDialog.h>
#include <aknlistquerydialog.h>
-#include <aknmessagequerydialog.h>
// secondary display support
#include <AknMediatorFacade.h>
@@ -59,6 +58,9 @@
#include "DrmUtilityGlobalNoteWrapper.h"
#include "DrmUtilityInfoNoteWrapper.h"
+#include "drmuidialogids.h"
+#include "drmuidialogs.h"
+
// CONSTANTS
#ifndef RD_MULTIPLE_DRIVE
_LIT( KDriveZ, "z:" );
@@ -75,6 +77,7 @@
const TInt KDRMUtilityMaxTimeFormatLen( 30 );
const TInt KDRMUtilityMaxTimeLen( 30 );
const TInt KDRMUtilityNoteMaxSize ( 256 );
+const TInt KNoValue = -1;
#ifdef _DEBUG
// debug panic
@@ -232,8 +235,6 @@
iNoteList.Close();
FeatureManager::UnInitializeLib();
- delete iNoteWrapper;
-
}
// -----------------------------------------------------------------------------
@@ -316,38 +317,12 @@
TInt aTextResourceId,
TInt aValue )
{
- TInt buttonCode( 0 );
-
- if ( iCoeEnv )
- {
- TPtr bufPtr( NULL, 0 );
-
- HBufC* stringholder( StringLoader::LoadLC( aTextResourceId,
- aValue,
- iCoeEnv ) );
- CAknQueryDialog* dlg(
- CAknQueryDialog::NewL( CAknQueryDialog::ENoTone ) );
-
- bufPtr.Set( stringholder->Des() );
- AknTextUtils::LanguageSpecificNumberConversion( bufPtr );
- PrepareSecondaryDisplayL( *dlg, aTextResourceId, KNullDesC, aValue );
+ TInt resultCode( ECancelled );
- buttonCode = dlg->ExecuteLD( R_DRMUTILITY_CONFIRMATION_QUERY,
- *stringholder );
-
- CancelSecondaryDisplayL( aTextResourceId );
- CleanupStack::PopAndDestroy( stringholder );
- }
- else
- {
- DRM::CDrmUtilityGlobalNoteWrapper* noteWrapper(
- DRM::CDrmUtilityGlobalNoteWrapper::NewLC( iUtilityStringResourceReader ) );
-
- buttonCode = noteWrapper->ShowNoteL( aTextResourceId, aValue );
-
- CleanupStack::PopAndDestroy( noteWrapper );
- }
- return buttonCode;
+ CDrmUIDialogs* drmUiDialog( CDrmUIDialogs::NewLC() );
+ resultCode = drmUiDialog->ShowNoteL( aTextResourceId, KNullDesC, aValue );
+ CleanupStack::PopAndDestroy( drmUiDialog );
+ return resultCode;
}
// -----------------------------------------------------------------------------
@@ -358,39 +333,12 @@
TInt aTextResourceId,
const TDesC& aString )
{
- TInt buttonCode( 0 );
-
- if ( iCoeEnv )
- {
- TPtr bufPtr( NULL, 0 );
-
- HBufC* stringholder( StringLoader::LoadLC( aTextResourceId,
- aString,
- iCoeEnv ) );
- CAknQueryDialog* dlg(
- CAknQueryDialog::NewL( CAknQueryDialog::ENoTone ) );
-
- bufPtr.Set( stringholder->Des() );
- AknTextUtils::LanguageSpecificNumberConversion( bufPtr );
- PrepareSecondaryDisplayL( *dlg, aTextResourceId, aString, -1 );
+ TInt resultCode( ECancelled );
- buttonCode = dlg->ExecuteLD( R_DRMUTILITY_CONFIRMATION_QUERY,
- *stringholder );
-
- CancelSecondaryDisplayL( aTextResourceId );
- CleanupStack::PopAndDestroy( stringholder );
- }
- else
- {
- DRM::CDrmUtilityGlobalNoteWrapper* noteWrapper(
- DRM::CDrmUtilityGlobalNoteWrapper::NewLC( iUtilityStringResourceReader ) );
-
- buttonCode = noteWrapper->ShowNoteL( aTextResourceId, aString );
-
- CleanupStack::PopAndDestroy( noteWrapper );
- }
-
- return buttonCode;
+ CDrmUIDialogs* drmUiDialog( CDrmUIDialogs::NewLC() );
+ resultCode = drmUiDialog->ShowNoteL( aTextResourceId, aString, KNoValue );
+ CleanupStack::PopAndDestroy( drmUiDialog );
+ return resultCode;
}
// -----------------------------------------------------------------------------
@@ -488,7 +436,7 @@
__ASSERT_DEBUG( aConstraint, User::Panic( KDRMUtilityDebugPanicMessage,
KDRMUtilityDebugPanicCode ) );
- TInt buttonCode( 1 );
+ TInt buttonCode( EOk );
if ( aConstraint->iActiveConstraints & EConstraintEndTime )
{
@@ -509,13 +457,14 @@
}
endTime.FormatL( endDate, dateFormat );
- buttonCode = DisplayQueryL(R_DRM_QUERY_SET_AUTOMATED, endDate );
+
+ // Qt dialog not implmented yet.
+ buttonCode = DisplayQueryL( EQueryLicenceValidUntil, endDate );
}
else if ( aConstraint->iActiveConstraints & EConstraintInterval )
{
- buttonCode = DisplayQueryWithIdL( R_DRM_QUERY_SET_AUTO_INTERVAL,
- R_DRMUTILITY_CONFIRMATION_QUERY );
-
+ // Qt dialog not implemented yet.
+ buttonCode = DisplayQueryL( EQueryValidForLimitedTime, KNoValue );
}
return buttonCode;
}
@@ -559,7 +508,8 @@
startDateBuf.Append( startTimeBuf );
// display note with start date
- DisplayNoteL( R_DRMUTILITY_USAGE_RIGHTS_IN_FUTURE, startDateBuf );
+ // Qt dialog not implemented yet
+ DisplayNoteL( EConfUnableToUse, startDateBuf );
}
// -----------------------------------------------------------------------------
@@ -568,20 +518,9 @@
//
EXPORT_C void DRM::CDrmUtilityUI::DisplayNoteL( TInt aTextResourceId )
{
- if ( iCoeEnv )
- {
- HBufC* msgText( StringLoader::LoadLC( aTextResourceId, iCoeEnv ) );
- DisplayNoteL( *msgText, aTextResourceId );
- CleanupStack::PopAndDestroy( msgText );
- }
-
- else
- {
- TBuf<KDRMUtilityNoteMaxSize> buffer(
- iUtilityStringResourceReader->ReadResourceString( aTextResourceId ) );
-
- DisplayNoteL( buffer, aTextResourceId );
- }
+ CDrmUIDialogs* drmUiDialog( CDrmUIDialogs::NewLC() );
+ drmUiDialog->ShowNoteL( aTextResourceId, KNullDesC, KNoValue );
+ CleanupStack::PopAndDestroy( drmUiDialog );
}
// -----------------------------------------------------------------------------
@@ -592,26 +531,9 @@
TInt aTextResourceId,
const TDesC& aString )
{
- if ( iCoeEnv )
- {
- HBufC* msgText( StringLoader::LoadLC( aTextResourceId,
- aString,
- iCoeEnv ) );
- DisplayNoteL( *msgText, aTextResourceId );
- CleanupStack::PopAndDestroy( msgText );
- }
- else
- {
- TBuf<KDRMUtilityNoteMaxSize + KMaxFileName> destBuffer;
-
-
- TBuf<KDRMUtilityNoteMaxSize> buffer(
- iUtilityStringResourceReader->ReadResourceString( aTextResourceId ) );
-
-
- StringLoader::Format( destBuffer, buffer, -1, aString );
- DisplayNoteL( destBuffer, aTextResourceId, aString, -1 );
- }
+ CDrmUIDialogs* drmUiDialog( CDrmUIDialogs::NewLC() );
+ drmUiDialog->ShowNoteL( aTextResourceId, aString, KNoValue );
+ CleanupStack::PopAndDestroy( drmUiDialog );
}
// -----------------------------------------------------------------------------
@@ -622,26 +544,9 @@
TInt aTextResourceId,
TInt aValue )
{
- if ( iCoeEnv )
- {
- HBufC* msgText( StringLoader::LoadLC( aTextResourceId,
- aValue,
- iCoeEnv ) );
-
- DisplayNoteL( *msgText, aTextResourceId, KNullDesC, aValue );
- CleanupStack::PopAndDestroy( msgText );
- }
- else
- {
- TBuf<KDRMUtilityNoteMaxSize + KMaxFileName> destBuffer;
-
- TBuf<KDRMUtilityNoteMaxSize> buffer(
- iUtilityStringResourceReader->ReadResourceString( aTextResourceId ) );
-
-
- StringLoader::Format( destBuffer, buffer, -1, aValue );
- DisplayNoteL( destBuffer, aTextResourceId, KNullDesC, aValue );
- }
+ CDrmUIDialogs* drmUiDialog( CDrmUIDialogs::NewLC() );
+ drmUiDialog->ShowNoteL( aTextResourceId, KNullDesC, aValue );
+ CleanupStack::PopAndDestroy( drmUiDialog );
}
// -----------------------------------------------------------------------------
@@ -772,39 +677,6 @@
#endif // RD_DRM_PREVIEW_RIGHT_FOR_AUDIO
-EXPORT_C TInt DRM::CDrmUtilityUI::DisplayMessageQueryL( TInt aMessage, TInt aHeader, const TDesC& aString)
- {
- TInt buttonCode = 0;
- if ( iCoeEnv )
- {
- CAknMessageQueryDialog* messageQuery = new (ELeave) CAknMessageQueryDialog();
- messageQuery->PrepareLC(R_DRMUTILITY_SYNC_DIALOG);
-
- HBufC* headerStringholder ( StringLoader::LoadLC( aHeader, iCoeEnv ) );
-
- messageQuery->QueryHeading()->SetTextL(*headerStringholder);
- CleanupStack::PopAndDestroy(); // headerStringholder
-
- HBufC* messageStringholder ( StringLoader::LoadLC( aMessage, aString, iCoeEnv ) );
-
- messageQuery->SetMessageTextL(*messageStringholder);
- CleanupStack::PopAndDestroy(); // messageStringholder
-
- buttonCode = messageQuery->RunLD();
- }
- else
- {
- if(!iNoteWrapper)
- {
- iNoteWrapper = DRM::CDrmUtilityGlobalNoteWrapper::NewL( iUtilityStringResourceReader );
- }
-
- iNoteWrapper->ShowMessageQueryL(aMessage, aHeader, aString);
- }
- return buttonCode;
- }
-
-
// -----------------------------------------------------------------------------
// CDrmUtilityUI::CreateNoteForResourceL
// -----------------------------------------------------------------------------
--- a/commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/drmutility/src/drmutilitywmdrmwrapper.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -31,18 +31,12 @@
#include <avkon.hrh>
// access point utils
-#include <centralrepository.h>
+
#include <cdblen.h>
#include <cmconnectionmethod.h>
#include <cmdestination.h>
#include <cmconnectionmethoddef.h>
#include <cmmanager.h>
-#ifdef __SERIES60_NATIVE_BROWSER
-#include <browseruisdkcrkeys.h>
-#endif
-
-#include <featdiscovery.h>
-#include <aknmessagequerydialog.h>
#include <wmdrmagent.h> // for WMDRM file details view
#include <drmutilitytypes.h>
@@ -61,19 +55,12 @@
#include "drmutilitywmdrmutilities.h"
#include "wmdrmdlawrapper.h"
-
-using namespace DRM;
+#include "drmuidialogids.h"
// CONSTANTS
const TInt KMaxUrlLength( 1024 );
const TInt KMaxUrlSanityLength( 102400 );
-#ifndef __SERIES60_NATIVE_BROWSER
-const TUid KCRUidBrowser = {0x10008D39};
-const TUint32 KBrowserDefaultAccessPoint = 0x0000000E;
-const TUint32 KBrowserAccessPointSelectionMode = 0x0000001E;
-#endif
-
#ifdef _DEBUG
// debug panic
_LIT( KWmDrmWrapperDebugPanicMessage, "WmDrmWrapperDebugPanic" );
@@ -90,8 +77,7 @@
//
DRM::CDrmUtilityWMDrmWrapper::CDrmUtilityWMDrmWrapper() :
iCoeEnv( NULL ),
- iDrmUtilityUi( NULL ),
- iWmDrmDlaSupportOn ( ETrue )
+ iDrmUtilityUi( NULL )
{
}
@@ -103,8 +89,6 @@
void DRM::CDrmUtilityWMDrmWrapper::ConstructL()
{
User::LeaveIfError( iFs.Connect() );
- TUid u = TUid::Uid( KFeatureIdFfWmdrmDlaSupport );
- TRAPD(err, iWmDrmDlaSupportOn = CFeatureDiscovery::IsFeatureSupportedL( u ));
}
// -----------------------------------------------------------------------------
@@ -276,7 +260,7 @@
if ( !value )
{
- ShowNoRightsNoteL( aContent, reason );
+ ShowNoRightsNoteL( aContent, reason, aOperationId, aObserver );
User::LeaveIfError( aContent.GetAttribute( ContentAccess::ECanPlay, value ) );
if ( value )
{
@@ -500,7 +484,7 @@
{
case DRM::EUHCheckRightsActionDefault:
{
- ShowNoRightsNoteL( aContent, aReason );
+ ShowNoRightsNoteL( aContent, aReason, aOperationId, aObserver );
}
break;
@@ -558,12 +542,15 @@
//
void DRM::CDrmUtilityWMDrmWrapper::ShowNoRightsNoteL(
ContentAccess::CData& aContent,
- TUint32 /*aReason*/ )
+ TUint32 /*aReason*/,
+ TInt aOperationId,
+ DRM::MDrmHandleErrorObserver* aObserver )
{
+ TInt value;
TRAPD( err, LoadDlaWrapperL() );
if ( !err )
{
- TInt ret( EAknSoftkeyYes );
+ TInt ret( EOk );
RFile file;
GetRFileFromCDataL( aContent, file );
CleanupClosePushL( file );
@@ -577,18 +564,21 @@
}
TFileName fileName;
User::LeaveIfError( aContent.GetStringAttribute( DRM::EDrmFileName, 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);
- }
+ // Qt dialog not implemented yet
+ ret = iDrmUtilityUi->DisplayQueryL( EQueryFileWithNoRightsObj, fileName );
}
- if ( !err && ( ret == EAknSoftkeyYes || ret == EAknSoftkeyOk ) && iWmDrmDlaSupportOn)
+
+ if ( !err && ret == EOk )
{
TRAP_IGNORE( DlaLicenseAcquisitionL( file ) );
+
+ // Ask the rights from CAF, same call for both ECanPlay and ECanView
+ aContent.GetAttribute( ContentAccess::ECanPlay, value );
+ // call given HandleErrorObserver
+ if( value > 0 )
+ {
+ aObserver->RightsAvailable( aOperationId, KErrNone );
+ }
}
CleanupStack::PopAndDestroy( &file );
}
@@ -598,7 +588,7 @@
{
iDrmUtilityUi = DRM::CDrmUtilityUI::NewL( iCoeEnv );
}
- iDrmUtilityUi->DisplayNoteL( R_DRM_INFO_EXPIRED_OR_NO_RO );
+ iDrmUtilityUi->DisplayNoteL( EConfLicenceExpired );
}
}
@@ -777,31 +767,18 @@
void DRM::CDrmUtilityWMDrmWrapper::DlaLicenseAcquisitionL(
RFile& aFile )
{
- if( iWmDrmDlaSupportOn )
+ TInt iapId( 0 );
+ HBufC* contentUrl( NULL );
+ HBufC* htmlData( NULL );
+ LoadDlaWrapperL();
+ TRAPD( err, iapId = DefaultAccessPointL() );
+ if ( !err )
{
- 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->SetIapId( iapId );
}
- else
- {
- if ( !iDrmUtilityUi )
- {
- iDrmUtilityUi = DRM::CDrmUtilityUI::NewL( iCoeEnv );
- }
- TFileName aFileName;
- TInt err = aFile.Name(aFileName);
- iDrmUtilityUi->DisplayNoteL( R_DRMUTILITY_SYNC_WITH_PC , aFileName);
- }
+ iDlaWrapper->AcquireLicenseL( aFile, contentUrl, htmlData );
+ delete contentUrl;
+ delete htmlData;
}
// -----------------------------------------------------------------------------
@@ -824,56 +801,38 @@
//
TInt DRM::CDrmUtilityWMDrmWrapper::DefaultAccessPointL()
{
- const TInt KDestinationSelectionMode( 2 );
- CRepository* repository( NULL );
- TInt ap( 0 );
- TInt alwaysAsk( 0 );
+ //Fetch default connection
TUint32 iapd32( 0 );
- TInt defaultSnap( 0 );
+ TCmDefConnValue defConn;
+ RCmManager cmManager;
+ cmManager.OpenLC();
+ cmManager.ReadDefConnL(defConn);
+ if (defConn.iType == ECmDefConnConnectionMethod)
+ {
+ iapd32=defConn.iId;
+ }
+ else if (defConn.iType == ECmDefConnDestination)
+ {
+ RCmDestination dest( cmManager.DestinationL( defConn.iId ) );
+ CleanupClosePushL( dest );
- repository = CRepository::NewL( KCRUidBrowser );
- CleanupStack::PushL( repository );
- repository->Get( KBrowserDefaultAccessPoint, ap );
- repository->Get( KBrowserAccessPointSelectionMode, alwaysAsk );
- repository->Get( KBrowserNGDefaultSnapId, defaultSnap );
- CleanupStack::PopAndDestroy( repository );
+ if ( dest.ConnectionMethodCount() <= 0 )
+ {
+ User::Leave( KErrNotFound );
+ }
- if ( ap <= KErrNotFound && defaultSnap <= KErrNotFound )
- {
- alwaysAsk = ETrue;
+ RCmConnectionMethod cMeth( dest.ConnectionMethodL( 0 ) );
+ CleanupClosePushL( cMeth );
+
+ iapd32 = cMeth.GetIntAttributeL( CMManager::ECmIapId );
+ CleanupStack::PopAndDestroy( 2, &dest ); //cMeth, dest
}
else
{
- RCmManager cmManager;
- cmManager.OpenLC();
- if ( !alwaysAsk )
- {
- iapd32 =
- cmManager.GetConnectionMethodInfoIntL( ap,
- CMManager::ECmIapId );
- }
- else if ( alwaysAsk == KDestinationSelectionMode )
- {
- RCmDestination dest( cmManager.DestinationL( defaultSnap ) );
- CleanupClosePushL( dest );
-
- if ( dest.ConnectionMethodCount() <= 0 )
- {
- User::Leave( KErrNotFound );
- }
-
- RCmConnectionMethod cMeth( dest.ConnectionMethodL( 0 ) );
- CleanupClosePushL( cMeth );
-
- iapd32 = cMeth.GetIntAttributeL( CMManager::ECmIapId );
- CleanupStack::PopAndDestroy( 2, &dest ); //cMeth, dest
- }
- CleanupStack::PopAndDestroy( &cmManager );
- }
- if ( alwaysAsk && alwaysAsk != KDestinationSelectionMode )
- {
User::Leave( KErrAccessDenied );
}
+ CleanupStack::PopAndDestroy(&cmManager);
+ // End of fetch default connection
return iapd32;
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/src/qdrmutilitydmgreventhandler.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,22 @@
+
+#include <download.h>
+
+#include "qdrmutilitydmgreventhandler.h"
+#include "drmutilitydmgrwrapper.h"
+
+QDrmUtilityDmgrEventHandler::QDrmUtilityDmgrEventHandler( CDrmUtilityDmgrWrapper& aDrmUtilityDmgrWrapper, WRT::Download& aDownload )
+ : iDownload(aDownload),
+ iDrmUtilityDmgrWrapper(aDrmUtilityDmgrWrapper)
+ {
+ QT_TRAP_THROWING(
+ QObject::connect( &iDownload,
+ SIGNAL(downloadEvent(DownloadEvent*)),
+ this, SLOT(HandleDownloadEventL(DownloadEvent*))
+ )
+ );
+ }
+
+void QDrmUtilityDmgrEventHandler::HandleDownloadEventL( WRT::DownloadEvent* aEvent )
+ {
+ iDrmUtilityDmgrWrapper.HandleDownloadEventL(aEvent);
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/drmutility/traces/OstTraceDefinitions.h Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+// #define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- a/commondrm/group/bld.inf Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/group/bld.inf Tue Aug 31 15:29:38 2010 +0300
@@ -39,24 +39,20 @@
../rom/DRMEncryptorResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( drmencryptorresources.iby )
../rom/DRMRightsManagerUI.iby CORE_MW_LAYER_IBY_EXPORT_PATH( drmrightsmanagerui.iby )
../rom/DRMRightsManagerUIResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( drmrightsmanageruiresources.iby )
-../rom/drmsettingsplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH( drmsettingsplugin.iby )
-../rom/drmsettingspluginresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( drmsettingspluginresources.iby )
../rom/drmutility.iby CORE_MW_LAYER_IBY_EXPORT_PATH( drmutility.iby )
../rom/drmutility_resources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( drmutility_resources.iby )
../rom/drmserviceapiwrapper.iby CORE_MW_LAYER_IBY_EXPORT_PATH( drmserviceapiwrapper.iby )
../rom/drmrightsstoringlocation.iby CORE_MW_LAYER_IBY_EXPORT_PATH( drmrightsstoringlocation.iby )
+../rom/drmbrowserlauncher.iby CORE_MW_LAYER_IBY_EXPORT_PATH( drmbrowserlauncher.iby )
PRJ_MMPFILES
-// DRMEncryptor
-../drmencryptor/group/DRMEncryptor.mmp
-
-// DRMSettingsPlugin
-../drmsettingsplugin/group/drmsettingsplugin.mmp
-
// DRMRightsManagerUi
../drmrightsmanagerui/group/DRMRightsManager.mmp
+// drmui
+#include "../drmui/group/bld.inf"
+
// drmutility
#include "../drmutility/group/bld.inf"
@@ -77,19 +73,6 @@
PRJ_EXTENSIONS
START EXTENSION s60/mifconv
-OPTION TARGETFILE drmencryptor.mif
-OPTION HEADERFILE drmencryptor.mbg
-OPTION SOURCES -c8,8 qgn_menu_DRMEncryptor_cxt -c8 icon
-OPTION SOURCEDIR ../drmencryptor/group
-END
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE drmencryptor_aif.mif
-OPTION SOURCES -c8,8 qgn_menu_drmencryptor -c8 icon
-OPTION SOURCEDIR ../drmencryptor/group
-END
-
-START EXTENSION s60/mifconv
OPTION TARGETFILE drmrightsmanager.mif
OPTION HEADERFILE drmrightsmanager.mbg
OPTION SOURCES \
--- a/commondrm/rom/DRMEncryptor.iby Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/rom/DRMEncryptor.iby Tue Aug 31 15:29:38 2010 +0300
@@ -23,15 +23,7 @@
#ifndef _IMAGE_TYPE_PRD
S60_APP_EXE(DRMENCRYPTOR)
-
-
-SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,DRMEncryptor)
-
-
-S60_APP_AIF_ICONS(DRMENCRYPTOR)
-S60_APP_AIF_RSC(DRMENCRYPTOR)
-
-data=DATAZ_\APP_RESOURCE_DIR\drmencryptor.rsc APP_RESOURCE_DIR\drmencryptor.rsc
+data = ZPRIVATE\10003a3f\import\APPS\drmencryptor_reg.rsc PRIVATE\10003a3f\import\apps\drmencryptor_reg.rsc
#endif //_IMAGE_TYPE_PRD
#endif
--- a/commondrm/rom/DRMRightsManagerUI.iby Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/rom/DRMRightsManagerUI.iby Tue Aug 31 15:29:38 2010 +0300
@@ -21,7 +21,7 @@
// DRM Rights Manager Application
-#if ( (defined __DRM_FULL) || (defined __WINDOWS_MEDIA_DRM) )
+#ifdef __DRM_FULL
S60_APP_EXE(DRMRightsManager)
S60_APP_BITMAP(DRMRightsManager)
@@ -30,7 +30,7 @@
data=\epoc32\data\z\private\10003a3f\apps\DRMRightsManager_reg.rsc \private\10003a3f\import\apps\DRMRightsManager_reg.rsc
data=ZSYSTEM\install\DRMRightsManager_stub.SIS \system\install\DRMRightsManager_stub.SIS
-#endif // __DRM_FULL || __WINDOWS_MEDIA_DRM
+#endif // __DRM_FULL
#endif // __DRMRIGHTSMANAGERUI_IBY__
--- a/commondrm/rom/DRMRightsManagerUIResources.iby Thu Aug 19 10:12:10 2010 +0300
+++ b/commondrm/rom/DRMRightsManagerUIResources.iby Tue Aug 31 15:29:38 2010 +0300
@@ -20,11 +20,11 @@
#define __DRMRIGHTSMANAGERUIRESOURCES_IBY__
-#if ( (defined __DRM_FULL) || (defined __WINDOWS_MEDIA_DRM) )
+#ifdef __DRM_FULL
S60_APP_RESOURCE(DRMRightsManager)
-#endif // __DRM_FULL || __WINDOWS_MEDIA_DRM
+#endif // __DRM_FULL
#endif // __DRMRIGHTSMANAGERUIRESOURCES_IBY__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commondrm/rom/drmbrowserlauncher.iby Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2007-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: Image description file for project Drmbrowserlauncher
+*
+*/
+
+
+#ifndef DRMBROWSERLAUNCHER_IBY
+#define DRMBROWSERLAUNCHER_IBY
+
+#include <data_caging_paths_for_iby.hrh>
+
+file=ABI_DIR\BUILD_DIR\drmbrowserlauncher.dll SHARED_LIB_DIR\drmbrowserlauncher.dll
+
+#endif // DRMBROWSERLAUNCHER_IBY
--- a/commondrm/rom/drmsettingsplugin.iby Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2006-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: DRMSettingsPlugin ROM resources
-*
-*/
-
-#ifndef DRMSETTINGSPLUGIN_IBY
-#define DRMSETTINGSPLUGIN_IBY
-
-ECOM_PLUGIN( drmsettingsplugin.dll, 102750CC.rsc )
-//data=DATAZ_\BITMAP_DIR\drmsettingsplugin.mif BITMAP_DIR\drmsettingsplugin.mif
-
-data=ZSYSTEM\install\commondrm_stub.SIS \system\install\commondrm_stub.SIS
-#endif // DRMSETTINGSPLUGIN_IBY
-// End of File
--- a/commondrm/rom/drmsettingspluginresources.iby Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2006 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: DRMSettingsPlugin ROM resources.
-*
-*/
-
-#ifndef DRMSETTINGSPLUGINRESOURCES_IBY
-#define DRMSETTINGSPLUGINRESOURCES_IBY
-
-data=DATAZ_\RESOURCE_FILES_DIR\drmsettingspluginrsc.rsc RESOURCE_FILES_DIR\drmsettingspluginrsc.rsc
-
-#endif // DRMSETTINGSPLUGINRESOURCES_IBY
-// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/drm.pro Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,22 @@
+#
+# Copyright (c) 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: qt changes for DRM
+#
+
+TEMPLATE = subdirs
+
+CONFIG += ordered
+
+SUBDIRS += commondrm/commondrm.pro
+SUBDIRS += omadrm/omadrm.pro
\ No newline at end of file
--- a/drm_plat/camese_framework_api/camese_framework_api.metaxml Thu Aug 19 10:12:10 2010 +0300
+++ b/drm_plat/camese_framework_api/camese_framework_api.metaxml Tue Aug 31 15:29:38 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 Aug 19 10:12:10 2010 +0300
+++ b/drm_plat/camese_framework_api/group/bld.inf Tue Aug 31 15:29:38 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 Tue Aug 31 15:29:38 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_access_api/inc/wmdrmaccessecominterface.inl Thu Aug 19 10:12:10 2010 +0300
+++ b/drm_plat/wmdrm_access_api/inc/wmdrmaccessecominterface.inl Tue Aug 31 15:29:38 2010 +0300
@@ -15,7 +15,7 @@
* wmdrmaccessecominterface.inl
*
*/
-#include <ecom.h> // for interface
+#include <ecom/ecom.h> // for interface
// ---------------------------------------------------------------------------
// CWmDrmAccessEcomInterface::NewL
--- a/drm_pub/drm_helper_api/inc/Drmhelper.h Thu Aug 19 10:12:10 2010 +0300
+++ b/drm_pub/drm_helper_api/inc/Drmhelper.h Tue Aug 31 15:29:38 2010 +0300
@@ -63,7 +63,6 @@
class CAknGlobalNote;
class CAknWaitDialog;
class CDRMHelperInfoNoteWrapper;
-class CSchemeHandler;
class CMediatorEventProvider;
// CLASS DECLARATION
@@ -1575,8 +1574,6 @@
// Used to queue up global notes
RPointerArray<CDRMHelperInfoNoteWrapper> iNoteList;
- CSchemeHandler* iSchemeHandler;
-
TBool iReturnCancel;
// Used to send cancel events to cover ui
--- a/drm_pub/drm_helper_api/loc/DRMCommon.loc Thu Aug 19 10:12:10 2010 +0300
+++ b/drm_pub/drm_helper_api/loc/DRMCommon.loc Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2005 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005 - 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"
@@ -52,7 +52,7 @@
//w:
//r:
//
-#define qtn_drm_gen_rights_exp "License expired for some of the selected objects"
+#define qtn_drm_gen_rights_exp "Licence expired for some of the selected objects"
//d: Text in information note
//l: popup_note_window
@@ -66,7 +66,7 @@
//w:
//r:
//
-#define qtn_drm_mgr_det_exp "License expired"
+#define qtn_drm_mgr_det_exp "Licence expired"
//d: Text in message query
//d: %N is number of deleted objects
@@ -152,14 +152,14 @@
//w:
//r:
//
-#define qtn_drm_cnt_or_dt_exp_multi "License will expire for some of the selected objects"
+#define qtn_drm_cnt_or_dt_exp_multi "Licence will expire for some of the selected objects"
//d: Text in confirmation query
//l: popup_note_window
//w:
//r:
//
-#define qtn_drm_sd_rights_exp "License expired. Get new license to unlock file?"
+#define qtn_drm_sd_rights_exp "Licence expired. Get new licence to unlock file?"
//d: Text in confirmation query
//d: %U is name of the media object
@@ -182,7 +182,7 @@
//w:
//r:
//
-#define qtn_drm_query_valid_rights_until "License for selected item valid until %U. Continue?"
+#define qtn_drm_query_valid_rights_until "Licence for selected item valid until %U. Continue?"
//d: Text in confirmation query when content with inactive interval rights is set as automated content.
//d: %U is calculated expiration date of rights object, if rights are activated
@@ -198,7 +198,7 @@
//w:
//r:
//
-#define qtn_drm_note_cd_ro_expired "License for %U expired"
+#define qtn_drm_note_cd_ro_expired "Licence for %U expired"
//d: Text in confirmation note when superdistributable automated content has expired.
//d: %U is name of the content
@@ -206,7 +206,7 @@
//w:
//r:
//
-#define qtn_drm_note_sd_ro_expired "License for %U expired. Get new license to unlock file?"
+#define qtn_drm_note_sd_ro_expired "Licence for %U expired. Get new licence to unlock file?"
//d: Text in information note when usage rights are not yet valid.
//d: %U is start date of rights object
@@ -214,14 +214,14 @@
//w:
//r: 2.6
//
-#define qtn_drm_note_ro_valid_on_future "License valid from %U"
+#define qtn_drm_note_ro_valid_on_future "Licence valid from %U"
//d:Possible second line for first entry of Details View listbox
//l:list_double_pane_t2_cp2
//w:
//r:3.0
//
-#define qtn_drm_mgr_det_valid "License is valid"
+#define qtn_drm_mgr_det_valid "Licence is valid"
//d: Text in information note shown when removing device from account failed.
//l: popup_note_window
@@ -250,7 +250,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_info_act_key_received "License received"
+#define qtn_drm_info_act_key_received "Licence received"
//d: Text in information note shown when getting rights object has failed.
//d: Reason is permanent device or server error and there is no possibility to retry.
@@ -258,7 +258,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_info_getting_key_failed "Unable to get license"
+#define qtn_drm_info_getting_key_failed "Unable to get licence"
//d: Text in confirmation note shown when device has been succesfully removed from account.
//l: popup_note_window
@@ -339,7 +339,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_get_key_failed_retry "License not received. Try again?"
+#define qtn_drm_get_key_failed_retry "Licence not received. Try again?"
//d: Text in wait note shown while device is acquiring RO and possibly completing registration
//d: protocol with Rights Issuer.
@@ -426,7 +426,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_query_waiting_for_ro "Waiting for license. Try again later."
+#define qtn_drm_query_waiting_for_ro "Waiting for licence. Try again later."
//d: Text in confirmation query that is displayed when user tries to render MO that is missing RO.
//d: The waiting time of RO to arrive has passed, and there is no possibility to get new RO (no rights
@@ -435,7 +435,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_query_ro_late "License not yet received. Expected time of delivery elapsed."
+#define qtn_drm_query_ro_late "Licence not yet received. Expected time of delivery elapsed."
//d: Text in confirmation query that is displayed when user tries to render MO that is missing RO.
//d: The waiting time of RO to arrive has passed, and there is possibility to get new RO (rights issuer url exists).
@@ -443,7 +443,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_query_ro_late_activate "License not yet received. Expected time of delivery elapsed. Get new license?"
+#define qtn_drm_query_ro_late_activate "Licence not yet received. Expected time of delivery elapsed. Get new licence?"
//d: Text in confirmation note that is displayed when device registration is complete.
//l: popup_note_window
@@ -483,7 +483,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_cal_tone_exp_activate "License for calendar alert tone %U expired. Get new license to unlock file?"
+#define qtn_drm_cal_tone_exp_activate "Licence for calendar alert tone %U expired. Get new licence to unlock file?"
//d: Text in information note that that is displayed when rights for calendar alert tone have expired.
//d: Note is shown when Idle is activated. This info note is shown fore combined delivery object
@@ -493,7 +493,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_info_calendar_tone_exp "License for calendar alert tone %U expired"
+#define qtn_drm_info_calendar_tone_exp "Licence for calendar alert tone %U expired"
//d: Text in confirmation query that is displayed when rights for clock alarm tone have expired.
//d: Query is shown when Idle is activated. Activation query is shown only for superdistributable
@@ -503,7 +503,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_clock_alrm_exp_activate "License for clock alarm tone %U expired. Get new license to unlock file?"
+#define qtn_drm_clock_alrm_exp_activate "Licence for clock alarm tone %U expired. Get new licence to unlock file?"
//d: Text in information note that that is displayed when rights for clock alarm tone have expired.
//d: Note is shown when Idle is activated. This info note is shown fore combined delivery object
@@ -513,7 +513,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_info_clock_alarm_exp "License for clock alarm tone %U expired"
+#define qtn_drm_info_clock_alarm_exp "Licence for clock alarm tone %U expired"
//d: Text in confirmation query that is displayed when rights for e-mail alert tone have expired.
//d: Query is shown when Idle is activated. Activation query is shown only for superdistributable
@@ -523,7 +523,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_email_tone_exp_activate "License for e-mail alert tone %U expired. Get new license to unlock file?"
+#define qtn_drm_email_tone_exp_activate "Licence for e-mail alert tone %U expired. Get new licence to unlock file?"
//d: Text in information note that that is displayed when rights for e-mail alert tone have expired.
//d: Note is shown when Idle is activated. This info note is shown fore combined delivery object
@@ -533,7 +533,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_info_email_tone_exp "License for e-mail alert tone %U expired"
+#define qtn_drm_info_email_tone_exp "Licence for e-mail alert tone %U expired"
//d: Text in confirmation query that is displayed when rights for instant message alert tone have expired.
//d: Query is shown when Idle is activated. Activation query is shown only for superdistributable
@@ -543,7 +543,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_im_tone_exp_activate "License for IM alert tone %U expired. Activate?"
+#define qtn_drm_im_tone_exp_activate "Licence for IM alert tone %U expired. Activate?"
//d: Text in information note that that is displayed when rights for instant message alert tone have expired.
//d: Note is shown when Idle is activated. This info note is shown fore combined delivery object
@@ -553,7 +553,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_info_im_alert_tone_exp "License for IM alert tone %U expired"
+#define qtn_drm_info_im_alert_tone_exp "Licence for IM alert tone %U expired"
//d: Text in confirmation query that is displayed when rights for message alert tone have expired.
//d: Query is shown when Idle is activated. Activation query is shown only for superdistributable
@@ -563,7 +563,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_msg_tone_exp_activate "License for message alert tone %U expired. Get new license to unlock file?"
+#define qtn_drm_msg_tone_exp_activate "Licence for message alert tone %U expired. Get new licence to unlock file?"
//d: Text in information note that that is displayed when rights for message alert tone have expired.
//d: Note is shown when Idle is activated. This info note is shown fore combined delivery object
@@ -573,7 +573,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_info_msg_tone_exp "License for message alert tone %U expired"
+#define qtn_drm_info_msg_tone_exp "Licence for message alert tone %U expired"
//d: Text in confirmation query that is displayed when rights for ringing tone have expired.
//d: Query is shown when Idle is activated. Activation query is shown only for superdistributable
@@ -583,7 +583,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_ring_tone_exp_activate "License for ringing tone %U expired. Get new license to unlock file?"
+#define qtn_drm_ring_tone_exp_activate "Licence for ringing tone %U expired. Get new licence to unlock file?"
//d: Text in information note that that is displayed when rights for ringing tone have expired.
//d: Note is shown when Idle is activated. This info note is shown fore combined delivery object
@@ -593,7 +593,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_info_ring_tone_exp "License for ringing tone %U expired"
+#define qtn_drm_info_ring_tone_exp "Licence for ringing tone %U expired"
//d: Text in confirmation query that is displayed when rights for screensaver have expired.
//d: Query is shown when Idle is activated. Activation query is shown only for superdistributable
@@ -603,7 +603,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_screensave_exp_activate "License for power saver %U expired. Get new license to unlock file?"
+#define qtn_drm_screensave_exp_activate "Licence for power saver %U expired. Get new licence to unlock file?"
//d: Text in information note that that is displayed when rights for screensaver have expired.
//d: Note is shown when Idle is activated. This info note is shown fore combined delivery object
@@ -623,7 +623,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_wallpaper_exp_activate "License for wallpaper %U expired. Get new license to unlock file?"
+#define qtn_drm_wallpaper_exp_activate "Licence for wallpaper %U expired. Get new licence to unlock file?"
//d: Text in information note that that is displayed when rights for wallpaper have expired.
//d: Note is shown when Idle is activated. This info note is shown fore combined delivery object
@@ -633,7 +633,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_info_wallpaper_exp "License for wallpaper %U expired"
+#define qtn_drm_info_wallpaper_exp "Licence for wallpaper %U expired"
//d: Text in confirmation query that is displayed when rights for theme have expired.
//d: Query is shown when Idle is activated. Activation query is shown only for superdistributable
@@ -643,7 +643,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_theme_exp_activate "License for theme %U expired. Get new license to unlock file?"
+#define qtn_drm_theme_exp_activate "Licence for theme %U expired. Get new licence to unlock file?"
//d: Text in information note that that is displayed when rights for theme have expired.
//d: Note is shown when Idle is activated. This info note is shown for combined delivery object
@@ -653,7 +653,7 @@
//w:
//r: 3.0
//
-#define qtn_drm_info_theme_exp "License for theme %U expired"
+#define qtn_drm_info_theme_exp "Licence for theme %U expired"
//d: Text in information note shown when updating account has failed
//d: (device was trying to join to new account).
@@ -706,14 +706,14 @@
//w:
//r: 3.0
//
-#define qtn_drm_roap_title "License download"
+#define qtn_drm_roap_title "Licence download"
//d: Text in information note
//l: popup_note_window
//w:
//r:
//
-#define qtn_drm_info_ro_expired "License expired"
+#define qtn_drm_info_ro_expired "Licence expired"
//d: Text in confirmation query shown when content cannot be rendered because of wrong SIM card in device
//l: popup_note_window
@@ -885,7 +885,7 @@
//l: None
//r: 3.2
//
-#define qtn_drm_msq_query_registration "Registration with content provider is needed. After registration, licenses for protected files can be downloaded automatically."
+#define qtn_drm_msq_query_registration "Registration with content provider is needed. After registration, licences for protected files can be downloaded automatically."
//Link text for more info
//d: String which contains the description for more info -link
--- a/drm_pub/oma_drm_caf_agent_api/tsrc/bc/BCDRMCAFCAPS_exe/group/BCDRMCAFCAPS_exe.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/drm_pub/oma_drm_caf_agent_api/tsrc/bc/BCDRMCAFCAPS_exe/group/BCDRMCAFCAPS_exe.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -32,12 +32,8 @@
/* Remove comments and replace 0x00000000 with correct secure id */
// SECUREID 0x00000000
-#if defined(__S60_)
- MW_LAYER_SYSTEMINCLUDE
-#else // __S60_ not defined
- SYSTEMINCLUDE /epoc32/include
- SYSTEMINCLUDE /epoc32/include/internal
-#endif // __S60_
+MW_LAYER_SYSTEMINCLUDE
+
/* Source files */
SOURCEPATH ../src
--- a/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -33,12 +33,8 @@
USERINCLUDE ../inc
-#if defined(__S60_)
- MW_LAYER_SYSTEMINCLUDE
-#else // __S60_ not defined
- SYSTEMINCLUDE /epoc32/include
- SYSTEMINCLUDE /epoc32/include/internal
-#endif // __S60_
+MW_LAYER_SYSTEMINCLUDE
+
SOURCEPATH ../src
@@ -54,10 +50,6 @@
LANG SC
-
-SYSTEMINCLUDE /epoc32/include/libc
-SYSTEMINCLUDE /epoc32/include/ecom
-SYSTEMINCLUDE /epoc32/include/caf
LIBRARY apparc.lib
LIBRARY avkon.lib
--- a/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF_nrm.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/group/DRM_CAF_nrm.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -36,12 +36,9 @@
USERINCLUDE ../inc
-#if defined(__S60_)
- MW_LAYER_SYSTEMINCLUDE
-#else // __S60_ not defined
- SYSTEMINCLUDE /epoc32/include
- SYSTEMINCLUDE /epoc32/include/internal
-#endif // __S60_
+
+MW_LAYER_SYSTEMINCLUDE
+
SOURCEPATH ../src
--- a/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/inc/DRM_CAF.h Thu Aug 19 10:12:10 2010 +0300
+++ b/drm_pub/oma_drm_caf_agent_api/tsrc/bc/DRM_CAF/inc/DRM_CAF.h Tue Aug 31 15:29:38 2010 +0300
@@ -38,8 +38,7 @@
#include <s32file.h>
#include <e32std.h>
#include <e32base.h>
-#include <data.h>
-//#include <caf.h>
+#include <caf/data.h>
#include <Oma2Agent.h>
#include <DRMLicenseChecker.h>
--- a/inc/DrmUtilityDmgrWrapper.h Thu Aug 19 10:12:10 2010 +0300
+++ b/inc/DrmUtilityDmgrWrapper.h Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-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"
@@ -19,9 +19,28 @@
#ifndef CDRMUTILITYDMGRWRAPPER_H
#define CDRMUTILITYDMGRWRAPPER_H
-#include <downloadmgrclient.h>
-#include <AknProgressDialog.h>
-#include <eikprogi.h>
+#include <f32file.h> // RFs
+#include <RoapObserver.h> // Roap::MRoapObserver
+#include <AknProgressDialog.h> // MAknProgressDialogCallback CAknProgressDialog
+
+// download apis
+#include <downloadmanager.h>
+#include <download.h>
+#include <downloadevent.h>
+
+namespace Roap
+ {
+ class CRoapEng;
+ }
+
+namespace DRM
+ {
+ class CDrmUtilityConnection;
+ }
+class CDRMRights;
+class CEikProgressInfo;
+class DrmUtilityEventHandler;
+class QDrmUtilityDmgrEventHandler;
/**
* Environment gate function
@@ -50,12 +69,25 @@
* @lib DrmUtilityDmgrWrapper
* @since S60 v5.0
*/
-class CDrmUtilityDmgrWrapper : CBase,
- public MHttpDownloadMgrObserver,
+class CDrmUtilityDmgrWrapper :
+ public CActive,
+ public Roap::MRoapObserver,
public MDrmUtilityDmgrWrapper,
public MProgressDialogCallback
{
+private:
+ enum TDownloadState
+ {
+ EInit,
+ EGetMeteringTrigger,
+ ESaveMeteringTrigger,
+ EMeteringReportSubmit,
+ EGetPrUrlTrigger,
+ ESavePrUrlTrigger,
+ EPrRoapRequest,
+ EComplete
+ };
public:
static CDrmUtilityDmgrWrapper* NewL();
@@ -76,17 +108,131 @@
HBufC8* GetErrorUrlL();
+// From Roap::MRoapObserver
+ /**
+ * ConnectionConfL
+ * @return ETrue: the network can be establish
+ * EFalse: the ROAP transaction is canceled
+ *
+ * @leave System wide error code */
+ TBool ConnectionConfL();
- // from base class MHttpDownloadMgrObserver
+ /**
+ * ContactRiConfL
+ * @return ETrue: the user consent is achieved
+ * EFalse: the user consent is not achieved
+ *
+ * @leave System wide error code */
+ TBool ContactRiConfL();
+
+ /**
+ * TransIdConfL
+ * @return ETrue: the user consent is achieved
+ * EFalse: the user consent is not achieved
+ *
+ * @leave System wide error code */
+
+ TBool TransIdConfL();
+
+ /**
+ * RightsObjectDetailsL
+ *
+ * The function is called after successful completion of RO acquisition
+ * protocol. The passes information about stored rights objects to the
+ * observer.
+ *
+ * @since 3.0
+ * @param aRightsList: A list of pointers to rights objects.
+ * Contents of aRightsList are owend by ROAP engine
+ *
+ * @leave System wide error code */
+ void RightsObjectDetailsL( const RPointerArray<CDRMRights>& aRightsList );
+
+ /**
+ * ContentDownloadInfoL
+ *
+ * The function is called when the ROAP engine notices that it is about to
+ * receive a multipart content as a ROAP response. The method must return via
+ * out-parameter the path to a temp folder where the content is saved during
+ * download. The name that is used as filename when saving the content to
+ * the appropriate palce and the maximum size of the content (a safety upper limit)
+ * must also be provided via out-parameters.
+ *
+ * @since 3.0
+ * @param aTempFolder: (out-param) The path of the temp folder, or KNullDesC
+ * @param aContentName: (out-param) The name of the content, or KNullDesC (defaut name is used)
+ * @param aMaxSize: (out-param) The maximum size of the content, or -1 if not known
+ *
+ * @leave System wide error code */
+
+ void ContentDownloadInfoL( TPath& aTempFolder,
+ TFileName& aContentName,
+ TInt& aMaxSize );
/**
- * From MHttpDownloadMgrObserver.
- * Handle download manager events
+ * ContentDetailsL
+ *
+ * The function is called when the ROAP engine has received a DCF content (together
+ * with a ROAP response) The ROAP engine saves the DCF to the appropriate location
+ * and gives out the information about the saved DCF file by calling this method
+ *
+ * @since 3.0
+ * @param aPath: The path andf the filename of the saved DCF file
+ * @param aType: The plain MIME type of the saved DCF file
+ * @param aAppUid: The handler app UID of the saved DCF file
+ *
+ * @leave System wide error code */
+
+ void ContentDetailsL( const TDesC& aPath,
+ const TDesC8& aType,
+ const TUid& aAppUid );
+
+ /**
+ * RoapProgressInfoL
+ *
+ * The function provides progress information about ROAP processing to the
+ * observer
+ *
+ * @since 3.0
+ * @param aProgressInfo: An integer value representing the state of
+ * ROAP processing, counting in bytes
*
- * @param aDownload the download
- * @param aEvent the event
- */
- void HandleDMgrEventL( RHttpDownload& aDownload, THttpDownloadEvent aEvent );
+ * @leave System wide error code */
+
+ void RoapProgressInfoL( const TInt aProgressInfo );
+
+ /**
+ * ErrorUrlL
+ *
+ * The function is called in ROAP error case and it provides an error URL
+ * for the caller. The calling entity should send an HTTP GET request to
+ * the URL which should then return an HTML page.
+ *
+ * @since 3.0
+ * @param aErrorUrl: The error URL
+ *
+ *
+ * @leave System wide error code */
+
+ void ErrorUrlL( const TDesC8& aErrorUrl );
+
+ /**
+ * PostResponseUrlL
+ *
+ * The function is called if handled ROAP metering report response
+ * contains PostResponseURL extension. The calling entity should send
+ * an HTTP GET request to the URL, which should return ROAP trigger,
+ * download descriptor or multipart message containing both
+ * download descriptor and ROAP trigger.
+ *
+ * @since 3.2
+ * @param aPostResponseUrl: The URL to be fetched
+ * after handling ROAP metering response
+ * with PostResponseURL extension.
+ *
+ *
+ * @leave System wide error code */
+ void PostResponseUrlL( const TDesC8& aPostResponseUrl );
public: // Call back methods of MAknProgressDialogCallback
@@ -97,9 +243,22 @@
* @param aButtonId ID of the button pressed
*/
void DialogDismissedL( TInt aButtonId );
+
+ /**
+ * Handle download manager events
+ *
+ * @param aEvent the event
+ */
+
+ void HandleDownloadEventL( WRT::DownloadEvent* aEvent );
protected:
+ //from Cactive
+ virtual void DoCancel();
+ virtual void RunL();
+
+ virtual TInt RunError( TInt aError );
private:
/**
@@ -112,25 +271,37 @@
/**
* Set the browser default access point to be used
*/
- void SetDefaultAccessPointL();
- void DoDownloadAndHandleRoapTriggerL( const HBufC8* aUrl );
void ShowProgressNoteL( );
void RemoveProgressNoteL( );
- void HandlePostResponseUrlL();
+ void DoConnectL( TDownloadState aNextState );
+
+ void DoDownloadRoapTriggerL( TDownloadState aNextState );
+
+ void DoSaveRoapTriggerL( TDownloadState aNextState );
+ void DoHandleRoapTriggerL( TDownloadState aNextState );
+
+ void CompleteToState( TDownloadState aNextState, TInt aError );
+
+ void ProcessDownloadEventL( WRT::Download& aDownload, WRT::DownloadEvent& aEvent );
private: // data
/**
* Download manager session
*/
- RHttpDownloadMgr iDlMgr;
+ WRT::DownloadManager* iDlMgr;
/**
+ * Download instance needs to be stored for handling signal slot mechanism
+ */
+ WRT::Download* iDownload;
+
+ /**
* Used to make downloads synchronous
*/
CActiveSchedulerWait iWait;
@@ -141,6 +312,16 @@
TBool iDownloadSuccess;
TBool iConnectionError;
+ /**
+ * trigger URL
+ */
+ HBufC8* iTriggerUrl;
+
+ /**
+ * trigger buffer
+ */
+ HBufC8* iTriggerBuf;
+
TBool iDialogDismissed;
/**
@@ -171,6 +352,22 @@
*/
HBufC8* iPostResponseUrl;
+ /**
+ * IAP (from ROAP or from UI)
+ */
+ TUint32 iIapId;
+
+ TDownloadState iState;
+
+ Roap::CRoapEng* iRoapEng;
+
+ RFs iFs;
+
+ HBufC* iFileName;
+
+ DRM::CDrmUtilityConnection* iConnection;
+
+ QDrmUtilityDmgrEventHandler* iDrmUtilityDmgrEventHandler;
};
#endif // CDRMUTILITYDMGRWRAPPER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/buffercontainers.h Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 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: CBase derived container classes for easening
+* dynamic memory allocation of TBuf<n> type variables
+* (TName etc.)
+*/
+#ifndef BUFFERCONTAINERS_H
+#define BUFFERCONTAINERS_H
+
+#include <e32std.h>
+namespace DRM
+{
+template <typename T>
+NONSHARABLE_CLASS( CBufferContainer ): public CBase
+ {
+ // Note, this class is not intendend to be part of any API
+ public:
+ inline static CBufferContainer<T>* NewL();
+ inline static CBufferContainer<T>* NewLC();
+
+ inline virtual ~CBufferContainer();
+ private:
+ inline CBufferContainer();
+
+ //data
+ public:
+ // Contained TBuf member
+ T iBuffer;
+ };
+
+//Containers for some TBuf based types defined at e32cmn.h
+typedef CBufferContainer<TName> CNameContainer;
+typedef CBufferContainer<TFullName> CFullNameContainer;
+typedef CBufferContainer<TExitCategoryName> CExitCategoryNameContainer;
+typedef CBufferContainer<TFileName> CFileNameContainer;
+typedef CBufferContainer<TPath> CPathContainer;
+typedef CBufferContainer<TVersionName> CVersionNameContainer;
+typedef CBufferContainer<TUidName> CUidNameContainer;
+}
+
+#include "buffercontainers.inl"
+#endif // BUFFERCONTAINERS_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/buffercontainers.inl Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 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:
+*
+*/
+#ifndef BUFFERCONTAINERS_INL
+#define BUFFERCONTAINERS_INL
+
+// ---------------------------------------------------------------------------
+// DRM::CBufferContainer::NewL
+// ---------------------------------------------------------------------------
+//
+template <typename T>
+inline DRM::CBufferContainer<T>* DRM::CBufferContainer<T>::NewL()
+{
+ CBufferContainer<T>* self( CBufferContainer<T>::NewLC() );
+ CleanupStack::Pop( self );
+ return self;
+}
+
+// ---------------------------------------------------------------------------
+// DRM::CBufferContainer::NewLC
+// ---------------------------------------------------------------------------
+//
+template <typename T>
+inline DRM::CBufferContainer<T>* DRM::CBufferContainer<T>::NewLC()
+{
+ CBufferContainer<T>* self( new (ELeave) CBufferContainer<T>() );
+ CleanupStack::PushL( self );
+ return self;
+}
+
+// ---------------------------------------------------------------------------
+// DRM::CBufferContainer::CBufferContainer
+// ---------------------------------------------------------------------------
+//
+template <typename T>
+inline DRM::CBufferContainer<T>::CBufferContainer()
+{}
+
+// ---------------------------------------------------------------------------
+// DRM::CBufferContainer::~CBufferContainer
+// ---------------------------------------------------------------------------
+//
+template <typename T>
+inline DRM::CBufferContainer<T>::~CBufferContainer()
+{}
+
+
+#endif // BUFFERCONTAINERS_INL
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/drmbrowserlauncher.h Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 2004 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: API for QT browser launcher
+*
+*/
+
+
+#ifndef DRMBROWSERLAUNCHER_H
+#define DRMBROWSERLAUNCHER_H
+
+// INCLUDES
+#include <e32base.h>
+// DATA TYPES
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+namespace DRM
+{
+
+
+/**
+* API for QT browser launcher
+*
+*
+* @lib drmbrowserlauncher.dll
+* @since Symbian V4
+*/
+NONSHARABLE_CLASS( CDrmBrowserLauncher ): public CBase
+{
+ public: // Constructors and destructor
+
+ /**
+ * Destructor.
+ * @since Symbian V4
+ */
+ ~CDrmBrowserLauncher();
+
+ /**
+ * Two-phased constructor.
+ * @since Symbian V4
+ *
+ * @return New drmbrowserlauncher instace.
+ */
+ IMPORT_C static CDrmBrowserLauncher* NewLC();
+
+ /**
+ * Two-phased constructor.
+ * @since Symbian V4
+ *
+ * @return New drmbrowserlauncher instace.
+ */
+ IMPORT_C static CDrmBrowserLauncher* NewL();
+
+ /**
+ * Static method for launching the Browser with a given URL.
+ * @since Symbian V4
+ * @param &aUrl URL to be launched in browser.
+ */
+ IMPORT_C void LaunchUrlL(TDesC &aUrl);
+
+ private:
+
+ /**
+ * Constructor.
+ * @since Symbian V4
+ */
+ CDrmBrowserLauncher();
+
+ /**
+ * Two-phased constructor second part.
+ * @since Symbian V4
+ */
+ void ConstructL();
+
+};
+
+} // namespace DRM
+
+#endif // DRMHELPERSESSION_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/drmuidialogids.h Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 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: Defines an enumeration for the DRM dialog IDs
+*/
+
+
+#ifndef C_DRMUIDIALOGIDS_H
+#define C_DRMUIDIALOGIDS_H
+
+// Enumeration for the dialog IDs to be launched.
+enum TDrmUIDialogId
+ {
+ EQueryNoRightsObj,
+ EQueryFileLocked, // %U is filename. dialog to be implemented
+ EQueryFileLockedForSim,
+ EQueryRightsObjExpired,
+ EQueryFileWithNoRightsObj, // %U is filename. dialog to be implemented
+ EQueryNoUsage,
+ EQueryNoCount,
+ EQueryDeleteDRMFile,
+ EQueryMoveObjects,
+ EQueryCopyObjects,
+ EQuerySendUnprotectedObjs,
+ EQueryAccountUpdate,
+ EQueryRetryForLicence,
+ EQueryGetNewLicence,
+ EQueryConnectToActivate, // dialog to be implemented
+ EQueryOpenErrorUrl, // dialog to be implemented
+ EQueryLicenceValidUntil, // %U is expiration date. dialog to be implemented yet
+ EQueryValidForLimitedTime, // dialog to be implemented
+ EQueryUnlockRingToneForSim, // %U is filename. dialog to be implemented
+ EQueryGetRingToneLicence, // %U is filename. dialog to be implemented
+ EQueryUnlockMsgToneForSim, // %U is filename. dialgo to be implemented
+ EQueryGetMsgToneLicence, // %U is filename. dialog to be implemented
+ EQueryUnlockEmailToneForSim, // %U is filename. dialog to be implemented
+ EQueryGetEmailToneLicence, // %U is filename. dialog to be implemented
+ EQueryUseDefaultEmailTone, // %U is filename. dialog to be implemented
+ EQueryActivateIMToneLicence, // %U is filename. dialog to be implemented
+ EQueryUnlockCalToneForSim, // %U is filename. dialog to be implemented
+ EQueryGetCalToneLicence, // %U is filename. dialog to be implemented
+
+ EConfObjLocked,
+ EConfUnsupportedObj,
+ EConfWaitingForLicence,
+ EConfDeleted,
+ EConfUnableToMove,
+ EConfUnableToCopy,
+ EConfLicenceExpired,
+ EConfFileDeleted, // %U is filename. dialog to be implemented
+ EConfForwardProtected,
+ EConfUnableToSend,
+ EConfViewRestriction,
+ EConfUnableToUse, // %U is start date of RO. dialog to be implemented
+ EConfUnableToDeregister,
+ EConfAccountNotRecognized,
+ EConfPhoneDeregistered,
+ EConfRegUpdateFailure,
+ EConfRegistrationUpdated,
+ EConfPhoneRegistered,
+ EConfRegistrationFailure,
+ EConfUnableToOpen, // dialog to be implemented
+ EConfLicenceNotReceived, // dialog to be implemented
+ EConfFileLockedForSim,
+ EConfNoAccessPoint, // dialog to be implemented
+ EConfConnectionFailed, // dialog to be implemented
+ EConfUnableToUnlock, // dialog to be implemented
+ EConfUseDefaultRingTone, // %U is filename. dialog to be implemented
+ EConfRingToneLicenceExpired, // %U is filename. dialog to be implemented
+ EConfUseDefaultMsgTone, // %U is filename. dialog to be implemented
+ EConfMsgToneLicenceExpired, // %U is filename. dialog to be implemented
+ EConfEmailToneLicenceExpired, // %U is filename. dialog to be implemented
+ EConfIMToneLicenceExpired, // %U is filename. dialog to be implemented
+ EConfUseDefaultCalTone, // %U is filename. dialog to be implemented
+ EConfCalToneExpired, // %U is filename. dialog to be implemented
+
+ EProgDeregisteringPhone, // progress bar to be implemented
+ EProgAcquiringLicence, // progress bar to be implemented
+ EProgRegisteringPhone, // progress bar to be implemented
+ EProgUpdatingRegistration, // progress bar to be implemented
+
+ ENoteRightsObjReceived, // popup
+ EUnusedId // The last ID
+ };
+
+enum TDrmUiResultCode
+ {
+ ECancelled,
+ EOk
+ };
+
+#endif // C_DRMUIDIALOGIDS_H
+
--- a/layers.sysdef.xml Thu Aug 19 10:12:10 2010 +0300
+++ b/layers.sysdef.xml Tue Aug 31 15:29:38 2010 +0300
@@ -1,14 +1,17 @@
<?xml version="1.0"?>
-<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
+<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_5_1.dtd" [
<!ENTITY layer_real_source_path "sf/mw/drm" >
]>
-<SystemDefinition name="drm" schema="1.4.0">
+<SystemDefinition name="drm" schema="1.5.1">
<systemModel>
<layer name="mw_layer">
<module name="drm">
<unit unitID="sedo.drm" mrp="" bldFile="&layer_real_source_path;/group" name="drm" />
</module>
+ <module name="">
+ <unit unitID="sedoQT.drm" bldFile="&layer_real_source_path;" mrp="" name="sedoQT_drm" proFile="drm.pro" qmakeArgs="-r" />
+ </module>
</layer>
<layer name="api_test_layer">
<module name="drm_test">
--- a/omadrm/drmengine/agentv2/src/Oma2AgentAttributes.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/agentv2/src/Oma2AgentAttributes.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -29,7 +29,6 @@
#include <caf/caferr.h>
#include <utf.h>
#include <drmagents.h>
-#include <featmgr.h>
#include "Oma2Agent.h"
#include "Oma2AgentAttributes.h"
#include "Oma1Dcf.h"
@@ -82,6 +81,9 @@
DRM::EDrmAllowVideoMacroVision |
DRM::EDrmAllowAudioUsb |
DRM::EDrmAllowAudioHdmiHdcpRequired |
+ DRM::EDrmAllowAudioHdmi |
+ DRM::EDrmAllowVideoHDMI |
+ DRM::EDrmAllowVideoHdmiHdcpRequested |
DRM::EDrmAllowVideoHdmiHdcpRequired;
// ============================= LOCAL FUNCTIONS ===============================
@@ -1021,26 +1023,14 @@
}
break;
case ERightsIssuerUrl:
- TRAP(ret, FeatureManager::InitializeLibL());
-
- if (!ret && FeatureManager::FeatureSupported(KFeatureIdFfOmadrm1FullSupport))
+#ifndef __DRM_FULL
+ err = KErrNotSupported;
+#else
+ if (aDcfFile.iRightsIssuerURL != NULL)
{
- if (aDcfFile.iRightsIssuerURL != NULL)
- {
- TRAP(err, b = CnvUtfConverter::ConvertToUnicodeFromUtf8L(
- *aDcfFile.iRightsIssuerURL));
- }
+ TRAP(err, b = CnvUtfConverter::ConvertToUnicodeFromUtf8L(*aDcfFile.iRightsIssuerURL));
}
- else
- {
- err = KErrNotSupported;
- }
-
- if (!ret)
- {
- FeatureManager::UnInitializeLib();
- }
-
+#endif
break;
case ETransactionTrackingId:
if (dcf2 != NULL && dcf2->iTransactionTracking)
--- a/omadrm/drmengine/agentv2/src/Oma2AgentContent.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/agentv2/src/Oma2AgentContent.cpp Tue Aug 31 15:29:38 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"
@@ -25,9 +25,7 @@
#include <e32test.h>
#include <utf.h>
-
-#include <schemehandler.h>
-
+#include <drmbrowserlauncher.h>
#include "Oma2AgentContent.h"
#include "Oma2AgentAttributes.h"
@@ -545,7 +543,6 @@
// -----------------------------------------------------------------------------
// COma2AgentContent::NotifyStatusChange
-//
// -----------------------------------------------------------------------------
//
void COma2AgentContent::NotifyStatusChange(
@@ -606,7 +603,8 @@
TRequestStatus *ptr = &aStatus;
TInt r;
HBufC* b = NULL;
- CSchemeHandler* handler = NULL;
+
+ r = KErrNotSupported;
r = iDcf->OpenPart(aUniqueId);
if (r == KErrNone && iDcf->iRightsIssuerURL != NULL)
@@ -615,16 +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/agentv2/src/Oma2AgentManager.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/agentv2/src/Oma2AgentManager.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -32,7 +32,6 @@
#include <apaserverapp.h>
#include <sysutil.h>
#include <centralrepository.h>
-#include <featmgr.h>
#include "Oma2AgentManager.h"
#include "Oma2AgentAttributes.h"
@@ -131,9 +130,7 @@
}
iOmaBasedMimeType = NULL;
}
-
- FeatureManager::InitializeLibL();
-
+
}
// -----------------------------------------------------------------------------
@@ -203,8 +200,6 @@
delete iWatchedId;
delete iOmaBasedMimeType;
-
- FeatureManager::UnInitializeLib();
}
// -----------------------------------------------------------------------------
@@ -728,11 +723,11 @@
TInt err = KErrNone;
CDcfCommon* dcf = NULL;
-#ifdef __DRM_OMA2
+#ifdef __DRM_OMA2
if ( !aFileName.Right(4).CompareF( KOma2DcfExtension ) ||
- !aFileName.Right(4).CompareF( KOma2DcfExtensionAudio ) ||
- !aFileName.Right(4).CompareF( KOma2DcfExtensionVideo ) ||
- COma2Dcf::IsValidDcf(aBuffer) )
+ !aFileName.Right(4).CompareF( KOma2DcfExtensionAudio ) ||
+ !aFileName.Right(4).CompareF( KOma2DcfExtensionVideo ) ||
+ COma2Dcf::IsValidDcf(aBuffer) )
{
aFileMimeType.Copy(KOma2DcfContentType);
aContentMimeType.Copy(KCafMimeType);
@@ -800,11 +795,7 @@
{
aOutputBuffer.Copy(_L8("FL CD SD"));
#ifdef __DRM_OMA2
- if( FeatureManager::FeatureSupported(
- KFeatureIdFfOmadrm2Support ) )
- {
- aOutputBuffer.Append(_L8(" OMADRM2"));
- }
+ aOutputBuffer.Append(_L8(" OMADRM2"));
#endif
}
break;
--- a/omadrm/drmengine/dcf/src/Oma2Dcf.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/dcf/src/Oma2Dcf.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002 - 2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002 - 2009 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"
@@ -23,7 +23,6 @@
#include <e32base.h>
#include <f32file.h>
#include <utf.h>
-#include <featmgr.h>
#include <caf/caf.h>
#include <caf/cafplatform.h>
#include "Oma2Agent.h"
@@ -292,24 +291,11 @@
const TDesC8& aDcfFragment )
{
TBool r( EFalse );
- TInt err( KErrNone );
if ( aDcfFragment.Length() >= KBrandingSize &&
aDcfFragment.Left( KBrandingSize ).Compare( KOma2DcfBranding ) == 0 )
{
-
- TRAP( err, FeatureManager::InitializeLibL() );
-
- if ( !err && FeatureManager::FeatureSupported( KFeatureIdFfOmadrm2Support ) )
- {
- r = ETrue;
- }
-
- if ( !err )
- {
- FeatureManager::UnInitializeLib();
- }
-
+ r = ETrue;
}
return r;
}
--- a/omadrm/drmengine/dcfrepository/server/src/DcfRepSrv.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/dcfrepository/server/src/DcfRepSrv.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -726,6 +726,7 @@
{
aType = ENoDcf;
}
+
}
break;
case EStateSetTtid:
--- a/omadrm/drmengine/dm/src/DRMMessageParser.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/dm/src/DRMMessageParser.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -24,7 +24,6 @@
#include <caf/caftypes.h>
#include <wspdecoder.h>
#include <wspencoder.h>
-#include <featmgr.h>
#ifdef RD_MULTIPLE_DRIVE
#include <driveinfo.h>
@@ -224,9 +223,6 @@
Reset();
User::Free( const_cast< TUint8* >( iInputBuffer.Ptr() ) );
-
- FeatureManager::UnInitializeLib();
-
}
// -----------------------------------------------------------------------------
@@ -335,9 +331,6 @@
//
void CDRMMessageParser::ConstructL()
{
-
- FeatureManager::InitializeLibL();
-
// Make some extra room for crazy b64decode().
iInputBuffer.Set( reinterpret_cast< TUint8* >(
User::AllocL( KInputBufferSize + 2 ) ),
@@ -493,12 +486,9 @@
SetBit( EReadingHeaderPart );
res.Set( NULL, 0 );
-
- if ( !( FeatureManager::FeatureSupported(
- KFeatureIdFfOmadrm1FullSupport ) ) )
- {
- User::Leave(KErrNotSupported);
- }
+#ifndef __DRM_FULL
+ User::Leave(KErrNotSupported);
+#endif
}
else
{
--- a/omadrm/drmengine/drmbackup/inc/DRMBackup.h Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/drmbackup/inc/DRMBackup.h Tue Aug 31 15:29:38 2010 +0300
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32base.h> // CBase
-#include <abclient.h>
+#include <connect/abclient.h>
// CONSTANTS
--- a/omadrm/drmengine/drmbackup/src/DRMBackupObserver.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/drmbackup/src/DRMBackupObserver.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -21,7 +21,7 @@
#include <e32base.h>
#include <e32std.h>
#include <f32file.h>
-#include <sbdefs.h> //for KUidBackupRestoreStatus
+#include <connect/sbdefs.h> //for KUidBackupRestoreStatus
#include "DRMBackupObserver.h"
#include "DRMRightsServer.h"
/*
--- a/omadrm/drmengine/group/DRMCommon.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/group/DRMCommon.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -37,8 +37,7 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/caf
-SYSTEMINCLUDE /epoc32/include/libc
+
SOURCEPATH ../legacy/src
SOURCE DRMCommon.cpp
@@ -56,7 +55,6 @@
LIBRARY euser.lib efsrv.lib charconv.lib
LIBRARY apmime.lib bafl.lib estor.lib InetProtUtil.lib
LIBRARY caf.lib
-LIBRARY featmgr.lib
#ifdef RD_MULTIPLE_DRIVE
LIBRARY platformenv.lib
--- a/omadrm/drmengine/group/DRM_BAT.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/group/DRM_BAT.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -38,9 +38,7 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/libc
-SYSTEMINCLUDE /epoc32/include/ecom
-SYSTEMINCLUDE /epoc32/include/caf
+
SOURCEPATH ../tsrc
SOURCE DRM_BAT.cpp
--- a/omadrm/drmengine/group/DrmCrypto.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/group/DrmCrypto.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -31,8 +31,6 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/libc
-SYSTEMINCLUDE /epoc32/include/ecom
SOURCEPATH ../utils/src
SOURCE Base64.cpp
--- a/omadrm/drmengine/group/DrmDcf.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/group/DrmDcf.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -49,7 +49,7 @@
LIBRARY euser.lib XmlFramework.lib hash.lib
LIBRARY estor.lib efsrv.lib apmime.lib InetProtUtil.lib bnf.lib
LIBRARY cryptography.lib random.lib bafl.lib charconv.lib
-LIBRARY centralrepository.lib featmgr.lib
+LIBRARY centralrepository.lib
#if defined(ARMCC)
deffile ../eabi/
--- a/omadrm/drmengine/group/DrmKeyStorage.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/group/DrmKeyStorage.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -30,8 +30,7 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/libc
-SYSTEMINCLUDE /epoc32/include/ecom
+
SOURCEPATH ../keystorage/src
SOURCE DrmKeyStorage.cpp
@@ -47,7 +46,6 @@
LIBRARY random.lib
LIBRARY hash.lib
LIBRARY flogger.lib
-LIBRARY featmgr.lib
#if defined(ARMCC)
deffile ../eabi/
--- a/omadrm/drmengine/group/DrmParsers.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/group/DrmParsers.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -40,9 +40,7 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/libc
-SYSTEMINCLUDE /epoc32/include/ecom
-SYSTEMINCLUDE /epoc32/include/caf
+
SOURCEPATH ../dm/src
SOURCE Oma1DcfCreator.cpp
@@ -57,7 +55,6 @@
LIBRARY drmdcf.lib euser.lib XmlFramework.lib hash.lib
LIBRARY estor.lib efsrv.lib apmime.lib InetProtUtil.lib bnf.lib
LIBRARY cryptography.lib bafl.lib charconv.lib drmkeystorage.lib
-LIBRARY featmgr.lib
#ifdef RD_MULTIPLE_DRIVE
LIBRARY platformenv.lib
--- a/omadrm/drmengine/group/DrmRights.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/group/DrmRights.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -38,9 +38,7 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/libc
-SYSTEMINCLUDE /epoc32/include/ecom
-SYSTEMINCLUDE /epoc32/include/caf
+
SOURCEPATH ../ro/src
SOURCE DrmRights.cpp
--- a/omadrm/drmengine/group/DrmServerInterfaces.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/group/DrmServerInterfaces.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -42,9 +42,6 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/libc
-SYSTEMINCLUDE /epoc32/include/ecom
-SYSTEMINCLUDE /epoc32/include/caf
SOURCEPATH ../server/src
SOURCE DRMRightsClient.cpp
@@ -76,7 +73,6 @@
LIBRARY euser.lib XmlFramework.lib hash.lib
LIBRARY estor.lib efsrv.lib apmime.lib InetProtUtil.lib bnf.lib
LIBRARY cryptography.lib random.lib bafl.lib charconv.lib
-LIBRARY featmgr.lib
#if defined(ARMCC)
deffile ../eabi/
--- a/omadrm/drmengine/group/DrmStdKeyStorage.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/group/DrmStdKeyStorage.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -30,8 +30,6 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/libc
-SYSTEMINCLUDE /epoc32/include/ecom
SOURCEPATH ../keystorage/src
SOURCE DrmStdKeyStorage.cpp
@@ -49,7 +47,6 @@
LIBRARY etel.lib
LIBRARY etelmm.lib
LIBRARY flogger.lib
-LIBRARY featmgr.lib
#ifdef RD_MULTIPLE_DRIVE
LIBRARY platformenv.lib
--- a/omadrm/drmengine/group/OmaDrmAgent.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/group/OmaDrmAgent.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -36,7 +36,7 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/ecom
+
SOURCEPATH ../agentv2/src
SOURCE Oma2Agent.cpp
@@ -77,6 +77,6 @@
LIBRARY ws32.lib
LIBRARY sysutil.lib
LIBRARY centralrepository.lib
-LIBRARY featmgr.lib
+LIBRARY drmbrowserlauncher.lib
SMPSAFE
--- a/omadrm/drmengine/group/ROAPHandler.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/group/ROAPHandler.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -39,8 +39,6 @@
// Default system include paths for middleware layer modules.
APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/libc
-SYSTEMINCLUDE /epoc32/include/ecom
SOURCEPATH ../roap/src
@@ -113,9 +111,9 @@
LIBRARY DcfRep.lib
LIBRARY caf.lib // Embedding domain ROs
LIBRARY cafutils.lib // Embedding domain ROs
-LIBRARY centralrepository.lib // Browser default AP
+LIBRARY centralrepository.lib // CRepository
LIBRARY cmmanager.lib
-LIBRARY featmgr.lib
+LIBRARY extendedconnpref.lib netmeta.lib // TExtendedConnPref
LIBRARY SysUtil.lib
LIBRARY HttpFilterCommon.lib
--- a/omadrm/drmengine/group/RightsServer.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/group/RightsServer.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -27,8 +27,7 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/libc
-SYSTEMINCLUDE /epoc32/include/connect
+
USERINCLUDE ../server/inc
USERINCLUDE ../agentv2/inc
--- a/omadrm/drmengine/keystorage/src/DrmStdKeyStorage.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/keystorage/src/DrmStdKeyStorage.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -25,7 +25,6 @@
#include <x509cert.h>
#include <etelmm.h>
#include <mmtsy_names.h>
-#include <featmgr.h>
#ifdef RD_MULTIPLE_DRIVE
#include <driveinfo.h>
@@ -211,17 +210,10 @@
User::LeaveIfError(iFs.Connect());
iFileMan = CFileMan::NewL(iFs);
- FeatureManager::InitializeLibL();
-
-#ifdef __DRM_OMA2
- if ( FeatureManager::FeatureSupported( KFeatureIdFfOmadrm2Support ) )
- {
- TRAP_IGNORE( SelectDefaultRootL() );
- }
+#ifdef __DRM_OMA2
+ TRAP_IGNORE( SelectDefaultRootL() ); // Allow startup anyway.
#endif
-
- FeatureManager::UnInitializeLib();
-
+
iDeviceSpecificKey.Copy(KDefaultKey);
LOG(_L("CDrmStdKeyStorage::ConstructL <-"));
@@ -584,7 +576,9 @@
for (i = 0; i < dir->Count(); i++)
{
ReadFileL(iFs, (*dir)[i].iName, cert);
+ CleanupStack::PushL( cert );
aCertChain.AppendL(cert);
+ CleanupStack::Pop( cert );
}
CleanupStack::PopAndDestroy(); // dir
LOG(_L("CDrmStdKeyStorage::GetCertificateChainL <-"));
--- a/omadrm/drmengine/legacy/src/DRMCommon.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/legacy/src/DRMCommon.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -21,7 +21,6 @@
#include <f32file.h>
#include <s32file.h>
#include <apmstd.h>
-#include <featmgr.h>
#include <wspdecoder.h>
#include <wspencoder.h>
@@ -1822,8 +1821,7 @@
// -----------------------------------------------------------------------------
EXPORT_C void DRMCommon::ConstructL()
{
- FeatureManager::InitializeLibL();
- }
+ }
// -----------------------------------------------------------------------------
// DRMCommon::NewL
@@ -1842,7 +1840,6 @@
// Destructor
EXPORT_C DRMCommon::~DRMCommon()
{
- FeatureManager::UnInitializeLib();
}
// -----------------------------------------------------------------------------
@@ -2264,15 +2261,7 @@
DRMCommon::ESeparateDelivery |
DRMCommon::ESuperDistribution;
#ifdef __DRM_OMA2
- if ( FeatureManager::FeatureSupported( KFeatureIdFfOmadrm2Support ) )
- {
- aOMALevel = EOMA_2_0;
- }
- else
- {
- aOMALevel = EOMA_1_0;
- }
-
+ aOMALevel = EOMA_2_0;
#else
aOMALevel = EOMA_1_0;
#endif
--- a/omadrm/drmengine/legacy/src/drmcommon.rss Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/legacy/src/drmcommon.rss Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2005 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"
--- a/omadrm/drmengine/notifier/inc/DRMMessageStorage.h Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/notifier/inc/DRMMessageStorage.h Tue Aug 31 15:29:38 2010 +0300
@@ -78,7 +78,7 @@
* @param : aMessage - Message related to the reques
* @return None
*/
- void AddSession( CDRMNotifierSession* aSession );
+ TInt AddSession( CDRMNotifierSession* aSession );
/**
* UpdateMessage
--- a/omadrm/drmengine/notifier/src/DRMMessageStorage.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/notifier/src/DRMMessageStorage.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -94,9 +94,9 @@
// CDRMMessageStorage::AddSession
// -----------------------------------------------------------------------------
//
-void CDRMMessageStorage::AddSession( CDRMNotifierSession* aSession )
+TInt CDRMMessageStorage::AddSession( CDRMNotifierSession* aSession )
{
- iSessions.Append( aSession );
+ return iSessions.Append( aSession );
};
// -----------------------------------------------------------------------------
@@ -218,7 +218,9 @@
}
else
{
- iMessages.Append( message );
+ CleanupStack::PushL( message );
+ iMessages.AppendL ( message );
+ CleanupStack::Pop( message );
CleanupStack::Pop(); // message->iData;
CleanupStack::Pop(); // eventBuf
CleanupStack::Pop(); // message
--- a/omadrm/drmengine/notifier/src/DRMNotifierSession.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/notifier/src/DRMNotifierSession.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -142,7 +142,7 @@
if( !iIsListening || iMessageQueue.Count() )
{
- iMessageQueue.Append( aMessage );
+ iMessageQueue.AppendL ( aMessage );
return ETrue;
}
NotifyL( aMessage, EFalse );
@@ -274,8 +274,9 @@
if( !iIsInStorage )
{
- iIsInStorage = ETrue;
- iStorage->AddSession( this );
+
+ User::LeaveIfError( iStorage->AddSession( this ) );
+ iIsInStorage = ETrue;
}
// Check if there are any notifications in queue if so process first one
@@ -354,7 +355,7 @@
content->iContentID = NULL;
content->iEventType = eventType;
- iContentIDList.Append( content );
+ iContentIDList.AppendL ( content );
aMessage.Complete( KErrNone );
}
@@ -422,7 +423,7 @@
content->iContentID = contentID;
content->iEventType = eventType;
- iContentIDList.Append( content );
+ iContentIDList.AppendL ( content );
CleanupStack::Pop();
aMessage.Complete( KErrNone );
--- a/omadrm/drmengine/ro/src/DrmRightsParser.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/ro/src/DrmRightsParser.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -1113,7 +1113,7 @@
GetAttributeValueL( aAttributes, KIdAttribute );
iRights->iCurrentAsset->iIdRef =
GetAttributeValueL( aAttributes, KIdRefAttribute );
- iRights->iAssets.Append( iRights->iCurrentAsset );
+ iRights->iAssets.AppendL ( iRights->iCurrentAsset );
break;
case EPermissionAssetState:
iRights->iCurrentAsset = CParsedAsset::NewL();
@@ -1126,8 +1126,7 @@
break;
case EPermissionState:
iRights->iCurrentPermission = CParsedPermission::NewL();
- iRights->iPermissions.Append(
- iRights->iCurrentPermission );
+ iRights->iPermissions.AppendL ( iRights->iCurrentPermission );
iRights->iCurrentPermission->iOnExpiredUrl =
GetAttributeValueL( aAttributes, KOnExpiredUrlAttribute );
break;
--- a/omadrm/drmengine/roap/inc/RoapConnection.h Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/roap/inc/RoapConnection.h Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2004 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"
@@ -23,7 +23,6 @@
#include <e32base.h>
#include <es_sock.h>
-#include <commdbconnpref.h>
namespace Roap
{
@@ -86,7 +85,6 @@
RConnection iConnection;
TState iState;
TRequestStatus* iParentStatus;
- TCommDbConnPref iConnPref;
};
}
--- a/omadrm/drmengine/roap/src/RoapConnection.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/roap/src/RoapConnection.cpp Tue Aug 31 15:29:38 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"
@@ -22,54 +22,16 @@
#include <cmconnectionmethoddef.h>
#include <cmmanager.h>
#include <centralrepository.h>
-#include <commdbconnpref.h>
+#include <extendedconnpref.h>
#include <cdblen.h>
+#include <cdbcols.h> // IAP, COMMDB_ID
#include <es_enum.h>
-#ifdef __SERIES60_NATIVE_BROWSER
-#include <browseruisdkcrkeys.h>
-#endif
#include "RoapConnection.h"
#include "RoapDef.h"
#include "RoapLog.h"
-#ifndef __SERIES60_NATIVE_BROWSER
- const TUid KCRUidBrowser = {0x10008D39};
- const TUint32 KBrowserDefaultAccessPoint = 0x0000000E;
- const TUint32 KBrowserAccessPointSelectionMode = 0x0000001E;
- const TUint32 KBrowserNGDefaultSnapId = 0x00000053;
-#endif
-
-
-// ================= LOCAL FUNCTIONS =========================================
-// ---------------------------------------------------------------------------
-// IapIdOfDefaultSnapL
-// for trapping purposes only
-// ---------------------------------------------------------------------------
-//
-LOCAL_C TUint32 IapIdOfDefaultSnapL(
- RCmManager& aCmManager,
- const TUint32 aDefaultSnap )
- {
- RCmDestination dest( aCmManager.DestinationL( aDefaultSnap ) );
- CleanupClosePushL( dest );
- TUint32 iapIdOfDest( 0 );
-
- if ( dest.ConnectionMethodCount() <= 0 )
- {
- User::Leave( KErrNotFound );
- }
-
- RCmConnectionMethod cMeth( dest.ConnectionMethodL( 0 ) );
- CleanupClosePushL( cMeth );
-
- iapIdOfDest = cMeth.GetIntAttributeL( CMManager::ECmIapId );
- CleanupStack::PopAndDestroy( &cMeth );
- CleanupStack::PopAndDestroy( &dest );
- return iapIdOfDest;
- }
-
// ================= MEMBER FUNCTIONS =======================
// ---------------------------------------------------------------------------
@@ -104,8 +66,6 @@
( TUint32 aIap, TRequestStatus* aStatus )
{
LOGLIT( "CRoapConnection::ConnectL" )
- const TInt KAlwaysAskSelectionMode( 1 );
- const TInt KDestinationSelectionMode( 2 );
if ( iState == EInit )
{
@@ -120,11 +80,9 @@
CleanupClosePushL<RConnection>( iConnection );
TConnectionInfoBuf connInfo;
- TInt ap = 0;
- TInt alwaysAsk = 0;
- TUint count;
+ TUint count(0);
User::LeaveIfError( iConnection.EnumerateConnections( count ) );
- TUint i;
+ TUint i(0);
if ( count )
{
// Select from existing connections. Try to make AP match.
@@ -152,71 +110,44 @@
else
{
// No existing connections, create new one.
-#ifdef __WINS__
- // WINS connection creation does not work if preferences are given.
- // Defaults are to be used always.
- iConnection.Start( iStatus );
-#else
- // Note: the TCommDbConnPref must NOT be stack variable.
- // It must persist until completion of RConnection::Start().
- iConnPref.SetDirection( ECommDbConnectionDirectionOutgoing );
- //iConnPref.SetDialogPreference( ECommDbDialogPrefWarn )
- iConnPref.SetBearerSet( ECommDbBearerCSD | ECommDbBearerWcdma );
- // New connection is always created with user-selected AP
- // so 0 is used instead of aIap.
+ // Create overrides
+ TConnPrefList prefList;
+ TExtendedConnPref prefs;
+
+ prefs.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourConnSilent);
- TInt defaultSnap( 0 );
- CRepository* repository( NULL );
- repository = CRepository::NewL( KCRUidBrowser );
- CleanupStack::PushL( repository );
-
- repository->Get( KBrowserDefaultAccessPoint, ap);
- repository->Get( KBrowserAccessPointSelectionMode, alwaysAsk );
- repository->Get( KBrowserNGDefaultSnapId, defaultSnap );
- CleanupStack::PopAndDestroy( repository );
- repository = NULL;
-
- TUint32 iapd32 = 0;
- TInt err = KErrNone;
-
- if ( ap <= KErrNotFound && defaultSnap <= KErrNotFound )
+ //Fetch default connection
+ TBool hasDefault(ETrue);
+ TCmDefConnValue defConn;
+ RCmManager cmManager;
+ cmManager.OpenLC();
+ cmManager.ReadDefConnL(defConn);
+ if (defConn.iType == ECmDefConnConnectionMethod)
{
- alwaysAsk = KAlwaysAskSelectionMode;
+ prefs.SetIapId(defConn.iId);
+ }
+ else if (defConn.iType == ECmDefConnDestination)
+ {
+ prefs.SetSnapId(defConn.iId);
}
else
{
- RCmManager cmManager;
- cmManager.OpenLC();
- if ( !alwaysAsk )
- {
- TRAP( err, iapd32 = cmManager.GetConnectionMethodInfoIntL(
- ap, CMManager::ECmIapId ) );
- }
- else if ( alwaysAsk == KDestinationSelectionMode )
- {
- TRAP( err, iapd32 = IapIdOfDefaultSnapL(
- cmManager, defaultSnap ) );
- }
- CleanupStack::PopAndDestroy( &cmManager );
+ hasDefault = EFalse;
}
-
- if ( err || alwaysAsk == KAlwaysAskSelectionMode )
+ // End of fetch default connection
+ if (hasDefault)
{
- // Always ask
- LOGLIT( "SetDialogPreference( ECommDbDialogPrefPrompt )" )
- iConnPref.SetDialogPreference( ECommDbDialogPrefPrompt );
- iapd32 = 0;
+ prefList.AppendL(&prefs);
+
+ // Start an Outgoing Connection with overrides
+ iConnection.Start(prefList, iStatus);
}
else
{
- // User defined
- LOGLIT( "SetDialogPreference( ECommDbDialogPrefDoNotPrompt )" )
- iConnPref.SetDialogPreference( ECommDbDialogPrefDoNotPrompt );
+ // No default found --> trying with query
+ iConnection.Start(iStatus);
}
-
- iConnPref.SetIapId( iapd32 );
- iConnection.Start( iConnPref, iStatus );
-#endif
+ CleanupStack::PopAndDestroy(&cmManager);
iState = EConnecting;
SetActive(); // The only path with a real async request.
}
--- a/omadrm/drmengine/roap/src/RoapEng.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/roap/src/RoapEng.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -80,6 +80,7 @@
#include "DcfEntry.h"
#include "Base64.h"
#include "drmsettingsplugininternalcrkeys.h"
+#include "buffercontainers.h"
#define STUB_C_CLASS_IN_NAMESPACE( n, c ) namespace n { class c: public CBase { private: c(); public: virtual ~c(); }; } n::c::c() {} n::c::~c() {}
@@ -2162,7 +2163,7 @@
#ifndef __WINS__
TInt numPhone = 0;
TUint32 caps = 0;
- TName tsyName;
+ DRM::CNameContainer* tsyName(NULL);
RMobilePhone phone;
RTelServer etelServer;
RTelServer::TPhoneInfo phoneInfo;
@@ -2173,18 +2174,20 @@
CleanupClosePushL( etelServer );
User::LeaveIfError( etelServer.LoadPhoneModule( KMmTsyModuleName ) );
- User::LeaveIfError( etelServer.EnumeratePhones( numPhone) );
+ User::LeaveIfError( etelServer.EnumeratePhones( numPhone ) );
+ tsyName = DRM::CNameContainer::NewLC();
for (TInt i(0); i < numPhone; i++)
{
User::LeaveIfError( etelServer.GetPhoneInfo( i, phoneInfo ) );
- User::LeaveIfError( etelServer.GetTsyName( i,tsyName ) );
+ User::LeaveIfError( etelServer.GetTsyName( i,tsyName->iBuffer ) );
- if ( tsyName.CompareF( KMmTsyModuleName ) == 0)
+ if ( !tsyName->iBuffer.CompareF( KMmTsyModuleName ) )
{
break;
}
}
+ CleanupStack::PopAndDestroy( tsyName );
User::LeaveIfError( phone.Open( etelServer, phoneInfo.iName ) );
CleanupClosePushL( phone );
@@ -2363,7 +2366,7 @@
TPair pair;
pair.iCid = aContentIDs[i];
pair.iTtid = aTransIDs[i];
- array.Append( pair );
+ array.AppendL( pair );
}
iDcfRep->SetTtid( array, status );
--- a/omadrm/drmengine/roap/src/RoapEngBase.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/roap/src/RoapEngBase.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -17,7 +17,6 @@
// INCLUDE FILES
-#include <featmgr.h>
#include <DRMRights.h>
#include <DRMRightsClient.h>
// #include <GenericParam.h> // from S60
@@ -51,8 +50,6 @@
iReturnedROs.ResetAndDestroy();
delete iDomainRightsResp;
delete iRiAlias;
-
- FeatureManager::UnInitializeLib();
}
// ---------------------------------------------------------
@@ -81,8 +78,6 @@
iImplicitJoinDomain = EFalse;
iReRegistered = EFalse;
iRiAlias = NULL;
-
- FeatureManager::InitializeLibL();
}
@@ -99,12 +94,10 @@
{
LOGLIT( "CRoapEngBase::SetTriggerL" )
- if ( !( FeatureManager::FeatureSupported(
- KFeatureIdFfOmadrm2Support ) ) )
- {
- User::Leave(KErrNotSupported);
- }
-
+#ifndef __DRM_OMA2
+ User::Leave(KErrNotSupported);
+#endif
+
__ASSERT_ALWAYS( iState == EInit || iState == EReady, \
User::Invariant() );
TBool registered = EFalse;
--- a/omadrm/drmengine/roap/src/RoapHttpHandler.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/roap/src/RoapHttpHandler.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2008 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"
@@ -21,15 +21,19 @@
#include <http/thttphdrval.h>
#include <httpfiltercommonstringsext.h>
+//#include <CookieFilterInterface.h>
+//#include <uaproffilter_interface.h>
+//#include <HttpFilterProxyInterface.h>
+#include <httpfilteriopinterface.h>
+
#include "RoapHttpHandler.h"
+#include "RoapConnection.h"
+#include "RoapResponse.h"
#include "RoapObserver.h"
#include "RoapDef.h"
#include "RoapLog.h"
-//#include <CookieFilterInterface.h>
-//#include <uaproffilter_interface.h>
-//#include <HttpFilterProxyInterface.h>
-#include <httpfilteriopinterface.h>
+#include "buffercontainers.h"
using namespace Roap;
@@ -39,12 +43,8 @@
// The time out value in HTTP, 30 sec
LOCAL_D const TInt KRoapTimeoutValue = 60000000;
-_LIT8( KTestUserName, "iopvf" );
-_LIT8( KTestPassword, "r72005" );
-/*
-_LIT8( KTestUserName, "moria" );
-_LIT8( KTestPassword, "mellon" );
-*/
+_LIT8( KTestUserName, "" );
+_LIT8( KTestPassword, "" );
// ================= MEMBER FUNCTIONS =======================
@@ -564,6 +564,7 @@
{
LOG( _L("HTTP event ERedirectRequiresConfirmation received") );
iTransaction.SubmitL();
+ break;
}
default:
@@ -641,13 +642,13 @@
if ( iResponse->iDataType == TDataType( KMultipartRelatedType ) )
{
- TPath tempPath;
- TFileName fileName;
+ DRM::CPathContainer* tempPath( DRM::CPathContainer::NewLC() );
+ DRM::CFileNameContainer* fileName( DRM::CFileNameContainer::NewLC() );
TInt maxSize( 0 );
if ( iObserver )
{
- iObserver->ContentDownloadInfoL( tempPath, fileName, maxSize );
+ iObserver->ContentDownloadInfoL( tempPath->iBuffer, fileName->iBuffer, maxSize );
}
boundaryStr = srtPool.StringF( HttpFilterCommonStringsExt::EBoundary,
@@ -666,8 +667,10 @@
LOG( _L("Error: multipart boundary missing") );
User::Leave( KErrRoapGeneral );
}
- iResponse->SetDcfPathL( tempPath );
- iResponse->SetContentNameL( fileName );
+ iResponse->SetDcfPathL( tempPath->iBuffer );
+ iResponse->SetContentNameL( fileName->iBuffer );
+ CleanupStack::PopAndDestroy( fileName );
+ CleanupStack::PopAndDestroy( tempPath );
iReportBytes = ETrue;
if ( iObserver )
--- a/omadrm/drmengine/roap/src/RoapSigner.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/roap/src/RoapSigner.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -185,7 +185,9 @@
ptr.Copy( aResponse.Left( startPoint ) );
ptr.Append( aResponse.Right( aResponse.Length() - endPoint ) );
- iResponses.Append( tempMessage );
+ CleanupStack::PushL( tempMessage );
+ iResponses.AppendL ( tempMessage );
+ CleanupStack::Pop( tempMessage );
iHash->Reset();
for ( i = 0; i < iResponses.Count(); i++ )
{
@@ -290,7 +292,9 @@
CleanupStack::PopAndDestroy( s );
CleanupStack::PopAndDestroy( signature );
- iRequests.Append( r->Des().AllocL() );
+ CleanupStack::PushL( r );
+ iRequests.AppendL ( r->Des().AllocL() );
+ CleanupStack::Pop( r );
return r;
}
--- a/omadrm/drmengine/server/inc/DRMRightsServer.h Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/server/inc/DRMRightsServer.h Tue Aug 31 15:29:38 2010 +0300
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32base.h>
#include <f32file.h>
-#include <abclient.h>
+#include <connect/abclient.h>
#include "drmcommonclientserver.h"
#include "DRMReplayCache.h"
#include "drmmeteringdb.h"
--- a/omadrm/drmengine/server/src/DRMRightsClient.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/server/src/DRMRightsClient.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -19,7 +19,6 @@
// INCLUDE FILES
#include <s32file.h>
#include <etelmm.h>
-#include <featmgr.h>
#include "DRMRightsClient.h"
#include "DRMEngineClientServer.h"
#include "DrmPermission.h"
@@ -158,23 +157,11 @@
}
#ifdef __DRM_FULL
-
- TRAP( ret, FeatureManager::InitializeLibL() );
-
- if ( !ret && FeatureManager::FeatureSupported( KFeatureIdFfOmadrm1FullSupport ) )
- {
- // startup code, if it starts it starts if not it will be tried again.
- RDRMHelper helper;
- TInt ignore = helper.Connect(); // Start HelperServer
- helper.Close();
- }
-
- if ( !ret )
- {
- FeatureManager::UnInitializeLib();
- }
-
-#endif
+ // startup code, if it starts it starts if not it will be tried again.
+ RDRMHelper helper;
+ TInt ignore = helper.Connect(); // Start HelperServer
+ helper.Close();
+#endif
DRMLOG2( _L( "RDRMRightsClient::Connect(): Result: %d" ), ret );
@@ -854,7 +841,9 @@
Mem::Copy( &roSize, ptr.Ptr()+offset, sizeof(TInt) );
offset += sizeof (TInt);
ro = ptr.Mid(offset, roSize).AllocL();
- aRoList.Append(ro);
+ CleanupStack::PushL( ro );
+ aRoList.AppendL (ro);
+ CleanupStack::Pop( ro );
offset += roSize;
}
CleanupStack::PopAndDestroy();
--- a/omadrm/drmengine/server/src/drmrightsdb.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmengine/server/src/drmrightsdb.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -22,7 +22,6 @@
#include <e32def.h> // Type definitions
#include <hash.h> // MD5 Algorithm
// #include <SysUtil.h> // Disk space checking
-#include <featmgr.h> // Feature Manager
#include <f32file.h>
#include <s32strm.h>
#include <s32file.h>
@@ -71,10 +70,8 @@
// LOCAL CONSTANTS AND MACROS
#ifdef RD_MULTIPLE_DRIVE
// Backup Directory
-#ifdef __DRM_OMA2
_LIT( KBackupDir, "%c:\\private\\101F51F2\\backup\\" );
#endif
-#endif
_LIT(KJavaExtension, ".jar");
@@ -93,8 +90,16 @@
_LIT(KCorruptionFlagFile, "invalid");
#ifdef __DRM_OMA2
+const TInt KMaxUDTDataSize = 256;
+const TInt KDeviceDataSize = 256;
const TInt KDeviceDataBlock = 128;
+#else
+const TInt KMaxUDTDataSize = 0;
+const TInt KDeviceDataSize = 0;
+const TInt KDeviceDataBlock = 0;
#endif
+const TInt KUdtDataPos = 4 + KDeviceDataSize;
+
const TInt KEncryptionKeySize = 16;
const TInt KMaxEncryptionSize = 8192;
@@ -107,10 +112,8 @@
// MODULE DATA STRUCTURES
// LOCAL FUNCTION PROTOTYPES
-#ifdef __DRM_OMA2
LOCAL_C void CleanupData( TAny* aPtr );
LOCAL_C void WriteIntToBlock( TInt aValue, TDes8& aBlock, TInt aOffset );
-#endif
LOCAL_C void DeleteObject( TAny* aObject );
// FORWARD DECLARATIONS
@@ -122,7 +125,6 @@
// Used to catch errors and delete the file if it's needed
// -----------------------------------------------------------------------------
//
-#ifdef __DRM_OMA2
LOCAL_C void CleanupData( TAny* aPtr )
{
CDRMRightsDB* rdb = reinterpret_cast<CDRMRightsDB*>( aPtr );
@@ -138,7 +140,7 @@
aBlock[aOffset + 2] = (aValue & 0x0000ff00) >> 8;
aBlock[aOffset + 3] = (aValue & 0x000000ff);
}
-#endif
+
// ----------------------------------------------------------------------------
// DeleteObject
// Deletes the file by TFileName presented by aHandle
@@ -205,9 +207,6 @@
}
InitializeDatabaseL();
-
- FeatureManager::InitializeLibL();
-
};
// -----------------------------------------------------------------------------
@@ -273,8 +272,6 @@
}
iMemStream.Close();
-
- FeatureManager::UnInitializeLib();
DRMLOG( _L( "RDB Closing." ) );
};
@@ -1158,16 +1155,6 @@
HBufC8* CDRMRightsDB::GetUdtDataLC()
{
#ifdef __DRM_OMA2
-
- if ( ! ( FeatureManager::FeatureSupported( KFeatureIdFfOmadrm2Support ) ) )
- {
- User::Leave( KErrNotSupported );
- }
-
- const TInt KMaxUDTDataSize( 256 );
- const TInt KDeviceDataSize( 256 );
- const TInt KUdtDataPos = 4 + KDeviceDataSize;
-
HBufC8* udtData = HBufC8::NewMaxLC( KMaxUDTDataSize );
TFileName backupFile;
RFile input;
@@ -1223,12 +1210,6 @@
#endif // __DRM_OMA2
{
#ifdef __DRM_OMA2
-
- if ( ! ( FeatureManager::FeatureSupported( KFeatureIdFfOmadrm2Support ) ) )
- {
- User::Leave( KErrNotSupported );
- }
-
TFileName backupFile;
RFile input;
HBufC8* keyData = NULL;
@@ -1464,10 +1445,7 @@
stream.WriteInt32L( fileSize );
#ifdef __DRM_OMA2
- if ( FeatureManager::FeatureSupported ( KFeatureIdFfOmadrm2Support ) )
- {
- AddUDTDataL( stream );
- }
+ AddUDTDataL( stream );
#endif
encIV.SetLength(KEncryptionKeySize);
@@ -1714,20 +1692,13 @@
//
void CDRMRightsDB::RestoreContentFromFileL( RFile& aBackupFile,
const TDesC8& aEncryptionKey,
- const TInt aMode )
+ const TInt aMode )
{
-
// RFileLogger::Write(KLogDir, KLogName, EFileLoggingModeAppend, _L8("RestoreContentFromFileL\n\r"));
TInt8 continueMarker = 1;
TBuf8<16> key;
TBuf8<16> encryptionKey;
TInt permissions = 0;
-
- // Default values when OMA2 DRM is not supported
- TInt maxUDTDataSize( 0 );
- TInt deviceDataSize( 0 );
- TInt udtDataPos( 4 + deviceDataSize );
-
CDRMPermission* permission = CDRMPermission::NewLC();
CDRMCommonData *commonData = NULL;
CDRMPointerArray<CDRMPermission> *permissionArray = CDRMPointerArray<CDRMPermission>::NewLC();
@@ -1738,19 +1709,11 @@
TInt size = 0;
TInt dataLeft = 0;
TPtr8 keyData(NULL,0,0);
-
-#ifdef __DRM_OMA2
- if ( FeatureManager::FeatureSupported( KFeatureIdFfOmadrm2Support ) )
- {
- maxUDTDataSize = 256;
- deviceDataSize = 256;
- udtDataPos = 4 + deviceDataSize;
- }
-#endif
-
+
// maintain knowledge about stateful rights not being restored
TBool stateful = EFalse;
+
DRMLOG( _L( "CDRMRightsDB::RestoreContentFromFileL ->" ) );
// Indicate that the DB is updated
@@ -1798,7 +1761,7 @@
// Check that the decryption works, if it doesn't then the
// key is faulty
User::LeaveIfError( aBackupFile.Size( readPos ) );
- if( readPos < udtDataPos+maxUDTDataSize+(KEncryptionKeySize*2) )
+ if( readPos < KUdtDataPos+KMaxUDTDataSize+(KEncryptionKeySize*2) )
{
// RFileLogger::Write(KLogDir, KLogName, EFileLoggingModeAppend, _L8("RestoreContentFromFileL : corrupt\n\r"));
User::Leave(KErrCorrupt);
@@ -1827,7 +1790,7 @@
//-----------------------------------------------------------------------
// Duplicate file handle
- readPos = udtDataPos+maxUDTDataSize;
+ readPos = KUdtDataPos+KMaxUDTDataSize;
User::LeaveIfError( fileHandle.Seek( ESeekStart, readPos ) );
iMemStream.Close();
@@ -1924,6 +1887,7 @@
}
}
+
// Encrypt the key
if( keyExists )
{
@@ -1989,6 +1953,9 @@
User::Leave( KErrGeneral );
}
+
+
+
if( insertPerm == -1 ) // Add everything no checks needed
{
for( TInt count = 0; count < permissions; count++ )
@@ -2045,6 +2012,7 @@
}
+
for( TInt count = 0; count < permissions; count++ )
{
if( dataLeft < 4 )
@@ -2141,7 +2109,6 @@
{
User::Leave( KErrPermissionDenied );
}
-
};
@@ -2295,13 +2262,6 @@
#endif // __DRM_OMA2
{
#ifdef __DRM_OMA2
-
- if ( ! ( FeatureManager::FeatureSupported( KFeatureIdFfOmadrm2Support ) ) )
- {
- User::Leave( KErrNotSupported );
- }
-
- const TInt KMaxUDTDataSize( 256 );
TBuf8<MDrmKeyStorage::KRdbSerialNumberLength> serialNumber;
TBuf8<KMaxUDTDataSize> buffer;
TUint8* ptr = const_cast<TUint8*>(buffer.Ptr());
@@ -2472,12 +2432,6 @@
void CDRMRightsDB::CreateDummyUDTFileL()
{
#ifdef __DRM_OMA2
-
- if ( ! ( FeatureManager::FeatureSupported( KFeatureIdFfOmadrm2Support ) ) )
- {
- User::Leave( KErrNotSupported );
- }
-
TFileName backupFile;
RFile input;
TInt fileSize = 4 + 256 + 256;
@@ -2507,12 +2461,6 @@
void CDRMRightsDB::CleanUdtData()
{
#ifdef __DRM_OMA2
-
- if ( ! ( FeatureManager::FeatureSupported( KFeatureIdFfOmadrm2Support ) ) )
- {
- return;
- }
-
TFileName backupFile;
#ifndef RD_MULTIPLE_DRIVE
--- a/omadrm/drmhelper/group/Drmhelper.mmp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2003-2007 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: Project definition file for DRMHelper
-*
-*/
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET DRMHelper.dll
-TARGETTYPE dll
-UID 0x1000008D 0x101F8647
-
-CAPABILITY CAP_GENERAL_DLL DRM
-VENDORID VID_DEFAULT
-
-#ifdef __DRM
-SOURCE ../src/drmhelper.cpp
-SOURCE ../src/ConsumeData.cpp
-SOURCE ../src/RDRMHelper.cpp
-SOURCE ../src/DRMHelperGlobalNoteWrapper.cpp
-SOURCE ../src/DRMHelperDownloadManager.cpp
-SOURCE ../src/DRMHelperInfoNoteWrapper.cpp
-#else
-SOURCE ../src/DRMHelperStub.cpp
-SOURCE ../src/RDRMHelperStub.cpp
-SOURCE ../src/DRMHelperGlobalNoteWrapper.cpp
-#endif
-SOURCE ../src/DRMHelperDll.cpp
-
-START RESOURCE Drmhelper.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-USERINCLUDE ../inc
-USERINCLUDE ../../drmengine/server/inc
-USERINCLUDE ../../drmengine/roap/inc
-USERINCLUDE ../../drmengine/roapstorage/inc
-USERINCLUDE ../../../inc // ADo level inc dir
-
-// Default system include paths for middleware layer modules.
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/ecom // needed because of SchemeHandler
-// needed for drmhelpersecondarydisplay.h
-
-LIBRARY euser.lib
-LIBRARY commonengine.lib
-LIBRARY cone.lib
-LIBRARY flogger.lib
-LIBRARY aknnotify.lib
-LIBRARY apparc.lib // for launching rights mgr ui embedded
-LIBRARY avkon.lib
-
-#ifdef __DRM
-LIBRARY DrmParsers.lib
-LIBRARY DrmDcf.lib
-LIBRARY DrmRights.lib
-LIBRARY DrmServerInterfaces.lib
-LIBRARY DRMCommon.lib
-LIBRARY eikdlg.lib
-LIBRARY StarterClient.lib
-LIBRARY efsrv.lib // for launching rights mgr ui embedded
-LIBRARY APGRFX.lib
-LIBRARY WS32.lib
-LIBRARY dcfrep.lib
-LIBRARY centralrepository.lib
-
-LIBRARY ServiceHandler.lib
-
-LIBRARY caf.lib
-LIBRARY cafutils.lib
-LIBRARY charconv.lib
-LIBRARY ecom.lib // for scheme handling
-LIBRARY cmmanager.lib
-
-LIBRARY estor.lib // Cover Display
-LIBRARY featmgr.lib
-
-LIBRARY RoapHandler.lib
-LIBRARY mediatorclient.lib
-
-#ifdef RD_MULTIPLE_DRIVE
-LIBRARY platformenv.lib
-#endif
-
-#endif
-
-
-#if defined(ARMCC)
-deffile ../EABI/
-#elif defined( WINSCW )
-deffile ../BWINSCW/
-#elif defined( WINS )
-deffile ../bwins/
-#else
-deffile ../bmarm/
-#endif
-
-SMPSAFE
--- a/omadrm/drmhelper/group/bld.inf Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* 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"
-* 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: Project definition for DRMHelper
-*
-*/
-
-
-
-PRJ_PLATFORMS
-DEFAULT -ARMI
-
-PRJ_MMPFILES
-
-DRMHelper.mmp
-
-// End of File
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmhelper/group/drmhelper.pro Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,130 @@
+
+#
+# Copyright (c) 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:
+#
+
+TEMPLATE = lib
+TARGET = DRMHelper
+
+IncludeBlock = \
+ "$${LITERAL_HASH}include <data_caging_paths.hrh>" \
+ "$${LITERAL_HASH}include <platform_paths.hrh>"
+
+MMP_RULES += IncludeBlock
+
+SrcIfdefBlock = \
+ "$${LITERAL_HASH}ifdef __DRM" \
+ "SOURCE ../src/drmhelper.cpp" \
+ "SOURCE ../src/ConsumeData.cpp" \
+ "SOURCE ../src/RDRMHelper.cpp" \
+ "SOURCE ../src/DRMHelperGlobalNoteWrapper.cpp" \
+ "SOURCE ../src/DRMHelperDownloadManager.cpp" \
+ "SOURCE ../src/DRMHelperInfoNoteWrapper.cpp" \
+ "$${LITERAL_HASH}else" \
+ "SOURCE ../src/DRMHelperStub.cpp" \
+ "SOURCE ../src/RDRMHelperStub.cpp" \
+ "SOURCE ../src/DRMHelperGlobalNoteWrapper.cpp" \
+ "$${LITERAL_HASH}endif" \
+ "SOURCE ../src/DRMHelperDll.cpp"
+
+MMP_RULES += SrcIfdefBlock
+
+symbian: {
+ TARGET.CAPABILITY = CAP_GENERAL_DLL DRM
+ TARGET.VID = VID_DEFAULT
+ TARGET.UID3 = 0x101F8647
+ TARGET.EPOCALLOWDLLDATA = 1
+
+ INCLUDEPATH += ../inc
+ INCLUDEPATH += ../../drmengine/server/inc
+ INCLUDEPATH += ../../drmengine/roap/inc
+ INCLUDEPATH += ../../drmengine/roapstorage/inc
+ INCLUDEPATH += ../../../inc // ADo level inc dir
+ INCLUDEPATH += /epoc32/include/platform/mw/cwrt
+
+ #// Default system include paths for middleware layer modules.
+ INCLUDEPATH += APP_LAYER_SYSTEMINCLUDE
+
+ # needed because of SchemeHandler
+ INCLUDEPATH += /epoc32/include/ecom
+
+ # needed for drmhelpersecondarydisplay.h
+
+ LIBS += -leuser
+ LIBS += -lcommonengine
+ LIBS += -lcone
+ LIBS += -lflogger
+ LIBS += -laknnotify
+ LIBS += -lapparc // for launching rights mgr ui embedded
+ LIBS += -lavkon
+ LIBS += -ldrmbrowserlauncher
+
+ IfdefLibBlock = \
+ "$${LITERAL_HASH}ifdef __DRM" \
+ "LIBRARY DrmParsers.lib" \
+ "LIBRARY DrmDcf.lib" \
+ "LIBRARY DrmRights.lib" \
+ "LIBRARY DrmServerInterfaces.lib" \
+ "LIBRARY DRMCommon.lib" \
+ "LIBRARY eikdlg.lib" \
+ "LIBRARY StarterClient.lib" \
+ "LIBRARY efsrv.lib // for launching rights mgr ui embedded" \
+ "LIBRARY APGRFX.lib" \
+ "LIBRARY WS32.lib" \
+ "LIBRARY dcfrep.lib" \
+ "LIBRARY centralrepository.lib" \
+ "LIBRARY ServiceHandler.lib" \
+ "LIBRARY caf.lib" \
+ "LIBRARY cafutils.lib" \
+ "LIBRARY charconv.lib" \
+ "LIBRARY ecom.lib // for scheme handling" \
+ "LIBRARY cmmanager.lib" \
+ "LIBRARY estor.lib // Cover Display" \
+ "LIBRARY featmgr.lib" \
+ "LIBRARY RoapHandler.lib" \
+ "LIBRARY mediatorclient.lib" \
+ "$${LITERAL_HASH}ifdef RD_MULTIPLE_DRIVE" \
+ "LIBRARY platformenv.lib" \
+ "$${LITERAL_HASH}endif" \
+ "$${LITERAL_HASH}endif"
+
+ MMP_RULES += IfdefLibBlock
+
+
+ ResourceBlock = \
+ "START RESOURCE Drmhelper.rss" \
+ "HEADER" \
+ "TARGETPATH RESOURCE_FILES_DIR" \
+ "LANGUAGE_IDS" \
+ "END"
+
+ MMP_RULES += ResourceBlock
+
+ defBlock = \
+ "$${LITERAL_HASH}if defined(ARMCC)" \
+ "DEFFILE ../eabi/" \
+ "$${LITERAL_HASH}elif defined( WINSCW )" \
+ "DEFFILE ../bwinscw/" \
+ "$${LITERAL_HASH}elif defined( WINS )" \
+ "DEFFILE ../bwins/" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bmarm/" \
+ "$${LITERAL_HASH}endif"
+
+ MMP_RULES += defBlock
+
+ MMP_RULES -= "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl"
+ }
+
--- a/omadrm/drmhelper/src/drmhelper.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmhelper/src/drmhelper.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -25,7 +25,6 @@
#include "DcfCommon.h"
#include "DRMHelperDownloadManager.h"
-#include <sacls.h>
#include <Drmhelper.rsg>
#include <AknQueryDialog.h>
#include <DRMCommon.h>
@@ -60,12 +59,12 @@
#include <utf.h>
-#include <schemehandler.h> // for handling URLs
#include "DRMHelperServer.h"
#include "ConsumeData.h"
#include "DRMTypes.h"
#include "DRMClockClient.h"
#include "DRMPointerArray.h"
+#include <drmbrowserlauncher.h>
#include <SecondaryDisplay/DRMHelperSecondaryDisplay.h> // for secondary display support
#include <AknMediatorFacade.h>
@@ -83,25 +82,15 @@
#include "DRMRIContext.h"
#include "DRMDomainContext.h"
-#include <cmconnectionmethod.h>
-#include <cmdestination.h>
-#include <cmconnectionmethoddef.h>
-#include <cmmanager.h>
-
// publish & subrscibe
#include <e32property.h>
#include <PSVariables.h>
-#ifdef __SERIES60_NATIVE_BROWSER
-#include <browseruisdkcrkeys.h>
-#endif
-
-#ifndef __SERIES60_NATIVE_BROWSER
-const TUid KCRUidBrowser = {0x10008D39};
-const TUint32 KBrowserDefaultAccessPoint = 0x0000000E;
-const TUint32 KBrowserAccessPointSelectionMode = 0x0000001E;
-#endif
-
+
+//connectivity logic
+#include <cmconnectionmethod.h> // RCmConnectionMethod
+#include <cmdestination.h> // RCmDestination
+#include <cmmanager.h> // RCmManager
// EXTERNAL DATA STRUCTURES
@@ -169,32 +158,65 @@
};
// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// IapIdOfDefaultSnapL
-// for trapping purposes only
+// -----------------------------------------------------------------------------
+// HasDefaultConnectionL
+// Finds default IAP id
+// @return Etrue: valid AP found
+// EFalse: valid AP not found
+// @leave system wide error codes
// -----------------------------------------------------------------------------
//
-LOCAL_C TUint32 IapIdOfDefaultSnapL(
- RCmManager& aCmManager,
- const TUint32 aDefaultSnap )
- {
- RCmDestination dest( aCmManager.DestinationL( aDefaultSnap ) );
- CleanupClosePushL( dest );
- TUint32 iapIdOfDest( 0 );
-
- if ( dest.ConnectionMethodCount() <= 0 )
- {
- User::Leave( KErrNotFound );
- }
-
- RCmConnectionMethod cMeth( dest.ConnectionMethodL( 0 ) );
- CleanupClosePushL( cMeth );
-
- iapIdOfDest = cMeth.GetIntAttributeL( CMManager::ECmIapId );
- CleanupStack::PopAndDestroy( &cMeth );
- CleanupStack::PopAndDestroy( &dest );
- return iapIdOfDest;
+LOCAL_C TBool HasDefaultConnectionL()
+ {
+ TBool hasDefault(EFalse);
+ TCmDefConnValue defConn;
+ RCmManager cmManager;
+ cmManager.OpenLC();
+ cmManager.ReadDefConnL(defConn);
+ if (defConn.iType == ECmDefConnConnectionMethod)
+ {
+ cmManager.GetConnectionMethodInfoIntL(defConn.iId,
+ CMManager::ECmIapId);
+ hasDefault = ETrue;
+ }
+ else if (defConn.iType == ECmDefConnDestination)
+ {
+ RCmDestination dest(cmManager.DestinationL(defConn.iId));
+ CleanupClosePushL(dest);
+
+ if (dest.ConnectionMethodCount() <= 0)
+ {
+ User::Leave(KErrNotFound);
+ }
+
+ RCmConnectionMethod cMeth(dest.ConnectionMethodL(0));
+ CleanupClosePushL(cMeth);
+
+ cMeth.GetIntAttributeL(CMManager::ECmIapId);
+ CleanupStack::PopAndDestroy(&cMeth);
+ CleanupStack::PopAndDestroy(&dest);
+ hasDefault = ETrue;
+ }
+ CleanupStack::PopAndDestroy(&cmManager);
+ return hasDefault;
+ }
+
+// -----------------------------------------------------------------------------
+// HasAccessPointsL
+// -----------------------------------------------------------------------------
+//
+LOCAL_C TBool HasAccessPointsL()
+ {
+ TInt apCount(0);
+ RCmManager cmManager;
+ CleanupClosePushL(cmManager);
+ cmManager.OpenL();
+ RArray<TUint32> aps;
+ CleanupClosePushL(aps);
+ cmManager.ConnectionMethodL(aps, EFalse, EFalse, ETrue);
+ apCount = aps.Count();
+ CleanupStack::PopAndDestroy(2, &cmManager); //aps, cmManager
+ return apCount > 0;
}
// -----------------------------------------------------------------------------
@@ -840,7 +862,6 @@
FeatureManager::UnInitializeLib();
- delete iSchemeHandler;
delete iEventProvider;
}
@@ -2339,13 +2360,7 @@
if ( buttonCode == EAknSoftkeyYes )
{
// check if there are any APs defined
- RCmManager cmManager;
- cmManager.OpenLC();
- RArray<TUint32> aps;
- CleanupClosePushL( aps );
- cmManager.ConnectionMethodL( aps, EFalse, EFalse, ETrue );
- TUint32 APs( aps.Count() );
- CleanupStack::PopAndDestroy( 2, &cmManager ); //aps, cmManager
+ TBool APs( HasAccessPointsL() );
if ( !APs )
{
// No AP defined
@@ -2430,43 +2445,17 @@
}
+// -----------------------------------------------------------------------------
+// CDRMHelper::CheckRightsPercentL
+// Note: obsolete function name kept only
+// to avoid SC break on Helper selection logic
+// -----------------------------------------------------------------------------
+//
TBool CDRMHelper::BrowserAPDefinedL()
{
- const TInt KDestinationSelectionMode( 2 );
- TInt err( KErrNone );
- TInt ap( 0 );
- TInt alwaysAsk( 0 );
- TInt defaultSnap( 0 );
-
- CRepository* repository( CRepository::NewL( KCRUidBrowser ) );
- repository->Get( KBrowserDefaultAccessPoint, ap );
- repository->Get( KBrowserAccessPointSelectionMode, alwaysAsk );
- repository->Get( KBrowserNGDefaultSnapId, defaultSnap );
- delete repository;
- if ( ap <= KErrNotFound && defaultSnap <= KErrNotFound )
- {
- alwaysAsk = ETrue;
- }
- else
- {
- RCmManager cmManager;
- cmManager.OpenLC();
- if ( !alwaysAsk )
- {
- TRAP( err, cmManager.GetConnectionMethodInfoIntL(
- ap, CMManager::ECmIapId ) );
- }
- else if ( alwaysAsk == KDestinationSelectionMode )
- {
- TRAP( err, IapIdOfDefaultSnapL( cmManager, defaultSnap ) );
- }
- CleanupStack::PopAndDestroy( &cmManager );
- if ( !err && ( !alwaysAsk || alwaysAsk == KDestinationSelectionMode ) )
- {
- return ETrue;
- }
- }
- return EFalse;
+ TBool apFound( EFalse );
+ TRAP_IGNORE( apFound = HasDefaultConnectionL() );
+ return apFound;
}
@@ -3627,9 +3616,9 @@
{
ptr[index++] = ( unsigned char ) (*aUrl)[i];
}
-
+
ptr[index] = ( unsigned char ) KMarker()[0];
-
+
CleanupStack::PopAndDestroy( localIDBuf );
}
@@ -5559,25 +5548,14 @@
i = 0;
}
- CSchemeHandler* schemeHandler( CSchemeHandler::NewL( ptr.Mid( i ) ) );
- CleanupStack::PushL( schemeHandler );
- if ( iUseCoeEnv )
- {
- // launch embedded
- schemeHandler->Observer( this );
- schemeHandler->HandleUrlEmbeddedL();
- CleanupStack::Pop( schemeHandler );
- iSchemeHandler = schemeHandler;
- iWait.Start();
- }
- else
- {
- // no CoeEnv, launch standalone with scheme app
- schemeHandler->HandleUrlStandaloneL();
- CleanupStack::PopAndDestroy( schemeHandler );
- }
- schemeHandler = NULL;
-
+ // convert given URL to QUrl format
+ DRM::CDrmBrowserLauncher* browserLauncher = DRM::CDrmBrowserLauncher::NewLC();
+
+ browserLauncher->LaunchUrlL(ptr);
+
+ CleanupStack::PopAndDestroy(); // browserLauncher
+
+
// delete newUrl if needed
if ( newUrl )
{
@@ -5607,7 +5585,7 @@
CAknLaunchAppService* launchAppService =
CAknLaunchAppService::NewL( KUidDRMUI, this, paramList );
-
+
CleanupStack::PushL( launchAppService );
iWait.Start();
@@ -7033,27 +7011,21 @@
EXPORT_C TInt CDRMHelper::SupportedDRMMethods2(
TInt& aDRMMethod, TDRMHelperOMALevel& aOMALevel)
{
- if ( !( FeatureManager::FeatureSupported( KFeatureIdFfOmadrm1FullSupport ) ) )
- {
- aDRMMethod = CDRMHelper::EForwardLock;
- }
- else
- {
- aDRMMethod =
- CDRMHelper::EForwardLock |
- CDRMHelper::ECombinedDelivery |
- CDRMHelper::ESeparateDelivery |
- CDRMHelper::ESuperDistribution;
- aOMALevel = EOMA_1_0;
- }
-
+#ifndef __DRM_FULL
+ aDRMMethod = CDRMHelper::EForwardLock;
+#else
+ aDRMMethod =
+ CDRMHelper::EForwardLock |
+ CDRMHelper::ECombinedDelivery |
+ CDRMHelper::ESeparateDelivery |
+ CDRMHelper::ESuperDistribution;
#ifdef __DRM_OMA2
- if ( FeatureManager::FeatureSupported( KFeatureIdFfOmadrm2Support ) )
- {
- aOMALevel = EOMA_2_0;
- }
+ aOMALevel = EOMA_2_0;
+#else
+ aOmaLevel = EOMA_1_0;
#endif // __DRM_OMA2
+#endif // __DRM_FULL
return KErrNone;
}
@@ -7064,17 +7036,11 @@
//
void CDRMHelper::HandleServerAppExit( TInt aReason )
{
- if ( aReason == EAknCmdExit && !iSchemeHandler )
+ if ( aReason == EAknCmdExit )
{
CAknEnv::RunAppShutter();
}
- if ( iSchemeHandler )
- {
- delete iSchemeHandler;
- iSchemeHandler = NULL;
- }
-
if ( iWait.IsStarted() )
{
iWait.AsyncStop();
--- a/omadrm/drmlicensemanager/group/DRMLicenseChecker.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmlicensemanager/group/DRMLicenseChecker.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -26,7 +26,6 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/libc
USERINCLUDE ../inc
USERINCLUDE ../../../inc // ADo level inc dir
--- a/omadrm/drmlicensemanager/group/DRMLicenseManager.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmlicensemanager/group/DRMLicenseManager.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -26,7 +26,6 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/libc
USERINCLUDE ../inc
USERINCLUDE ../../../inc // ADo level inc dir
--- a/omadrm/drmlicensemanager/group/drm_lm_bat.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmlicensemanager/group/drm_lm_bat.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -23,7 +23,6 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/libc
USERINCLUDE ../inc
USERINCLUDE ../../../inc // ADo level inc dir
--- a/omadrm/drmplugins/drmfilter/group/HTTPFilterDRM.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmfilter/group/HTTPFilterDRM.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -35,7 +35,7 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/ecom
+
SOURCEPATH ../data
@@ -46,7 +46,6 @@
END
LIBRARY euser.lib ecom.lib http.lib bafl.lib estlib.lib efsrv.lib estor.lib cone.lib commonui.lib caf.lib
-LIBRARY featmgr.lib
#ifndef __DRM_NO_BB
MACRO BLOCK_BY_BLOCK
--- a/omadrm/drmplugins/drmfilter/src/HTTPFilterDRM.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmfilter/src/HTTPFilterDRM.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006 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"
@@ -217,7 +217,7 @@
//------------------------------------------------------------------------
// CHTTPFilterDRM::MHFRunL
-// See MHTTPFilterBase::MHFRunL
+// See MHTTPFilterBase::MHFRunL
//------------------------------------------------------------------------
//
void CHTTPFilterDRM::MHFRunL( RHTTPTransaction aTransaction,
@@ -320,7 +320,7 @@
case KErrCANoRights:
case KErrCorrupt:
{
- error = NW_STAT_FAILURE; //Unable to perform operation
+ error = NW_STAT_FAILURE; //Unable to perform operation
}
break;
case KErrArgument:
@@ -461,10 +461,10 @@
// CHTTPFilterDRM::CheckHeadersL
// Check HTTP headers and extract MIME type
//------------------------------------------------------------------------
-//
+//
void CHTTPFilterDRM::CheckHeadersL( const RHTTPTransaction& aTrans )
{
- // read the header data and check the MIME type here
+ // read the header data and check the MIME type here
// check the status and body
RHTTPResponse response = aTrans.Response();
TInt status = response.StatusCode();
@@ -512,14 +512,17 @@
drmData = CHTTPFilterDRMDataSupplier::NewL( aTrans.Id(),
response.Body(), const_cast<CHTTPFilterDRM*> ( this ) );
/** Support for Hutchinson's content protection scheme, CFM
- *
+ *
*/
drmData->SetProcessedContentType( EStandardDRMContent );
/**
*
*/
- iDataSups.Append( drmData );
+ CleanupStack::PushL( drmData );
+ iDataSups.AppendL ( drmData );
+ CleanupStack::Pop( drmData );
response.SetBody( *drmData );
+
// change the mime type to "application/vnd.oma.drm.content"
headers.RemoveField( fieldNameStr );
@@ -566,7 +569,9 @@
= CHTTPFilterDRMDataSupplier::NewL( aTrans.Id(),
response.Body(),
const_cast<CHTTPFilterDRM*> ( this ) );
- iDataSups.Append( drmData );
+ CleanupStack::PushL( drmData );
+ iDataSups.AppendL ( drmData );
+ CleanupStack::Pop( drmData );
}
}
@@ -630,7 +635,7 @@
// Do not encrypt JAD files:
if ( headers.GetField( fieldNameStr, 0, fieldVal ) == KErrNone )
{
- // If it is a JAD always ignore any of the above:
+ // If it is a JAD always ignore any of the above:
const TBuf8<sizeof( KJADString )> JADStringBuf( KJADString );
RStringF JADValue = strP.OpenFStringL( JADStringBuf );
CleanupClosePushL( JADValue );
@@ -662,10 +667,13 @@
User::Leave( KErrUnknown );
}
- iDataSups.Append( drmData );
+ CleanupStack::PushL( drmData );
+ iDataSups.AppendL ( drmData );
+ CleanupStack::Pop( drmData );
+
response.SetBody( *drmData );
- ///
+ ///
RStringF DRMValue1 = strP.OpenFStringL( DRMStringBuf1 );
CleanupClosePushL( DRMValue1 );
--- a/omadrm/drmplugins/drmfilter/src/HTTPFilterDRMDataSupplier.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmfilter/src/HTTPFilterDRMDataSupplier.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -20,7 +20,6 @@
#include <DRMCommon.h>
#include <f32file.h>
#include <s32buf.h>
-#include <featmgr.h>
#include <DRMMessageParser.h>
#include <caf/caf.h>
#include <caf/cafplatform.h>
@@ -31,10 +30,7 @@
//------------------------------------------------------------------------
-#ifdef __DRM_FULL
const TInt KMinContentSizeToGetTheURI = 520;
-#endif
-
const TInt KDefaultSize( 2048 );
const TInt KWholeDataPart( -1 );
@@ -114,8 +110,6 @@
Attach( iMemBuf );
iDRMMessageParser->InitializeMessageParserL( *this );
-
- FeatureManager::InitializeLibL();
}
@@ -137,9 +131,6 @@
iDRMOma1DcfCreator = COma1DcfCreator::NewL();
Attach( iMemBuf );
-
- FeatureManager::InitializeLibL();
-
}
// -----------------------------------------------------------------------------
@@ -192,9 +183,6 @@
delete iDRMOma1DcfCreator;
iDRMOma1DcfCreator = NULL;
}
-
- FeatureManager::UnInitializeLib();
-
}
// -----------------------------------------------------------------------------
@@ -468,13 +456,6 @@
#ifdef __DRM_FULL
void CHTTPFilterDRMDataSupplier::SetEstimatedArrivalTime( TInt aXOmaHeaderVal )
{
-
- if ( !( FeatureManager::FeatureSupported(
- KFeatureIdFfOmadrm1FullSupport ) ) )
- {
- return;
- }
-
// get the data part
ContentAccess::CManager* manager = NULL;
ContentAccess::TAgent agent;
--- a/omadrm/drmplugins/drmrecognizer/group/RecDRM.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmrecognizer/group/RecDRM.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -32,7 +32,7 @@
// Default system include paths for middleware layer modules.
MW_LAYER_SYSTEMINCLUDE
-systeminclude /epoc32/include/ecom
+
source RecDRM.cpp
@@ -47,6 +47,5 @@
library EUSER.LIB
library APMIME.LIB
-library featmgr.lib
SMPSAFE
--- a/omadrm/drmplugins/drmrecognizer/src/101F51F4.RSS Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmrecognizer/src/101F51F4.RSS Tue Aug 31 15:29:38 2010 +0300
@@ -16,7 +16,7 @@
*/
-#include <registryinfo.rh>
+#include <ecom/registryinfo.rh>
RESOURCE REGISTRY_INFO r_registry
{
dll_uid = 0x101F51F4;
--- a/omadrm/drmplugins/drmrecognizer/src/RecDRM.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmrecognizer/src/RecDRM.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -21,7 +21,6 @@
#include <apmstd.h>
#include <ecom/ecom.h>
#include <ecom/implementationproxy.h>
-#include <featmgr.h>
#include "RecDRM.h"
@@ -40,8 +39,6 @@
const TInt KMaxBufferLength=256;
const TInt KDCFHeaderLength=3;
-
-#ifdef DRM_OMA2_ENABLED
const TInt KLengthBoxSize = 4;
const TInt KLengthBoxType = 4;
const TInt KLengthBoxSize64 = 8;
@@ -53,7 +50,6 @@
_LIT8(KRoapTriggerElement, "roap-trigger:roapTrigger"); // before OMA spec CR, ROAP Trigger namespace prefix was roap-trigger
_LIT8(KRoapTriggerElement2, "roap:roapTrigger");
_LIT8(KRoapTriggerType, "application/vnd.oma.drm.roap-trigger+xml");
-#endif
const TImplementationProxy ImplementationTable[] =
{
@@ -93,14 +89,12 @@
CApaDRMRecognizer::~CApaDRMRecognizer()
{
- FeatureManager::UnInitializeLib();
}
CApaDataRecognizerType* CApaDRMRecognizer::CreateRecognizerL()
{
- FeatureManager::InitializeLibL();
- return new (ELeave) CApaDRMRecognizer ();
+ return new (ELeave) CApaDRMRecognizer ();
}
@@ -137,25 +131,22 @@
#endif
#ifdef DRM_OMA2_ENABLED
- if( FeatureManager::FeatureSupported( KFeatureIdFfOmadrm2Support ) )
- {
- // Recognize ROAP Trigger
- if ( RecognizeRoapTrigger( aBuffer ) )
- {
- return;
- }
-
- // Recognize DCFv2
- if ( RecognizeODF( aBuffer ) )
- {
- return;
- }
- }
-#endif
- // Recognize DCFv1
- TUint8 version = aBuffer[0];
- TUint8 contentTypeLen = aBuffer[1];
- TUint8 contentURILen = aBuffer[2];
+ // Recognize ROAP Trigger
+ if ( RecognizeRoapTrigger( aBuffer ) )
+ {
+ return;
+ }
+
+ // Recognize DCFv2
+ if ( RecognizeODF( aBuffer ) )
+ {
+ return;
+ }
+#endif
+ // Recognize DCFv1
+ TUint8 version = aBuffer[0];
+ TUint8 contentTypeLen = aBuffer[1];
+ TUint8 contentURILen = aBuffer[2];
if ( contentTypeLen < KMinContentTypeLen || contentURILen == 0 )
{
@@ -186,12 +177,6 @@
#ifdef DRM_OMA2_ENABLED
TBool CApaDRMRecognizer::RecognizeRoapTrigger( const TDesC8& aBuffer )
{
- if( ! ( FeatureManager::FeatureSupported(
- KFeatureIdFfOmadrm2Support ) ) )
- {
- return EFalse;
- }
-
if ( aBuffer.FindF( KRoapTriggerElement() ) != KErrNotFound
|| aBuffer.FindF( KRoapTriggerElement2() ) != KErrNotFound )
{
@@ -204,61 +189,54 @@
TBool CApaDRMRecognizer::RecognizeODF( const TDesC8& aBuffer )
{
-
- if( ! ( FeatureManager::FeatureSupported(
- KFeatureIdFfOmadrm2Support ) ) )
+ if ( aBuffer.Size() < 24 ) return EFalse;
+ TPtrC8 ftypPrefix = aBuffer.Mid( 4, KFTypPrefix().Length() );
+ if ( KFTypPrefix().CompareF( ftypPrefix ) == KErrNone )
+ {
+ TPtrC8 odfPrefix = aBuffer.Mid( 8, KODFPrefix().Length() );
+ if ( KODFPrefix().CompareF( odfPrefix ) == KErrNone )
{
- return EFalse;
+ TBuf8<4> buffer;
+ TUint32 size;
+ TPtr8 ptr(NULL, 0);
+ TUint32 offset(20);
+
+ // ODRM box header
+ buffer.Zero();
+ buffer.Copy( aBuffer.Mid( offset, 4 ));
+ size = ReadUint32FromBlock( buffer, 0 );
+ offset += KLengthBoxSize + KLengthBoxType + KLengthVersion + KLengthFlags;
+
+ if (size == 1)
+ {
+ offset += KLengthBoxSize64;
+ }
+ if ( aBuffer.Size() < offset+4 ) return EFalse;
+
+ // Discrete headers box header
+ buffer.Zero();
+ buffer.Copy( aBuffer.Mid( offset, 4 ));
+ size = ReadUint32FromBlock( buffer, 0 );
+ offset += KLengthBoxSize + KLengthBoxType + KLengthVersion + KLengthFlags;
+ if ( size == 1 )
+ {
+ offset += KLengthBoxSize64;
+ }
+ if ( aBuffer.Size() < offset+1 ) return EFalse;
+
+ // Content type
+ buffer.Zero();
+ buffer.Copy( aBuffer.Mid( offset, 1 ));
+ if ( aBuffer.Size() < offset + 1 + buffer[0] ) return EFalse;
+ TPtrC8 mimeType = aBuffer.Mid( offset+1, buffer[0] );
+
+ iConfidence = ECertain;
+ iDataType=TDataType( mimeType );
+ return ETrue;
}
-
- if ( aBuffer.Size() < 24 ) return EFalse;
- TPtrC8 ftypPrefix = aBuffer.Mid( 4, KFTypPrefix().Length() );
- if ( KFTypPrefix().CompareF( ftypPrefix ) == KErrNone )
- {
- TPtrC8 odfPrefix = aBuffer.Mid( 8, KODFPrefix().Length() );
- if ( KODFPrefix().CompareF( odfPrefix ) == KErrNone )
- {
- TBuf8<4> buffer;
- TUint32 size;
- TPtr8 ptr(NULL, 0);
- TUint32 offset(20);
-
- // ODRM box header
- buffer.Zero();
- buffer.Copy( aBuffer.Mid( offset, 4 ));
- size = ReadUint32FromBlock( buffer, 0 );
- offset += KLengthBoxSize + KLengthBoxType + KLengthVersion + KLengthFlags;
-
- if (size == 1)
- {
- offset += KLengthBoxSize64;
- }
- if ( aBuffer.Size() < offset+4 ) return EFalse;
-
- // Discrete headers box header
- buffer.Zero();
- buffer.Copy( aBuffer.Mid( offset, 4 ));
- size = ReadUint32FromBlock( buffer, 0 );
- offset += KLengthBoxSize + KLengthBoxType + KLengthVersion + KLengthFlags;
- if ( size == 1 )
- {
- offset += KLengthBoxSize64;
- }
- if ( aBuffer.Size() < offset+1 ) return EFalse;
-
- // Content type
- buffer.Zero();
- buffer.Copy( aBuffer.Mid( offset, 1 ));
- if ( aBuffer.Size() < offset + 1 + buffer[0] ) return EFalse;
- TPtrC8 mimeType = aBuffer.Mid( offset+1, buffer[0] );
-
- iConfidence = ECertain;
- iDataType=TDataType( mimeType );
- return ETrue;
- }
-
- }
- return EFalse;
+
+ }
+ return EFalse;
}
#endif
--- a/omadrm/drmplugins/drmrohandler/group/bld.inf Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002 - 2007 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: Information required for building the required abld.bat
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../loc/rohandler.loc MW_LAYER_LOC_EXPORT_PATH( rohandler.loc )
-
-PRJ_MMPFILES
-
-#ifdef __DRM_FULL
-CRohandler.mmp
-#endif
-
-// End of File
--- a/omadrm/drmplugins/drmrohandler/group/crohandler.mmp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 2002-2009 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: This is project specification file for the rohandler.dll
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET RoHandler.dll
-targettype PLUGIN
-VENDORID VID_DEFAULT
-// uid2 specifies an ECom dll
-// uid3 specifies a unique identifier
-UID 0x10009D8D 0x101F7B92
-CAPABILITY CAP_ECOM_PLUGIN DRM
-
-SOURCEPATH ../src
-SOURCE CRoHandler.cpp
-SOURCE StringResourceReader.cpp
-SOURCE rohandlerdmgrwrapper.cpp
-
-START RESOURCE 101F7B92.rss
-TARGET RoHandler
-
-END
-
-#include <data_caging_paths.hrh>
-
-START RESOURCE RoHandler.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-
-USERINCLUDE ../inc
-USERINCLUDE ../../../drmengine/roap/inc
-USERINCLUDE ../../drmromtm/client/inc
-USERINCLUDE ../../../../inc // ADo level inc dir
-
-// Default system include paths for middleware layer modules.
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY DrmParsers.lib
-LIBRARY DrmDcf.lib
-LIBRARY DrmRights.lib
-LIBRARY DrmServerInterfaces.lib
-LIBRARY drmroapwbxmlparser.lib // ROAP Wbxml to XML parsers
-
-LIBRARY centralrepository.lib // Browser default AP
-LIBRARY cmmanager.lib
-LIBRARY DownloadMgr.lib
-
-LIBRARY euser.lib
-LIBRARY ecom.lib
-LIBRARY RoapHandler.lib
-LIBRARY WapPushUtils.lib
-LIBRARY msgs.lib // for MMsvSessionObserver
-
-LIBRARY efsrv.lib // RFs
-LIBRARY inetprotutil.lib // TUri16 and so on
-LIBRARY bafl.lib // RResourceFile
-LIBRARY flogger.lib
-LIBRARY sysutil.lib // SysUtil
-LIBRARY esock.lib
-LIBRARY featmgr.lib // Feature Manager
-
-#ifdef RD_MULTIPLE_DRIVE
-LIBRARY platformenv.lib
-#endif
-
-SMPSAFE
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmplugins/drmrohandler/group/rohandler.pri Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,27 @@
+#
+# Copyright (c) 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: This is project specification file for the rohandler.dll
+#
+
+# Input
+HEADERS += ../inc/CRoHandler.h \
+ ../inc/RoHandlerStringResourceReader.h \
+ ../inc/rohandlerdmgrwrapper.h \
+ ../inc/qrohandlerdmgreventhandler.h
+
+SOURCES += ../src/CRoHandler.cpp \
+ ../src/RoHandlerStringResourceReader.cpp \
+ ../src/rohandlerdmgrwrapper.cpp \
+ ../src/qrohandlerdmgreventhandler.cpp
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmplugins/drmrohandler/group/rohandler.pro Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,102 @@
+#
+# Copyright (c) 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: This is project specification file for the rohandler.dll
+#
+
+include ( rohandler.pri )
+
+IncludeBlock = \
+ "$${LITERAL_HASH}include <platform_paths.hrh>" \
+ "$${LITERAL_HASH}include <data_caging_paths.hrh>"
+
+MMP_RULES += IncludeBlock
+
+TEMPLATE = lib
+TARGET = RoHandler
+MMP_RULES += "TARGETTYPE plugin"
+
+symbian: {
+ TARGET.CAPABILITY = CAP_ECOM_PLUGIN DRM
+ TARGET.VID = VID_DEFAULT
+ TARGET.UID2 = 0x10009D8D
+ TARGET.UID3 = 0x101F7B92
+ TARGET.EPOCALLOWDLLDATA = 1
+ INCLUDEPATH += ../inc
+ INCLUDEPATH += ../../../drmengine/roap/inc
+ INCLUDEPATH += ../../drmromtm/client/inc
+ INCLUDEPATH += ../../../../inc // ADo level inc dir
+ INCLUDEPATH += /epoc32/include/platform/mw/cwrt
+
+ LIBS += -lDrmParsers
+ LIBS += -lDrmDcf
+ LIBS += -lDrmRights
+ LIBS += -lDrmServerInterfaces
+ LIBS += -ldrmroapwbxmlparser // ROAP Wbxml to XML parsers
+ LIBS += -lcentralrepository // Browser default AP
+ LIBS += -lcmmanager
+ LIBS += -lWrtDownloadMgr
+ LIBS += -leuser
+ LIBS += -lecom
+ LIBS += -lRoapHandler
+ LIBS += -lWapPushUtils
+ LIBS += -lmsgs // for MMsvSessionObserver
+
+ LIBS += -lefsrv
+ LIBS += -linetprotutil // TUri16 and so on
+ LIBS += -lbafl // RResourceFile
+ LIBS += -lflogger
+ LIBS += -lsysutil // SysUtil
+ LIBS += -lesock
+
+ ResourceBlock1 = \
+ "START RESOURCE 101F7B92.rss" \
+ "TARGET RoHandler" \
+ "END"
+
+ ResourceBlock2 = \
+ "START RESOURCE RoHandler.rss" \
+ "HEADER" \
+ "TARGETPATH RESOURCE_FILES_DIR" \
+ "LANGUAGE_IDS" \
+ "END"
+
+ MMP_RULES += ResourceBlock1
+ MMP_RULES += ResourceBlock2
+
+ IfdefLibBlock = \
+ "$${LITERAL_HASH}ifdef RD_MULTIPLE_DRIVE" \
+ "LIBRARY platformenv.lib" \
+ "$${LITERAL_HASH}endif"
+
+ MMP_RULES += IfdefLibBlock
+
+ MWIncPath = \
+ "// Default system include paths for middleware layer modules." \
+ "MW_LAYER_SYSTEMINCLUDE" \
+
+ MMP_RULES += MWIncPath
+
+ SMPSafeBlock = "SMPSAFE"
+
+ MMP_RULES += SMPSafeBlock
+
+ BLD_INF_RULES.prj_exports += "../loc/rohandler.loc MW_LAYER_LOC_EXPORT_PATH( rohandler.loc )"
+
+ defBlock = " "
+
+ MMP_RULES += defBlock
+
+
+ }
+
--- a/omadrm/drmplugins/drmrohandler/inc/CRoHandler.h Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmrohandler/inc/CRoHandler.h Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2004-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"
@@ -239,9 +239,8 @@
// initialised at instantiation
DRM::CWbxmlRoapTriggerParser* iWbxmlTriggerParser;
HBufC8* iParsedXmlTrigger;
- TBool iPutRightsToInbox; // whether received RO is put into Inbox as an
+ TBool iPutRightsToInbox; // whether received RO is put into Inbox as an
// entry or not. Initialized at instantiation.
- TBool iFeatureManagerFound; // Feature Manager is succesfully initialized
};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmplugins/drmrohandler/inc/RoHandlerStringResourceReader.h Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* 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"
+* 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:
+* Declaration of CRoHandlerStringResourceReader.
+*
+*
+*/
+
+
+#ifndef ROHANDLERSTRINGRESOURCEREADER_H
+#define ROHANDLERSTRINGRESOURCEREADER_H
+
+// INCLUDE FILES
+
+#include <e32base.h>
+#include <e32std.h>
+#include <barsc.h>
+
+// FORWARD DECLARATIONS
+
+class RFs;
+
+// CLASS DECLARATION
+
+/**
+* Utility class that helps reading string resources without CONE.
+* Not intended for derivation.
+*/
+class CRoHandlerStringResourceReader : public CBase
+ {
+ public: // Constructors and destructor
+
+ CRoHandlerStringResourceReader( RFs& aFs, const TDesC& aRscFileWithPathAndDrive );
+
+ ~CRoHandlerStringResourceReader();
+
+ public: // New functions
+
+ /**
+ * Return a given string from resource.
+ * @param aResId Resource ID.
+ * @return See above.
+ */
+ HBufC* AllocReadResourceL( TInt aResId );
+
+ private: // New functions
+
+ void InitializeL();
+
+ private: // Data members
+
+ RFs& iFs; ///< File server session.
+ TBuf<256> iRscFileName;
+ RResourceFile iResourceFile;
+ TBool iInitialized;
+ };
+
+#endif // ROHANDLERSTRINGRESOURCEREADER_H
+
+// End of file.
--- a/omadrm/drmplugins/drmrohandler/inc/StringResourceReader.h Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2002 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:
-* Declaration of CStringResourceReader.
-*
-*
-*/
-
-
-#ifndef STRINGRESOURCEREADER_H
-#define STRINGRESOURCEREADER_H
-
-// INCLUDE FILES
-
-#include <e32base.h>
-#include <e32std.h>
-#include <barsc.h>
-
-// FORWARD DECLARATIONS
-
-class RFs;
-
-// CLASS DECLARATION
-
-/**
-* Utility class that helps reading string resources without CONE.
-* Not intended for derivation.
-*/
-class CStringResourceReader : public CBase
- {
- public: // Constructors and destructor
-
- CStringResourceReader( RFs& aFs, const TDesC& aRscFileWithPathAndDrive );
-
- ~CStringResourceReader();
-
- public: // New functions
-
- /**
- * Return a given string from resource.
- * @param aResId Resource ID.
- * @return See above.
- */
- HBufC* AllocReadResourceL( TInt aResId );
-
- private: // New functions
-
- void InitializeL();
-
- private: // Data members
-
- RFs& iFs; ///< File server session.
- TBuf<256> iRscFileName;
- RResourceFile iResourceFile;
- TBool iInitialized;
- };
-
-#endif // STRINGRESOURCEREADER_H
-
-// End of file.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmplugins/drmrohandler/inc/qrohandlerdmgreventhandler.h Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 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:
+*
+*/
+
+
+#ifndef QROHANDLERDMGREVENTHANDLER_H
+#define QROHANDLERDMGREVENTHANDLER_H
+
+#include <qobject.h>
+
+namespace WRT
+ {
+ class Download;
+ class DownloadEvent;
+ }
+
+class CRoHandlerDMgrWrapper;
+
+class QRoHandlerDMgrEventHandler : public QObject
+ {
+ Q_OBJECT
+
+ public:
+ QRoHandlerDMgrEventHandler( CRoHandlerDMgrWrapper& aRoHandlerDMgrWrapper , WRT::Download& aDownload );
+
+ private slots:
+ /**
+ * Handle download manager events
+ *
+ * @param aEvent the event
+ */
+ void HandleDownloadEventL( WRT::DownloadEvent* aEvent );
+
+ private:
+ WRT::Download& iDownload;
+ CRoHandlerDMgrWrapper& iRoHandlerDMgrWrapper;
+
+ };
+
+#endif // QROHANDLERDMGREVENTHANDLER_H
+
--- a/omadrm/drmplugins/drmrohandler/inc/rohandlerdmgrwrapper.h Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmrohandler/inc/rohandlerdmgrwrapper.h Tue Aug 31 15:29:38 2010 +0300
@@ -19,25 +19,23 @@
#ifndef ROHANDLERDMGRWRAPPER_H
#define ROHANDLERDMGRWRAPPER_H
-namespace Roap
- {
- class MRoapObserver;
- }
+#include <e32base.h>
+#include <f32file.h>
+
+#include <RoapObserver.h>
+#include <RoapEng.h>
+
+#include <qobject.h>
+#include <downloadmanager.h>
+#include <download.h>
class CDRMRights;
-
-class MHttpDownloadMgrObserver;
+class QRoHandlerDMgrEventHandler;
class MRoHandlerDMgrWrapper
{
-
public:
virtual void HandleRoapTriggerL( const TDesC8& aTrigger ) = 0;
-
- virtual void DownloadAndHandleRoapTriggerL( const HBufC8* aUrl ) = 0;
-
- virtual void DownloadAndHandleRoapTriggerFromPrUrlL( const HBufC8* aUrl ) = 0;
-
};
/**
@@ -46,7 +44,6 @@
*/
class CRoHandlerDMgrWrapper:
public CActive, // Now active
- public MHttpDownloadMgrObserver,
public Roap::MRoapObserver,
public MRoHandlerDMgrWrapper
{
@@ -78,23 +75,6 @@
*/
void HandleRoapTriggerL( const TDesC8& aTrigger );
- void DownloadAndHandleRoapTriggerL( const HBufC8* aUrl );
-
- void DownloadAndHandleRoapTriggerFromPrUrlL( const HBufC8* aUrl );
-
-
-// from base class MHttpDownloadMgrObserver
-
- /**
- * From MHttpDownloadMgrObserver.
- * Handle download manager events
- *
- * @since S60 3.2
- * @param aDownload the download
- * @param aEvent the event
- */
- void HandleDMgrEventL( RHttpDownload& aDownload, THttpDownloadEvent aEvent );
-
// From Roap::MRoapObserver
/**
* ConnectionConfL
@@ -221,6 +201,13 @@
* @leave System wide error code */
void PostResponseUrlL( const TDesC8& aPostResponseUrl );
+ /**
+ * Handle download manager events
+ *
+ * @param aEvent the event
+ */
+ void HandleDownloadEventL( WRT::DownloadEvent* aEvent );
+
protected:
//from Cactive
virtual void DoCancel();
@@ -256,8 +243,9 @@
/**
* Download manager session
*/
- RHttpDownloadMgr iDlMgr;
+ WRT::DownloadManager* iDlMgr;
+ WRT::Download* iDownload;
/**
* Used to make downloads synchronous
*/
@@ -287,6 +275,9 @@
RFs iFs;
HBufC* iFileName;
+
+ QRoHandlerDMgrEventHandler* iRoHandlerDMgrEventHandler;
+
};
#endif // ROHANDLERDMGRWRAPPER_H
--- a/omadrm/drmplugins/drmrohandler/src/CRoHandler.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmrohandler/src/CRoHandler.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -30,7 +30,6 @@
#include <centralrepository.h> // link against centralrepository.lib
#include <msvuids.h>
#include <msvids.h>
-#include <downloadmgrclient.h>
#ifdef RD_MULTIPLE_DRIVE
#include <driveinfo.h>
@@ -39,16 +38,14 @@
#include <uri16.h> // TUriParser16
#include <data_caging_path_literals.hrh> // KDC_MTM_RESOURCE_DIR
#include <uriutils.h> // UriUtils and so on
-#include <PushMtmUi.rsg> // for R_PUSHMISC_UNK_SENDER
#include <RoHandler.rsg> // for R_QTN_DRM_MGR_INB_TITLE
#include <sysutil.h> // Disk space checking
-#include <featmgr.h> // Feature Manager
#include "CRoHandler.h"
#include "RoMtmCli.h" // for CRightsObjectMtmClient
#include "RoapSyncWrapper.h"
-#include "StringResourceReader.h"
+#include "RoHandlerStringResourceReader.h"
#include "rohandlerdmgrwrapper.h"
#include "rohandlerinternalcrkeys.h"
@@ -101,7 +98,6 @@
_LIT( KRoHandlerTriggerFilePath, "c:\\system\\data\\" );
#endif
-_LIT( KPushMtmRes, "PushMtmUi.rsc" );
_LIT( KRoHandlerResourceFile, "RoHandler.rsc" );
_LIT8( KRoapTriggerElement, "roapTrigger" );
@@ -116,6 +112,8 @@
_LIT( KRoAcquisitionPrefix, "ROA:" );
_LIT( KTriggerPrefix, "TRI:" );
+_LIT( KEmpty, " " );
+
// MODULE DATA STRUCTURES
// Helper class for deleting file with given filename on cleanupstack
@@ -399,7 +397,7 @@
)
: CPushHandlerBase(),
iFirstTime( ETrue ), iPushMsg( NULL ), iMsvId( NULL ),
- iPutRightsToInbox( ETrue ), iFeatureManagerFound( EFalse )
+ iPutRightsToInbox( ETrue )
{
}
@@ -429,14 +427,7 @@
CRepository* repository( NULL );
TInt err( KErrNone );
- TInt ret( KErrNone );
- TRAP( ret, FeatureManager::InitializeLibL() );
- if ( !ret )
- {
- iFeatureManagerFound = ETrue;
- }
-
User::LeaveIfError( iFs.Connect() );
// create drm
@@ -518,12 +509,7 @@
// session must be deleted last (and constructed first)
delete iSession;
-
- if ( iFeatureManagerFound )
- {
- FeatureManager::UnInitializeLib();
- }
-
+
#ifdef _DRM_TESTING
TRAP( r, WriteL( _L8( "~CRoHandler-End" ) ) );
#endif
@@ -670,36 +656,26 @@
{
case EOma1Ro:
{
- if ( iFeatureManagerFound && FeatureManager::FeatureSupported(
- KFeatureIdFfOmadrm1FullSupport ) )
- {
- HandleRightsMessageL();
- }
+ HandleRightsMessageL();
break;
}
#ifdef __DRM_OMA2
case EOma2RoapTrigger:
case EOma2RoapTriggerRoAcquisition:
- if ( iFeatureManagerFound && FeatureManager::FeatureSupported(
- KFeatureIdFfOmadrm2Support ) )
- {
- HandleRoapTriggerL();
- }
- break;
+ {
+ HandleRoapTriggerL();
+ break;
+ }
case EOma2RoapTriggerMetering:
- if ( iFeatureManagerFound && FeatureManager::FeatureSupported(
- KFeatureIdFfOmadrm2Support ) )
- {
- HandleMeteringTriggerSilentlyL();
- }
+ {
+ HandleMeteringTriggerSilentlyL();
break;
+ }
case EOma2RoapPdu:
- if ( iFeatureManagerFound && FeatureManager::FeatureSupported(
- KFeatureIdFfOmadrm2Support ) )
- {
- HandleRoapPduL();
- }
+ {
+ HandleRoapPduL();
break;
+ }
#endif
default:
{
@@ -803,7 +779,7 @@
ptrToMz.Append( KMarker );
ptrToMz.Append( uri16 ); //add uri16
ptrToMz.Append( KMarker );
-
+
CleanupStack::PopAndDestroy( number );
CleanupStack::PopAndDestroy( buffer );
CleanupStack::PushL( messageContent );
@@ -1210,10 +1186,10 @@
TRAP( r, WriteL( _L8( "ReadFromResourceLC-fs.Connect" ) ) );
#endif
CleanupClosePushL( fs );
- CStringResourceReader* reader(
- new ( ELeave ) CStringResourceReader( fs, aFile ) );
+ CRoHandlerStringResourceReader* reader(
+ new ( ELeave ) CRoHandlerStringResourceReader( fs, aFile ) );
#ifdef _DRM_TESTING
- TRAP( r, WriteL( _L8( "ReadFromResourceLC-CStringResourceReader" ) ) );
+ TRAP( r, WriteL( _L8( "ReadFromResourceLC-CRoHandlerStringResourceReader" ) ) );
#endif
CleanupStack::PushL( reader );
aBuf = reader->AllocReadResourceL( aIndex );
@@ -1242,28 +1218,7 @@
// First line in Inbox: TMsvEntry::iDetails.
if ( !flag || srvAddress.Length() == 0 )
{
- // Read from resource.
-
-#ifndef RD_MULTIPLE_DRIVE
-
- TFileName resourceFile( KDriveZ );
-
-#else //RD_MULTIPLE_DRIVE
-
- _LIT( KDriveRoot, "%c:" );
- TInt driveNumber( -1 );
- TChar driveLetter;
- DriveInfo::GetDefaultDrive( DriveInfo::EDefaultRom, driveNumber );
- iFs.DriveToChar( driveNumber, driveLetter );
-
- TFileName resourceFile;
- resourceFile.Format( KDriveRoot, (TUint )driveLetter );
-
-#endif
-
- resourceFile.Append( KDC_MTM_RESOURCE_DIR );
- resourceFile.Append( KPushMtmRes );
- ReadFromResourceLC( resourceFile, R_PUSHMISC_UNK_SENDER, result );
+ result = KEmpty().AllocL();
}
else
{
@@ -1423,30 +1378,22 @@
switch( iMsgType )
{
case EOma1Ro:
- {
- if ( iFeatureManagerFound && FeatureManager::FeatureSupported(
- KFeatureIdFfOmadrm1FullSupport ) )
- {
- HandleRightsMessageL();
- }
+ {
+ HandleRightsMessageL();
break;
}
#ifdef __DRM_OMA2
case EOma2RoapTrigger:
case EOma2RoapTriggerRoAcquisition:
- if ( iFeatureManagerFound && FeatureManager::FeatureSupported(
- KFeatureIdFfOmadrm2Support ) )
- {
- HandleRoapTriggerL();
- }
+ {
+ HandleRoapTriggerL();
break;
+ }
case EOma2RoapPdu:
- if ( iFeatureManagerFound && FeatureManager::FeatureSupported(
- KFeatureIdFfOmadrm2Support ) )
- {
- HandleRoapPduL();
- }
+ {
+ HandleRoapPduL();
break;
+ }
#endif
default:
{
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmplugins/drmrohandler/src/RoHandlerStringResourceReader.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,253 @@
+/*
+* 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"
+* 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:
+* Implementation of CRoHandlerStringResourceReader
+*
+*
+*/
+
+
+// INCLUDE FILES
+
+#include "RoHandlerStringResourceReader.h"
+#include <f32file.h>
+#include <barsread.h>
+#include <bautils.h>
+
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+//#define _DRM_TESTING
+
+#ifdef _DRM_TESTING
+LOCAL_C void WriteLogL( const TDesC8& text , RFs &aFs );
+LOCAL_C void WriteFileL( const TDesC8& text , RFs &aFs , const TDesC& aName );
+LOCAL_C void CreateLogL();
+LOCAL_C void WriteL( const TDesC8& aText );
+LOCAL_C void WriteL( const TDesC& aText );
+LOCAL_C void WriteL( const TDesC8& aText , TInt aErr );
+LOCAL_C void WriteCurrentTimeL();
+#endif
+
+// -----------------------------------------------------------------------------
+// Testing stuff
+// -----------------------------------------------------------------------------
+//
+
+#ifdef _DRM_TESTING
+LOCAL_C void WriteLogL( const TDesC8& text , RFs &aFs )
+ {
+ _LIT( KLogFile , "c:\\StringResourceReader.txt" );
+ WriteFileL( text , aFs , KLogFile );
+ }
+
+LOCAL_C void WriteFileL( const TDesC8& text , RFs &aFs , const TDesC& aName )
+ {
+ RFile file;
+ TInt size;
+ User::LeaveIfError( file.Open( aFs, aName , EFileWrite ) );
+ CleanupClosePushL( file );
+ User::LeaveIfError( file.Size( size ) );
+ User::LeaveIfError( file.Write( size, text ) );
+ CleanupStack::PopAndDestroy(); //file
+ }
+
+LOCAL_C void CreateLogL()
+ {
+ RFs fs;
+ User::LeaveIfError(fs.Connect());
+ CleanupClosePushL(fs);
+ RFile file;
+ User::LeaveIfError( file.Replace( fs , _L("c:\\StringResourceReader.txt") , EFileWrite ) );
+ file.Close();
+ CleanupStack::PopAndDestroy(); //fs
+ }
+
+LOCAL_C void WriteL( const TDesC& aText )
+ {
+ RFs fs;
+ User::LeaveIfError( fs.Connect() );
+ CleanupClosePushL(fs);
+ HBufC8* text = HBufC8::NewLC(1000);
+ TPtr8 textptr(text->Des() );
+ textptr.Append( aText );
+ textptr.Append( _L8("\r\n") );
+ WriteLogL(textptr , fs);
+ CleanupStack::PopAndDestroy(text);
+ CleanupStack::PopAndDestroy(); //fs
+ WriteCurrentTimeL();
+ }
+
+LOCAL_C void WriteL( const TDesC8& aText )
+ {
+ RFs fs;
+ User::LeaveIfError( fs.Connect() );
+ CleanupClosePushL(fs);
+ HBufC8* text = HBufC8::NewLC(1000);
+ TPtr8 textptr(text->Des() );
+ textptr.Append( aText );
+ textptr.Append( _L8("\r\n") );
+ WriteLogL(textptr , fs);
+ CleanupStack::PopAndDestroy(text);
+ CleanupStack::PopAndDestroy(); //fs
+ WriteCurrentTimeL();
+ }
+
+LOCAL_C void WriteL( const TDesC8& aText , TInt aErr )
+ {
+ _LIT8(KErr,": %d");
+ HBufC8* text = HBufC8::NewLC(1000+20);
+ TBuf8<20> num;
+ TPtr8 textptr(text->Des());
+ textptr.Append(aText);
+ num.Format(KErr(),aErr);
+ textptr.Append(num);
+ WriteL(textptr);
+ CleanupStack::PopAndDestroy(text);
+ }
+
+LOCAL_C void WriteCurrentTimeL()
+ {
+ RFs fs;
+ User::LeaveIfError( fs.Connect() );
+ CleanupClosePushL(fs);
+ HBufC8* text = HBufC8::NewLC(100);
+ TPtr8 textptr(text->Des() );
+// Date and Time display
+ TTime time;
+ time.HomeTime();
+ TBuf<256> dateString;
+ _LIT(KDate,"%*E%*D%X%*N%*Y %1 %2 '%3");
+ time.FormatL(dateString,KDate);
+ textptr.Append(_L( "\r\n\t\tData:\t" ) );
+ textptr.Append( dateString );
+ _LIT(KTime,"%-B%:0%J%:1%T%:2%S%:3%+B");
+ time.FormatL(dateString,KTime);
+ textptr.Append(_L( "\r\n\t\tTime:\t" ) );
+ textptr.Append( dateString );
+ textptr.Append(_L( "\r\n" ) );
+ textptr.Append(_L( "\r\n" ) );
+ WriteLogL(textptr , fs);
+ CleanupStack::PopAndDestroy(text);
+ CleanupStack::PopAndDestroy(); //fs
+ }
+#endif
+
+// ================= MEMBER FUNCTIONS =======================
+
+
+// ---------------------------------------------------------
+// CRoHandlerStringResourceReader::CRoHandlerStringResourceReader
+// ---------------------------------------------------------
+//
+CRoHandlerStringResourceReader::CRoHandlerStringResourceReader
+ ( RFs& aFs, const TDesC& aRscFileWithPathAndDrive )
+: CBase(), iFs( aFs ), iInitialized( EFalse )
+ {
+#ifdef _DRM_TESTING
+ TRAPD(r,CreateLogL());
+ TRAP(r,WriteL(_L8("CRoHandlerStringResourceReader")));
+#endif
+ iRscFileName.Copy( aRscFileWithPathAndDrive );
+ }
+
+// ---------------------------------------------------------
+// CRoHandlerStringResourceReader::~CRoHandlerStringResourceReader
+// ---------------------------------------------------------
+//
+CRoHandlerStringResourceReader::~CRoHandlerStringResourceReader()
+ {
+ iResourceFile.Close();
+#ifdef _DRM_TESTING
+ TRAPD(r,WriteL(_L8("~CRoHandlerStringResourceReader")));
+#endif
+ }
+
+// ---------------------------------------------------------
+// CRoHandlerStringResourceReader::AllocReadResourceL
+// ---------------------------------------------------------
+//
+HBufC* CRoHandlerStringResourceReader::AllocReadResourceL( TInt aResId )
+ {
+#ifdef _DRM_TESTING
+ TRAPD(r,WriteL(_L8("AllocReadResourceL"),aResId));
+#endif
+
+ InitializeL();
+
+#ifdef _DRM_TESTING
+ TRAP(r,WriteL(_L8("AllocReadResourceL-InitializeL")));
+#endif
+
+ HBufC8* buf8 = iResourceFile.AllocReadLC( aResId );
+
+#ifdef _DRM_TESTING
+ TRAP(r,WriteL(_L8("AllocReadResourceL-iResourceFile.AllocReadLC")));
+#endif
+
+#ifdef _UNICODE
+ const TPtrC buf( (const TUint16*)buf8->Ptr(), buf8->Size()/2 );
+#else
+ const TPtrC buf( buf8->Ptr(), buf8->Size() );
+#endif
+ HBufC* retBuf = buf.AllocL();
+ CleanupStack::PopAndDestroy( buf8 );
+
+#ifdef _DRM_TESTING
+ TRAP(r,WriteL(_L8("AllocReadResourceL-End")));
+#endif
+ return retBuf;
+ }
+
+// ---------------------------------------------------------
+// CRoHandlerStringResourceReader::InitializeL
+// ---------------------------------------------------------
+//
+void CRoHandlerStringResourceReader::InitializeL()
+ {
+#ifdef _DRM_TESTING
+ TRAPD(r,WriteL(_L8("InitializeL")));
+#endif
+ if ( !iInitialized )
+ {
+ TFileName resourceFileName( iRscFileName );
+#ifdef _DRM_TESTING
+ TRAP(r,WriteL(_L8("InitializeL-NearestLanguageFile")));
+#endif
+
+#ifdef _DRM_TESTING
+ TRAP(r,WriteL(resourceFileName));
+#endif
+ BaflUtils::NearestLanguageFile( iFs, resourceFileName );
+#ifdef _DRM_TESTING
+ TRAP(r,WriteL(_L8("InitializeL-NearestLanguageFile-End")));
+#endif
+
+ iResourceFile.OpenL( iFs, resourceFileName );
+#ifdef _DRM_TESTING
+ TRAP(r,WriteL(_L8("InitializeL-OpenL-End")));
+#endif
+
+ iResourceFile.ConfirmSignatureL( iResourceFile.SignatureL() );
+#ifdef _DRM_TESTING
+ TRAP(r,WriteL(_L8("InitializeL-ConfirmSignatureL-End")));
+#endif
+ iInitialized = ETrue;
+ }
+#ifdef _DRM_TESTING
+ TRAP(r,WriteL(_L8("InitializeL-End")));
+#endif
+ }
+
+// End of file.
--- a/omadrm/drmplugins/drmrohandler/src/StringResourceReader.cpp Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,253 +0,0 @@
-/*
-* Copyright (c) 2002 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:
-* Implementation of CStringResourceReader
-*
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "StringResourceReader.h"
-#include <f32file.h>
-#include <barsread.h>
-#include <bautils.h>
-
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-//#define _DRM_TESTING
-
-#ifdef _DRM_TESTING
-LOCAL_C void WriteLogL( const TDesC8& text , RFs &aFs );
-LOCAL_C void WriteFileL( const TDesC8& text , RFs &aFs , const TDesC& aName );
-LOCAL_C void CreateLogL();
-LOCAL_C void WriteL( const TDesC8& aText );
-LOCAL_C void WriteL( const TDesC& aText );
-LOCAL_C void WriteL( const TDesC8& aText , TInt aErr );
-LOCAL_C void WriteCurrentTimeL();
-#endif
-
-// -----------------------------------------------------------------------------
-// Testing stuff
-// -----------------------------------------------------------------------------
-//
-
-#ifdef _DRM_TESTING
-LOCAL_C void WriteLogL( const TDesC8& text , RFs &aFs )
- {
- _LIT( KLogFile , "c:\\StringResourceReader.txt" );
- WriteFileL( text , aFs , KLogFile );
- }
-
-LOCAL_C void WriteFileL( const TDesC8& text , RFs &aFs , const TDesC& aName )
- {
- RFile file;
- TInt size;
- User::LeaveIfError( file.Open( aFs, aName , EFileWrite ) );
- CleanupClosePushL( file );
- User::LeaveIfError( file.Size( size ) );
- User::LeaveIfError( file.Write( size, text ) );
- CleanupStack::PopAndDestroy(); //file
- }
-
-LOCAL_C void CreateLogL()
- {
- RFs fs;
- User::LeaveIfError(fs.Connect());
- CleanupClosePushL(fs);
- RFile file;
- User::LeaveIfError( file.Replace( fs , _L("c:\\StringResourceReader.txt") , EFileWrite ) );
- file.Close();
- CleanupStack::PopAndDestroy(); //fs
- }
-
-LOCAL_C void WriteL( const TDesC& aText )
- {
- RFs fs;
- User::LeaveIfError( fs.Connect() );
- CleanupClosePushL(fs);
- HBufC8* text = HBufC8::NewLC(1000);
- TPtr8 textptr(text->Des() );
- textptr.Append( aText );
- textptr.Append( _L8("\r\n") );
- WriteLogL(textptr , fs);
- CleanupStack::PopAndDestroy(text);
- CleanupStack::PopAndDestroy(); //fs
- WriteCurrentTimeL();
- }
-
-LOCAL_C void WriteL( const TDesC8& aText )
- {
- RFs fs;
- User::LeaveIfError( fs.Connect() );
- CleanupClosePushL(fs);
- HBufC8* text = HBufC8::NewLC(1000);
- TPtr8 textptr(text->Des() );
- textptr.Append( aText );
- textptr.Append( _L8("\r\n") );
- WriteLogL(textptr , fs);
- CleanupStack::PopAndDestroy(text);
- CleanupStack::PopAndDestroy(); //fs
- WriteCurrentTimeL();
- }
-
-LOCAL_C void WriteL( const TDesC8& aText , TInt aErr )
- {
- _LIT8(KErr,": %d");
- HBufC8* text = HBufC8::NewLC(1000+20);
- TBuf8<20> num;
- TPtr8 textptr(text->Des());
- textptr.Append(aText);
- num.Format(KErr(),aErr);
- textptr.Append(num);
- WriteL(textptr);
- CleanupStack::PopAndDestroy(text);
- }
-
-LOCAL_C void WriteCurrentTimeL()
- {
- RFs fs;
- User::LeaveIfError( fs.Connect() );
- CleanupClosePushL(fs);
- HBufC8* text = HBufC8::NewLC(100);
- TPtr8 textptr(text->Des() );
-// Date and Time display
- TTime time;
- time.HomeTime();
- TBuf<256> dateString;
- _LIT(KDate,"%*E%*D%X%*N%*Y %1 %2 '%3");
- time.FormatL(dateString,KDate);
- textptr.Append(_L( "\r\n\t\tData:\t" ) );
- textptr.Append( dateString );
- _LIT(KTime,"%-B%:0%J%:1%T%:2%S%:3%+B");
- time.FormatL(dateString,KTime);
- textptr.Append(_L( "\r\n\t\tTime:\t" ) );
- textptr.Append( dateString );
- textptr.Append(_L( "\r\n" ) );
- textptr.Append(_L( "\r\n" ) );
- WriteLogL(textptr , fs);
- CleanupStack::PopAndDestroy(text);
- CleanupStack::PopAndDestroy(); //fs
- }
-#endif
-
-// ================= MEMBER FUNCTIONS =======================
-
-
-// ---------------------------------------------------------
-// CStringResourceReader::CStringResourceReader
-// ---------------------------------------------------------
-//
-CStringResourceReader::CStringResourceReader
- ( RFs& aFs, const TDesC& aRscFileWithPathAndDrive )
-: CBase(), iFs( aFs ), iInitialized( EFalse )
- {
-#ifdef _DRM_TESTING
- TRAPD(r,CreateLogL());
- TRAP(r,WriteL(_L8("CStringResourceReader")));
-#endif
- iRscFileName.Copy( aRscFileWithPathAndDrive );
- }
-
-// ---------------------------------------------------------
-// CStringResourceReader::~CStringResourceReader
-// ---------------------------------------------------------
-//
-CStringResourceReader::~CStringResourceReader()
- {
- iResourceFile.Close();
-#ifdef _DRM_TESTING
- TRAPD(r,WriteL(_L8("~CStringResourceReader")));
-#endif
- }
-
-// ---------------------------------------------------------
-// CStringResourceReader::AllocReadResourceL
-// ---------------------------------------------------------
-//
-HBufC* CStringResourceReader::AllocReadResourceL( TInt aResId )
- {
-#ifdef _DRM_TESTING
- TRAPD(r,WriteL(_L8("AllocReadResourceL"),aResId));
-#endif
-
- InitializeL();
-
-#ifdef _DRM_TESTING
- TRAP(r,WriteL(_L8("AllocReadResourceL-InitializeL")));
-#endif
-
- HBufC8* buf8 = iResourceFile.AllocReadLC( aResId );
-
-#ifdef _DRM_TESTING
- TRAP(r,WriteL(_L8("AllocReadResourceL-iResourceFile.AllocReadLC")));
-#endif
-
-#ifdef _UNICODE
- const TPtrC buf( (const TUint16*)buf8->Ptr(), buf8->Size()/2 );
-#else
- const TPtrC buf( buf8->Ptr(), buf8->Size() );
-#endif
- HBufC* retBuf = buf.AllocL();
- CleanupStack::PopAndDestroy( buf8 );
-
-#ifdef _DRM_TESTING
- TRAP(r,WriteL(_L8("AllocReadResourceL-End")));
-#endif
- return retBuf;
- }
-
-// ---------------------------------------------------------
-// CStringResourceReader::InitializeL
-// ---------------------------------------------------------
-//
-void CStringResourceReader::InitializeL()
- {
-#ifdef _DRM_TESTING
- TRAPD(r,WriteL(_L8("InitializeL")));
-#endif
- if ( !iInitialized )
- {
- TFileName resourceFileName( iRscFileName );
-#ifdef _DRM_TESTING
- TRAP(r,WriteL(_L8("InitializeL-NearestLanguageFile")));
-#endif
-
-#ifdef _DRM_TESTING
- TRAP(r,WriteL(resourceFileName));
-#endif
- BaflUtils::NearestLanguageFile( iFs, resourceFileName );
-#ifdef _DRM_TESTING
- TRAP(r,WriteL(_L8("InitializeL-NearestLanguageFile-End")));
-#endif
-
- iResourceFile.OpenL( iFs, resourceFileName );
-#ifdef _DRM_TESTING
- TRAP(r,WriteL(_L8("InitializeL-OpenL-End")));
-#endif
-
- iResourceFile.ConfirmSignatureL( iResourceFile.SignatureL() );
-#ifdef _DRM_TESTING
- TRAP(r,WriteL(_L8("InitializeL-ConfirmSignatureL-End")));
-#endif
- iInitialized = ETrue;
- }
-#ifdef _DRM_TESTING
- TRAP(r,WriteL(_L8("InitializeL-End")));
-#endif
- }
-
-// End of file.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/drmplugins/drmrohandler/src/qrohandlerdmgreventhandler.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,26 @@
+
+#include <download.h>
+
+#include "qrohandlerdmgreventhandler.h"
+#include "rohandlerdmgrwrapper.h"
+
+QRoHandlerDMgrEventHandler::QRoHandlerDMgrEventHandler(
+ CRoHandlerDMgrWrapper& aRoHandlerDMgrWrapper,
+ WRT::Download& aDownload )
+ : iDownload(aDownload),
+ iRoHandlerDMgrWrapper(aRoHandlerDMgrWrapper)
+ {
+ QT_TRAP_THROWING
+ (
+ QObject::connect
+ (
+ &iDownload, SIGNAL(downloadEvent(DownloadEvent*)),
+ this, SLOT(HandleDownloadEventL(DownloadEvent*))
+ )
+ );
+ }
+
+void QRoHandlerDMgrEventHandler::HandleDownloadEventL( WRT::DownloadEvent* aEvent )
+ {
+ iRoHandlerDMgrWrapper.HandleDownloadEventL(aEvent);
+ }
--- a/omadrm/drmplugins/drmrohandler/src/rohandlerdmgrwrapper.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmrohandler/src/rohandlerdmgrwrapper.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008 - 2009 Nokia Corporation and/or its subsidiary(-ies).
+* 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"
@@ -21,10 +21,6 @@
#include <centralrepository.h>
#include <cdblen.h>
-#ifdef __SERIES60_NATIVE_BROWSER
-#include <browseruisdkcrkeys.h>
-#endif
-
#include <cmconnectionmethod.h>
#include <cmdestination.h>
#include <cmconnectionmethoddef.h>
@@ -36,8 +32,6 @@
#include <data_caging_path_literals.hrh>
-#include <downloadmgrclient.h>
-
#include <es_enum.h> // tconnectioninfo
#include <es_sock.h> // rconnection rsocket
#include <RoapEng.h>
@@ -45,7 +39,15 @@
#include <RoapObserver.h>
#include "RoapSyncWrapper.h"
+// Download manager apis
+#include <qobject.h>
+#include <downloadmanager.h>
+#include <download.h>
+
#include "rohandlerdmgrwrapper.h"
+#include "cleanupresetanddestroy.h"
+#include "buffercontainers.h"
+#include "qrohandlerdmgreventhandler.h"
#ifdef _DEBUG
#define DRMDEBUG( a ) RDebug::Print( a )
@@ -93,9 +95,6 @@
_LIT( KMethConstructL, "ConstructL" );
_LIT( KMethNewL, "NewL" );
_LIT( KMethNewLC, "NewLC" );
- _LIT( KMethDownloadAndHandleRoapTriggerL, "DownloadAndHandleRoapTriggerL" );
- _LIT( KMethDownloadAndHandleRoapTriggerFromPrUrlL,
- "DownloadAndHandleRoapTriggerFromPrUrlL" );
_LIT( KMethDoDownloadAndHandleRoapTriggerL,
"DoDownloadAndHandleRoapTriggerL" );
_LIT( KFormatDoDlHdlRoapTrigL, "DoDownloadAndHandleRoapTriggerL: %S" );
@@ -103,7 +102,6 @@
_LIT( KStrDlFinished, "download finished" );
_LIT( KMethSetDefaultAccessPointL, "SetDefaultAccessPointL" );
- _LIT( KMiIapId, "iIapId" );
_LIT( KMethHandleDMgrEventL, "HandleDMgrEventL" );
_LIT( KFormatMethHandleDMgrEventL, "HandleDMgrEventL %S" );
@@ -116,8 +114,7 @@
_LIT( KStrEConnectionFailed, "EConnectionFailed" );
_LIT( KFormatEDlAttrErrorId, "EDlAttrErrorId = %d" );
- _LIT( KMiDownLoadState, "iDownLoadState" );
- _LIT( KMiProgressState, "iProgressState" );
+ _LIT( KMiState, "iState" );
}
@@ -135,41 +132,12 @@
//#define LOG2( a, b )
#endif
-#ifndef __SERIES60_NATIVE_BROWSER
-const TUid KCRUidBrowser =
- {0x10008D39};
-const TUint32 KBrowserDefaultAccessPoint = 0x0000000E;
-const TUint32 KBrowserAccessPointSelectionMode = 0x0000001E;
-const TUint32 KBrowserNGDefaultSnapId = 0x00000053;
-#endif
-
// CONSTANTS
#ifndef RD_MULTIPLE_DRIVE
_LIT( KHelperTriggerFilePath, "d:\\" );
#endif
-// ============================== LOCAL FUNCTIONS ==============================
-
-// ---------------------------------------------------------------------------
-// DoResetAndDestroy
-// Does RPointerArray< typename >->ResetAndDestroy() for the given array aPtr.
-// ---------------------------------------------------------------------------
-//
-template< typename elemType >
-LOCAL_C void DoResetAndDestroy( TAny* aPtr )
- {
- ( reinterpret_cast< RPointerArray< elemType >* >( aPtr ) )->
- ResetAndDestroy();
- }
-
-// ---------------------------------------------------------------------------
-// DeleteHttpDowload
-// ---------------------------------------------------------------------------
-//
-LOCAL_C void DeleteHttpDowload( TAny* aDownload )
- {
- reinterpret_cast< RHttpDownload* >( aDownload )->Delete();
- }
+using namespace WRT;
// ---------------------------------------------------------------------------
// UpdateBufferL
@@ -189,34 +157,6 @@
}
}
-// ---------------------------------------------------------------------------
-// IapIdOfDefaultSnapL
-// for trapping purposes only
-// ---------------------------------------------------------------------------
-//
-LOCAL_C TUint32 IapIdOfDefaultSnapL(
- RCmManager& aCmManager,
- const TUint32 aDefaultSnap )
- {
- RCmDestination dest( aCmManager.DestinationL( aDefaultSnap ) );
- CleanupClosePushL( dest );
- TUint32 iapIdOfDest( 0 );
-
- if ( dest.ConnectionMethodCount() <= 0 )
- {
- User::Leave( KErrNotFound );
- }
-
- RCmConnectionMethod cMeth( dest.ConnectionMethodL( 0 ) );
- CleanupClosePushL( cMeth );
-
- iapIdOfDest = cMeth.GetIntAttributeL( CMManager::ECmIapId );
- CleanupStack::PopAndDestroy( &cMeth );
- CleanupStack::PopAndDestroy( &dest );
- return iapIdOfDest;
- }
-
-
// ============================= MEMBER FUNCTIONS ==============================
// ---------------------------------------------------------------------------
@@ -239,7 +179,15 @@
DRMDEBUGMETHOD( RoHdlrDMgrWrDebugLiterals::KMethConstructL() );
// Get UID from process
const TInt KRoHandlerDMgrWrapperUid = 0x101F7B92;
- iDlMgr.ConnectL( TUid::Uid( KRoHandlerDMgrWrapperUid ), *this, EFalse );
+ try
+ {
+ QString roHandlerDmgrWrapperUid(QString::number(KRoHandlerDMgrWrapperUid));
+ iDlMgr = q_check_ptr(new DownloadManager(roHandlerDmgrWrapperUid));
+ }
+ catch(const std::exception& exception)
+ {
+ qt_symbian_exception2LeaveL(exception);
+ }
User::LeaveIfError( iFs.Connect() );
User::LeaveIfError( iFs.ShareProtected() );
@@ -284,24 +232,15 @@
delete iFileName;
delete iRoapEng;
-#ifdef _DEBUG
-
- if ( iDlMgr.Handle() )
- {
- iDlMgr.Close();
- }
-
-#else
-
- iDlMgr.Close();
-
-#endif
-
+ delete iDlMgr;
+ delete iRoHandlerDMgrEventHandler;
+
iFs.Close();
+
}
// ---------------------------------------------------------------------------
-// CRoHandlerDMgrWrapper::DownloadAndHandleRoapTriggerL
+// CRoHandlerDMgrWrapper::HandleRoapTriggerL
// ---------------------------------------------------------------------------
//
void CRoHandlerDMgrWrapper::HandleRoapTriggerL( const TDesC8& aTrigger )
@@ -317,50 +256,13 @@
}
// ---------------------------------------------------------------------------
-// CRoHandlerDMgrWrapper::DownloadAndHandleRoapTriggerL
-// ---------------------------------------------------------------------------
-//
-void CRoHandlerDMgrWrapper::DownloadAndHandleRoapTriggerL( const HBufC8* aUrl )
- {
- DRMDEBUGMETHOD(
- RoHdlrDMgrWrDebugLiterals::KMethDownloadAndHandleRoapTriggerL() );
- if ( iState != EInit || iWait.IsStarted() )
- {
- User::Leave( KErrNotReady );
- }
-
- UpdateBufferL< HBufC8, TDesC8 >( iTriggerUrl, *aUrl );
- Continue( EGetMeteringTrigger, KErrNone );
- iWait.Start();
- }
-
-// ---------------------------------------------------------------------------
-// CRoHandlerDMgrWrapper::DownloadAndHandleRoapTriggerFromPrUrlL
-// ---------------------------------------------------------------------------
-//
-void CRoHandlerDMgrWrapper::DownloadAndHandleRoapTriggerFromPrUrlL(
- const HBufC8* aUrl )
- {
- DRMDEBUGMETHOD( RoHdlrDMgrWrDebugLiterals::KMethDownloadAndHandleRoapTriggerFromPrUrlL() );
- if ( iState != EInit || iWait.IsStarted() )
- {
- User::Leave( KErrNotReady );
- }
-
- UpdateBufferL< HBufC8, TDesC8 >( iTriggerUrl, *aUrl );
- Continue( EGetPrUrlTrigger, KErrNone );
- iWait.Start();
- }
-
-// ---------------------------------------------------------------------------
// CRoHandlerDMgrWrapper::DoDownloadRoapTriggerL
// ---------------------------------------------------------------------------
//
void CRoHandlerDMgrWrapper::DoDownloadRoapTriggerL( TMeterState aNextState )
{
RFile roapTrigger;
- TBool result( EFalse );
- TFileName triggerFileName;
+ DRM::CFileNameContainer* triggerFileName(NULL);
DRMDEBUGMETHOD( RoHdlrDMgrWrDebugLiterals::KMethDoDownloadAndHandleRoapTriggerL() );
// If no Trigger URL then nothing to download. So finish transaction
@@ -370,10 +272,11 @@
return;
}
+ triggerFileName=DRM::CFileNameContainer::NewLC();
#ifndef RD_MULTIPLE_DRIVE
User::LeaveIfError( roapTrigger.Temp(
- iFs, KHelperTriggerFilePath, triggerFileName, EFileWrite ) );
+ iFs, KHelperTriggerFilePath, triggerFileName->iBuffer, EFileWrite ) );
#else //RD_MULTIPLE_DRIVE
_LIT( KDrive, "%c:\\" );
@@ -382,46 +285,69 @@
DriveInfo::GetDefaultDrive( DriveInfo::EDefaultRam, driveNumber );
iFs.DriveToChar( driveNumber, driveLetter );
- TFileName helperTriggerFilePath;
+ DRM::CFileNameContainer*
+ helperTriggerFilePath( DRM::CFileNameContainer::NewLC() );
+
+ helperTriggerFilePath->iBuffer.Format( KDrive, ( TUint )driveLetter );
- helperTriggerFilePath.Format( KDrive, ( TUint )driveLetter );
-
- User::LeaveIfError( roapTrigger.Temp( iFs, helperTriggerFilePath,
- triggerFileName, EFileWrite ) );
+ User::LeaveIfError( roapTrigger.Temp( iFs, helperTriggerFilePath->iBuffer,
+ triggerFileName->iBuffer, EFileWrite ) );
+ CleanupStack::PopAndDestroy( helperTriggerFilePath );
+ helperTriggerFilePath=NULL;
#endif
- UpdateBufferL< HBufC, TFileName >( iFileName, triggerFileName );
+ UpdateBufferL< HBufC, TFileName >( iFileName, triggerFileName->iBuffer );
+ CleanupStack::PopAndDestroy( triggerFileName );
+ triggerFileName=NULL;
- // create and start download
- RHttpDownload& download = iDlMgr.CreateDownloadL( *iTriggerUrl, result );
- // Put download for proper cleanup.
- TCleanupItem item( DeleteHttpDowload, &download );
- CleanupStack::PushL( item );
-
+ try
+ {
+ // create and start download
+ QString downloadUrl((QChar*)iTriggerUrl->Des().Ptr(),iTriggerUrl->Length());
+ iDownload = iDlMgr->createDownload( downloadUrl );
+ iRoHandlerDMgrEventHandler = q_check_ptr(new QRoHandlerDMgrEventHandler(*this, *iDownload));
+ }
+ catch(const std::exception& exception)
+ {
+ qt_symbian_exception2LeaveL(exception);
+ }
+
CleanupClosePushL( roapTrigger );
- if ( result )
- {
- DRMDEBUG2(
- RoHdlrDMgrWrDebugLiterals::KFormatDoDlHdlRoapTrigL(),
- &RoHdlrDMgrWrDebugLiterals::KStrDlCreated() );
- iDownloadSuccess = EFalse;
- iConnectionError = EFalse;
+
+ DRMDEBUG2(
+ RoHdlrDMgrWrDebugLiterals::KFormatDoDlHdlRoapTrigL(),
+ &RoHdlrDMgrWrDebugLiterals::KStrDlCreated() );
+ iDownloadSuccess = EFalse;
+ iConnectionError = EFalse;
- SetDefaultAccessPointL();
- User::LeaveIfError( download.SetFileHandleAttribute( roapTrigger ) );
- User::LeaveIfError( download.SetBoolAttribute(
- EDlAttrNoContentTypeCheck, ETrue ) );
- User::LeaveIfError( download.Start() );
-
- // wait until download is finished
- iState = aNextState;
- TRequestStatus* status( &iStatus );
- *status = KRequestPending;
- SetActive();
- }
+ SetDefaultAccessPointL();
+
+ try
+ {
+ RBuf fileName;
+ User::LeaveIfError(fileName.Create(KMaxFileName));
+ CleanupClosePushL(fileName);
+ roapTrigger.Name(fileName);
+ const QVariant& roapTriggerValue( QString((QChar*) fileName.Ptr(), fileName.Length()) );
+ CleanupStack::PopAndDestroy(&fileName);
+ iDownload->setAttribute(FileName,roapTriggerValue);
+ const QVariant& val(ETrue);
+ iDownload->setAttribute(ContentType, val);
+ iDownload->start();
+ }
+ catch(const std::exception& exception)
+ {
+ qt_symbian_exception2LeaveL(exception);
+ }
+
+ // wait until download is finished
+ iState = aNextState;
+ TRequestStatus* status( &iStatus );
+ *status = KRequestPending;
+ SetActive();
+
CleanupStack::PopAndDestroy( &roapTrigger );
- CleanupStack::Pop( &download ); // Left open for DoSaveRoapTrigger
}
// ---------------------------------------------------------------------------
// CRoHandlerDMgrWrapper::DoSaveRoapTriggerL
@@ -434,15 +360,23 @@
RoHdlrDMgrWrDebugLiterals::KFormatDoDlHdlRoapTrigL(),
&RoHdlrDMgrWrDebugLiterals::KStrDlFinished() );
- // Fetch download created in DoDownloadRoapTriggerL
- RHttpDownload* download = iDlMgr.FindDownload( *iTriggerUrl, KNullDesC8() );
+ try
+ {
+ // Fetch download created in DoDownloadRoapTriggerL
+ QString downloadUrl((QChar*)iTriggerUrl->Des().Ptr(),iTriggerUrl->Length());
+ //uncomment
+ iDownload = NULL; //iDlMgr->findDownload( downloadUrl );
+ }
+ catch(const std::exception& exception)
+ {
+ qt_symbian_exception2LeaveL(exception);
+ }
+
// Delete trigger URL so that it is possible to check
// whether or not meteringResponse has PrUrl.
delete iTriggerUrl;
iTriggerUrl = NULL;
- // Put download for proper cleanup.
- TCleanupItem item( DeleteHttpDowload, download );
- CleanupStack::PushL( item );
+
RFile roapTrigger;
if ( !iDownloadSuccess )
@@ -485,8 +419,7 @@
// And let ROAP handle it...
CleanupStack::PopAndDestroy( &readBuf );
CleanupStack::PopAndDestroy( &roapTrigger );
- CleanupStack::PopAndDestroy( download );
-
+
iFs.Delete( *iFileName );
delete iFileName;
iFileName=NULL;
@@ -504,9 +437,7 @@
Roap::TDomainOperation domainOperation;
RPointerArray< HBufC8 > contentIds;
-
- TCleanupItem cleanup( DoResetAndDestroy< HBufC8 >, &contentIds );
- CleanupStack::PushL( cleanup );
+ CleanupResetAndDestroyPushL( contentIds );
iRoapEng = Roap::CRoapEng::NewL();
@@ -535,55 +466,12 @@
//
void CRoHandlerDMgrWrapper::SetDefaultAccessPointL()
{
- const TInt KDestinationSelectionMode( 2 );
- CRepository* repository( NULL );
- TInt ap( 0 );
- TInt alwaysAsk( 0 );
- TUint32 iapd32( 0 );
- TInt defaultSnap( 0 );
- TInt err( KErrNone );
-
DRMDEBUGMETHOD( RoHdlrDMgrWrDebugLiterals::KMethSetDefaultAccessPointL() );
- if ( !iIapId )
+ if ( iIapId )
{
- repository = CRepository::NewL( KCRUidBrowser );
- CleanupStack::PushL( repository );
- repository->Get( KBrowserDefaultAccessPoint, ap );
- repository->Get( KBrowserAccessPointSelectionMode, alwaysAsk );
- repository->Get( KBrowserNGDefaultSnapId, defaultSnap );
- if ( ap <= KErrNotFound && defaultSnap <= KErrNotFound )
- {
- alwaysAsk = ETrue;
- }
- else
- {
- RCmManager cmManager;
- cmManager.OpenLC();
- if ( !alwaysAsk )
- {
- TRAP( err, iapd32 = cmManager.GetConnectionMethodInfoIntL(
- ap, CMManager::ECmIapId ) );
- }
- else if ( alwaysAsk == KDestinationSelectionMode )
- {
- TRAP( err, iapd32 = IapIdOfDefaultSnapL(
- cmManager, defaultSnap ) );
- }
- CleanupStack::PopAndDestroy( &cmManager );
- }
- if ( !err && ( !alwaysAsk || alwaysAsk == KDestinationSelectionMode ) )
- {
- iIapId = iapd32;
- DRMDEBUG3( RoHdlrDMgrWrDebugLiterals::KFormatMembValInt(),
- &RoHdlrDMgrWrDebugLiterals::KMiIapId(), iIapId );
- err = iDlMgr.SetIntAttribute( EDlMgrIap, iapd32 );
- }
- CleanupStack::PopAndDestroy( repository );
- }
- else
- {
- err = iDlMgr.SetIntAttribute( EDlMgrIap, iIapId );
+ QVariant iapId((unsigned long long)iIapId);
+ iDlMgr->setAttribute(DefaultDestinationPath, iapId);
}
}
@@ -608,48 +496,41 @@
// CRoHandlerDMgrWrapper::HandleDMgrEventL
// ---------------------------------------------------------------------------
//
-void CRoHandlerDMgrWrapper::HandleDMgrEventL( RHttpDownload& aDownload,
- THttpDownloadEvent aEvent )
+void CRoHandlerDMgrWrapper::HandleDownloadEventL( WRT::DownloadEvent* aEvent )
{
- _LIT8( KDRMHelperMimeTypeROAPTrigger, "application/vnd.oma.drm.roap-trigger+xml" );
+ QString KDRMHelperMimeTypeROAPTrigger("application/vnd.oma.drm.roap-trigger+xml" );
DRMDEBUGMETHOD( RoHdlrDMgrWrDebugLiterals::KMethHandleDMgrEventL() );
DRMDEBUG3( RoHdlrDMgrWrDebugLiterals::KFormatMembValInt(),
- &RoHdlrDMgrWrDebugLiterals::KMiDownLoadState(), aEvent.iDownloadState );
- DRMDEBUG3( RoHdlrDMgrWrDebugLiterals::KFormatMembValInt(),
- &RoHdlrDMgrWrDebugLiterals::KMiProgressState(), aEvent.iProgressState );
-
- if ( aEvent.iProgressState == EHttpContentTypeReceived )
+ &RoHdlrDMgrWrDebugLiterals::KMiState(), aEvent->type() );
+
+ if ( aEvent->type() == DownloadEvent::HeadersReceived )
{
DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(),
&RoHdlrDMgrWrDebugLiterals::KStrEHttpContentTypeReceived() );
// check received mimetype
- RBuf8 contentType;
- contentType.CleanupClosePushL();
- contentType.CreateL( KMaxContentTypeLength );
- User::LeaveIfError( aDownload.GetStringAttribute( EDlAttrContentType,
- contentType ) );
- if ( !contentType.FindF( KDRMHelperMimeTypeROAPTrigger ) )
+ QString contentType = iDownload->attribute( ContentType).toString();
+ if ( contentType.contains( KDRMHelperMimeTypeROAPTrigger ) == EFalse )
{
// ROAP trigger found, continue download
- User::LeaveIfError( aDownload.Start() );
+ iDownload->start();
}
else
{
// wrong MIME type?, stop download
iDownloadSuccess = EFalse;
- User::LeaveIfError( aDownload.Delete() );
+ iDownload->cancel();
}
CleanupStack::PopAndDestroy( &contentType );
}
- if ( aEvent.iDownloadState == EHttpDlCreated )
+ if ( aEvent->type() == DownloadEvent::Created )
{
DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(),
&RoHdlrDMgrWrDebugLiterals::KStrEHttpDlCreated() );
}
else
- if ( aEvent.iProgressState == EHttpProgDisconnected )
+ if ( aEvent->type() == DownloadEvent::NetworkLoss )
{
DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(),
&RoHdlrDMgrWrDebugLiterals::KStrEHttpProgDisconnected() );
@@ -660,49 +541,47 @@
TRequestStatus* status( &iStatus );
User::RequestComplete( status, KErrCancel );
}
- else
- if ( aEvent.iDownloadState == EHttpDlInprogress )
- {
- DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(),
- &RoHdlrDMgrWrDebugLiterals::KStrEHttpDlInprogress() );
- }
- else
- if ( aEvent.iDownloadState == EHttpDlCompleted )
- {
- // store success
- DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(),
- &RoHdlrDMgrWrDebugLiterals::KStrEHttpDlCompleted() );
- iDownloadSuccess = ETrue;
+ else
+ if ( aEvent->type() == DownloadEvent::InProgress )
+ {
+ DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(),
+ &RoHdlrDMgrWrDebugLiterals::KStrEHttpDlInprogress() );
+ }
+ else
+ if ( aEvent->type() == DownloadEvent::Completed )
+ {
+ // store success
+ DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(),
+ &RoHdlrDMgrWrDebugLiterals::KStrEHttpDlCompleted() );
+ iDownloadSuccess = ETrue;
- // finished
- TRequestStatus* status( &iStatus );
- User::RequestComplete( status, KErrNone );
- }
- else
- if ( aEvent.iDownloadState == EHttpDlFailed )
- {
- TInt32 err;
+ // finished
+ TRequestStatus* status( &iStatus );
+ User::RequestComplete( status, KErrNone );
+ }
+ else
+ if ( aEvent->type() == DownloadEvent::Failed )
+ {
+ TInt32 err;
- DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(),
- &RoHdlrDMgrWrDebugLiterals::KStrEHttpDlFailed() );
- // store failure
- iDownloadSuccess = EFalse;
- User::LeaveIfError( aDownload.GetIntAttribute(
- EDlAttrErrorId, err ) );
- DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatEDlAttrErrorId(), err );
+ DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(),
+ &RoHdlrDMgrWrDebugLiterals::KStrEHttpDlFailed() );
+ // store failure
+ iDownloadSuccess = EFalse;
+ err = iDownload->attribute(LastError ).toInt();
+ DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatEDlAttrErrorId(), err );
- if ( err == EConnectionFailed || err
- == ETransactionFailed )
- {
- DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(),
- &RoHdlrDMgrWrDebugLiterals::KStrEConnectionFailed() );
- iConnectionError = ETrue;
- }
+ if ( err == ConnectionFailed || err == TransactionFailed )
+ {
+ DRMDEBUG2( RoHdlrDMgrWrDebugLiterals::KFormatMethHandleDMgrEventL(),
+ &RoHdlrDMgrWrDebugLiterals::KStrEConnectionFailed() );
+ iConnectionError = ETrue;
+ }
- // finished
- TRequestStatus* status( &iStatus );
- User::RequestComplete( status, KErrCancel );
- }
+ // finished
+ TRequestStatus* status( &iStatus );
+ User::RequestComplete( status, KErrCancel );
+ }
}
@@ -881,3 +760,4 @@
}
return KErrNone;
}
+
--- a/omadrm/drmplugins/drmromtm/group/RoMtmDat.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmromtm/group/RoMtmDat.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -46,7 +46,7 @@
USERINCLUDE ../../../../inc // ADo level inc dir
// Default system include paths for middleware layer modules.
-APP_LAYER_SYSTEMINCLUDE
+MW_LAYER_SYSTEMINCLUDE
LIBRARY euser.lib
LIBRARY mtur.lib
--- a/omadrm/drmplugins/drmromtm/loc/RoMtmUi.loc Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmromtm/loc/RoMtmUi.loc Tue Aug 31 15:29:38 2010 +0300
@@ -406,7 +406,7 @@
//w:
//r:3.0
//
-#define qtn_drm_query_rights_acq_msg "Connect to server to get a license?"
+#define qtn_drm_query_rights_acq_msg "Connect to server to get a licence?"
//d:Confirmation query text used when triggering registration to a domain
//l:popup_note_window
--- a/omadrm/drmplugins/drmromtm/uiData/inc/RoMtmCommands.hrh Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmromtm/uiData/inc/RoMtmCommands.hrh Tue Aug 31 15:29:38 2010 +0300
@@ -22,8 +22,6 @@
// INCLUDE FILES
-#include <MtmExtendedCapabilities.hrh>
-
/**
* The following enum constants define those Ro MTM specific commands that
* are supported by the client or the UI MTM components.
--- a/omadrm/drmplugins/drmromtm/uiData/src/RoMtmDat.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmromtm/uiData/src/RoMtmDat.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -40,7 +40,6 @@
#include <msvapi.h>
#include <RoMtmUi.rsg>
-#include <muiu.mbg>
#include <mtmuids.h>
#include <mtmuidef.hrh>
#include <stringresourcereader.h>
@@ -561,8 +560,8 @@
{
MAknsSkinInstance* skins = AknsUtils::SkinInstance();
TAknsItemID id;
- CFbsBitmap* bitmap;
- CFbsBitmap* bitmapMask;
+ //CFbsBitmap* bitmap;
+ //CFbsBitmap* bitmapMask;
CBitmapArray* array = NULL;
TParse tp;
tp.Set( KRoMtmUiDataBitmapFile, &KDC_APP_BITMAP_DIR, NULL );
@@ -572,14 +571,6 @@
id.Set( KAknsIIDQgnPropMcePushUnread );
- AknsUtils::CreateIconL( skins, id, bitmap,
- bitmapMask, tp.FullName(), EMbmMuiuQgn_prop_mce_push_unread,
- EMbmMuiuQgn_prop_mce_push_unread_mask );
-
- array->AppendL( bitmap );
- bitmap = 0;
- array->AppendL( bitmapMask );
- bitmapMask = 0;
iIconArrays->AppendL( array );
CleanupStack::Pop(); //array
@@ -588,14 +579,6 @@
id.Set( KAknsIIDQgnPropMcePushRead );
- AknsUtils::CreateIconL( skins, id, bitmap,
- bitmapMask, tp.FullName(), EMbmMuiuQgn_prop_mce_push_read,
- EMbmMuiuQgn_prop_mce_push_read_mask );
-
- array->AppendL( bitmap );
- bitmap = 0;
- array->AppendL( bitmapMask );
- bitmapMask = 0;
iIconArrays->AppendL( array );
CleanupStack::Pop(); //array
}
--- a/omadrm/drmplugins/drmromtm/uiData/src/RoMtmUi.rss Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/drmplugins/drmromtm/uiData/src/RoMtmUi.rss Tue Aug 31 15:29:38 2010 +0300
@@ -29,8 +29,6 @@
#include <avkon.rsg>
#include <avkon.loc>
#include <mtud.rh>
-#include <MtmExtendedCapabilities.hrh>
-#include <muiu.mbg>
#include <data_caging_paths_strings.hrh>
#include "RoMtmCommands.hrh"
@@ -55,17 +53,6 @@
RESOURCE TBUF80 r_roud_not_supported {buf="This action is not supported";}
-RESOURCE AKN_ICON_ARRAY r_ronsm_icons
- {
- bmpfile = APP_BITMAP_DIR"\\Muiu.mbm";
-
- icons =
- {
- AKN_ICON { iconId = EMbmMuiuQgn_prop_mce_push_unread;
- maskId = EMbmMuiuQgn_prop_mce_push_unread_mask; }
- };
- }
-
// -----------------------------------------------------------------------------
//
// r_romtmui_trigger_confirmation_query
--- a/omadrm/group/bld.inf Thu Aug 19 10:12:10 2010 +0300
+++ b/omadrm/group/bld.inf Tue Aug 31 15:29:38 2010 +0300
@@ -111,17 +111,9 @@
// Recognizer
../drmplugins/drmrecognizer/group/RecDRM.mmp
-// Ro Handler (only used if OMA DRM 1.0 Full is enabled)
-#ifdef __DRM_FULL
-../drmplugins/drmrohandler/group/crohandler.mmp
-#endif
-
// DRMFilter
../drmplugins/drmfilter/group/HTTPFilterDRM.mmp
-// DRMHelper
-../drmhelper/group/Drmhelper.mmp
-
#ifdef SBSV2
PRJ_EXTENSIONS
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/omadrm/omadrm.pro Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,24 @@
+#
+# Copyright (c) 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: qt changes for OMADRM
+#
+
+TEMPLATE = subdirs
+
+CONFIG += ordered
+DEFINES += __DRM_FULL
+
+contains(DEFINES, __DRM_FULL): SUBDIRS += drmplugins/drmrohandler/group/rohandler.pro
+SUBDIRS += drmhelper/group/drmhelper.pro
+
--- a/sysdef_1_4_0.dtd Thu Aug 19 10:12:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
- <!ELEMENT SystemDefinition (systemModel?, build?)>
- <!ATTLIST SystemDefinition
- name CDATA #REQUIRED
- schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (logicalset* | module*)*>
- <!ATTLIST layer
- name CDATA #REQUIRED
- levels CDATA #IMPLIED
- span CDATA #IMPLIED>
- <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalset name CDATA #REQUIRED>
- <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalsubset name CDATA #REQUIRED>
- <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
- <!ATTLIST module
- name CDATA #REQUIRED
- level CDATA #IMPLIED>
- <!ELEMENT component (unit* | package* | prebuilt*)*>
- <!ATTLIST component name CDATA #REQUIRED>
- <!ELEMENT unit EMPTY>
- <!ATTLIST unit
- unitID ID #REQUIRED
- name CDATA #REQUIRED
- mrp CDATA #REQUIRED
- filter CDATA #IMPLIED
- bldFile CDATA #REQUIRED
- priority CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT package EMPTY>
- <!ATTLIST package
- name CDATA #REQUIRED
- mrp CDATA #REQUIRED
- filter CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT prebuilt EMPTY>
- <!ATTLIST prebuilt
- name CDATA #REQUIRED
- version CDATA #REQUIRED
- late (Y|N) #IMPLIED
- filter CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
- <!ELEMENT unitList (unitRef+)>
- <!ATTLIST unitList
- name ID #REQUIRED
- description CDATA #REQUIRED>
- <!ELEMENT unitRef EMPTY>
- <!ATTLIST unitRef unit IDREF #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
- name ID #REQUIRED
- description CDATA #REQUIRED
- target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
- name ID #REQUIRED
- abldTarget CDATA #REQUIRED
- description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
- name ID #REQUIRED
- abldOption CDATA #REQUIRED
- description CDATA #REQUIRED
- enable (Y | N | y | n) #REQUIRED>
- <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
- <!ATTLIST configuration
- name ID #REQUIRED
- description CDATA #REQUIRED
- filter CDATA #REQUIRED>
- <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
- <!ELEMENT unitListRef EMPTY>
- <!ATTLIST unitListRef unitList IDREF #REQUIRED>
- <!ELEMENT layerRef EMPTY>
- <!ATTLIST layerRef layerName CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
- command CDATA #REQUIRED
- targetList IDREFS #IMPLIED
- unitParallel (Y | N | y | n) #REQUIRED
- targetParallel (Y | N | y | n) #IMPLIED>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
- name CDATA #REQUIRED
- cwd CDATA #REQUIRED
- command CDATA #REQUIRED>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysdef_1_5_1.dtd Tue Aug 31 15:29:38 2010 +0300
@@ -0,0 +1,88 @@
+ <!ELEMENT SystemDefinition (systemModel?, build?)>
+ <!ATTLIST SystemDefinition
+ name CDATA #REQUIRED
+ schema CDATA #REQUIRED>
+ <!ELEMENT systemModel (layer+)>
+ <!ELEMENT layer (logicalset* | module*)*>
+ <!ATTLIST layer
+ name CDATA #REQUIRED
+ levels CDATA #IMPLIED
+ span CDATA #IMPLIED>
+ <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalset name CDATA #REQUIRED>
+ <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalsubset name CDATA #REQUIRED>
+ <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
+ <!ATTLIST module
+ name CDATA #REQUIRED
+ level CDATA #IMPLIED>
+ <!ELEMENT component (unit* | package* | prebuilt*)*>
+ <!ATTLIST component name CDATA #REQUIRED>
+ <!ELEMENT unit EMPTY>
+ <!ATTLIST unit
+ unitID ID #REQUIRED
+ name CDATA #REQUIRED
+ mrp CDATA #REQUIRED
+ filter CDATA #IMPLIED
+ bldFile CDATA #REQUIRED
+ priority CDATA #IMPLIED
+ contract CDATA #IMPLIED
+ proFile CDATA #IMPLIED
+ qmakeArgs CDATA #IMPLIED>
+ <!ELEMENT package EMPTY>
+ <!ATTLIST package
+ name CDATA #REQUIRED
+ mrp CDATA #REQUIRED
+ filter CDATA #IMPLIED
+ contract CDATA #IMPLIED>
+ <!ELEMENT prebuilt EMPTY>
+ <!ATTLIST prebuilt
+ name CDATA #REQUIRED
+ version CDATA #REQUIRED
+ late (Y|N) #IMPLIED
+ filter CDATA #IMPLIED
+ contract CDATA #IMPLIED>
+ <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
+ <!ELEMENT unitList (unitRef+)>
+ <!ATTLIST unitList
+ name ID #REQUIRED
+ description CDATA #REQUIRED>
+ <!ELEMENT unitRef EMPTY>
+ <!ATTLIST unitRef unit IDREF #REQUIRED>
+ <!ELEMENT targetList EMPTY>
+ <!ATTLIST targetList
+ name ID #REQUIRED
+ description CDATA #REQUIRED
+ target IDREFS #REQUIRED>
+ <!ELEMENT target EMPTY>
+ <!ATTLIST target
+ name ID #REQUIRED
+ abldTarget CDATA #REQUIRED
+ description CDATA #REQUIRED>
+ <!ELEMENT option EMPTY>
+ <!ATTLIST option
+ name ID #REQUIRED
+ abldOption CDATA #REQUIRED
+ description CDATA #REQUIRED
+ enable (Y | N | y | n) #REQUIRED>
+ <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
+ <!ATTLIST configuration
+ name ID #REQUIRED
+ description CDATA #REQUIRED
+ filter CDATA #REQUIRED>
+ <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
+ <!ELEMENT unitListRef EMPTY>
+ <!ATTLIST unitListRef unitList IDREF #REQUIRED>
+ <!ELEMENT layerRef EMPTY>
+ <!ATTLIST layerRef layerName CDATA #REQUIRED>
+ <!ELEMENT buildLayer EMPTY>
+ <!ATTLIST buildLayer
+ command CDATA #REQUIRED
+ targetList IDREFS #IMPLIED
+ unitParallel (Y | N | y | n) #REQUIRED
+ targetParallel (Y | N | y | n) #IMPLIED>
+ <!ELEMENT specialInstructions EMPTY>
+ <!ATTLIST specialInstructions
+ name CDATA #REQUIRED
+ cwd CDATA #REQUIRED
+ command CDATA #REQUIRED>
--- a/wmdrm/camese/cameseutility/group/CameseUtility.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/wmdrm/camese/cameseutility/group/CameseUtility.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -33,7 +33,7 @@
USERINCLUDE ../../inc
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/ecom
+
LIBRARY euser.lib
LIBRARY flogger.lib
--- a/wmdrm/camese/httpfiltercamese/Src/httpfiltercamesedrmheader.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/wmdrm/camese/httpfiltercamese/Src/httpfiltercamesedrmheader.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -21,7 +21,6 @@
#include <es_enum.h>
#include <utf.h>
#include <centralrepository.h> // - Album Download
-#include <featdiscovery.h>
#include "httpfiltercamesedrmheader.h"
#include "httpfiltercamesedatasupplier.h"
@@ -264,23 +263,10 @@
{
if ( contentTypeVal.StrF().DesC().MatchF( KDataTypeCameseDRM ) !=
KErrNotFound )
- {
- CAMESE_LOG( "CHttpFilterCameseDrmHeader::CheckResponseHeaders Found Drm Header" );
-
- TUid u = TUid::Uid( KFeatureIdFfWmdrmDlaSupport );
- TBool wmDrmDlaSupportOn = ETrue;
- TRAPD(err, wmDrmDlaSupportOn = CFeatureDiscovery::IsFeatureSupportedL( u ));
-
- if(wmDrmDlaSupportOn)
- {
- StartDrmHeaderCaptureL( aTrans );
- }
- else if(!err)
- {
- aTrans.Response().SetStatusCode( KErrCompletion );
- aTrans.Fail();
- }
- }
+ {
+ CAMESE_LOG( "CHttpFilterCameseDrmHeader::CheckResponseHeaders Found Drm Header" );
+ StartDrmHeaderCaptureL( aTrans );
+ }
}
}
--- a/wmdrm/camese/httpfiltercamese/group/httpfiltercamese.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/wmdrm/camese/httpfiltercamese/group/httpfiltercamese.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -53,9 +53,8 @@
LIBRARY inetprotutil.lib
LIBRARY esock.lib
LIBRARY ecom.lib
-LIBRARY charconv.lib
-LIBRARY wmdrmdla.lib
+LIBRARY charconv.lib
+LIBRARY wmdrmdla.lib
LIBRARY centralrepository.lib // central repository
-LIBRARY featdiscovery.lib
SMPSAFE
--- a/wmdrm/camese/wmdrmdla/group/wmdrmdla.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/wmdrm/camese/wmdrmdla/group/wmdrmdla.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -43,7 +43,7 @@
USERINCLUDE ../../../inc
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/ecom
+
LIBRARY euser.lib
LIBRARY efsrv.lib
--- a/wmdrm/camese/wmdrmdla/inc/wmdrmdlahandler.h Thu Aug 19 10:12:10 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/wmdrmdla/inc/wmdrmdlahttpfwpluginresolver.h Thu Aug 19 10:12:10 2010 +0300
+++ b/wmdrm/camese/wmdrmdla/inc/wmdrmdlahttpfwpluginresolver.h Tue Aug 31 15:29:38 2010 +0300
@@ -20,7 +20,7 @@
#define WMDRMDLAHTTPFWPLUGINRESOLVER_H
#include <e32base.h>
-#include <implementationinformation.h>
+#include <ecom/implementationinformation.h>
class CWmDrmDlaPluginContainer;
class CAknIconArray;
--- a/wmdrm/camese/wmdrmdlaapp/inc/wmdrmdlabrowsercontainer.h Thu Aug 19 10:12:10 2010 +0300
+++ b/wmdrm/camese/wmdrmdlaapp/inc/wmdrmdlabrowsercontainer.h Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* 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"
@@ -22,56 +22,22 @@
#include <coecntrl.h>
class CAknView;
-class MBrCtlSpecialLoadObserver;
-class CBrCtlInterface;
class CWmDrmDlaBrowserContainer : public CCoeControl
{
public:
- static CWmDrmDlaBrowserContainer* NewL( CAknView* aView,
- MBrCtlSpecialLoadObserver* aObserver );
- static CWmDrmDlaBrowserContainer* NewLC( CAknView* aView,
- MBrCtlSpecialLoadObserver* aObserver );
-
- /**
- * Destructor.
- */
- virtual ~CWmDrmDlaBrowserContainer();
-
- /**
- * Returns pointer to the CBrCtlInterface owned by the container.
- * @return A pointer to CBrCtlInterface
- */
- CBrCtlInterface* BrCtlInterface();
-
-
public: // From CCoeControl
/**
* @see CCoeControl
*/
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-
- /**
- * @see CCoeControl
- */
- TInt CountComponentControls() const;
-
- /**
- * @see CCoeControl
- */
CCoeControl* ComponentControl( TInt aIndex ) const;
/**
* @see CCoeControl
*/
- void SizeChanged();
-
- /**
- * @see CCoeControl
- */
void FocusChanged( TDrawNow aDrawNow );
/**
@@ -82,15 +48,12 @@
private:
CWmDrmDlaBrowserContainer( CAknView* aView );
- void ConstructL( MBrCtlSpecialLoadObserver* aObserver );
private: // data
//Not owned
CAknView* iView;
- CBrCtlInterface* iBrCtlInterface;
-
};
#endif // C_WMDRMDLABROWSERCONTAINER_H
--- a/wmdrm/camese/wmdrmdlaapp/inc/wmdrmdlabrowserview.h Thu Aug 19 10:12:10 2010 +0300
+++ b/wmdrm/camese/wmdrmdlaapp/inc/wmdrmdlabrowserview.h Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* 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"
@@ -20,7 +20,6 @@
#define C_WMDRMDLABROWSERVIEW_H
#include <aknview.h>
-#include <brctlspecialloadobserver.h>
class CWmDrmDlaBrowserContainer;
class CInternetConnectionManager;
@@ -30,14 +29,13 @@
*/
class MBrowserViewLicenseReceivedCallback
{
- public:
-
+ public:
+
virtual void LicenseReceived() = 0;
};
-class CWmDrmDlaBrowserView : public CAknView,
- public MBrCtlSpecialLoadObserver
+class CWmDrmDlaBrowserView : public CAknView
{
public:
@@ -49,33 +47,6 @@
* Destructor.
*/
virtual ~CWmDrmDlaBrowserView();
-
- /**
- * Set the IAP that is used in network connection
- * @param aIap - IAP to be used
- */
- void SetIAP( TInt aIap );
-
- /**
- * Make a POST-request
- * @param aCallback - Callback used to inform when license
- * response is received
- * @param aPostUrl - Post URL
- * @param aPostContentType - Post content type
- * @param aPostData - Post data
- * @param aPostContentBoundary - Post content boundary
- */
- void PostL( MBrowserViewLicenseReceivedCallback* aCallback,
- const TDesC& aPostUrl,
- const TDesC8& aPostContentType,
- const TDesC8& aPostData,
- const TDesC8& aPostContentBoundary );
-
- /**
- * Get the license response
- * @return License response or NULL
- */
- HBufC8* LicenseResponse();
public: // From CAknView
@@ -87,11 +58,6 @@
/**
* @see CAknView
*/
- void HandleCommandL( TInt aCommand );
-
- /**
- * @see CAknView
- */
void DoActivateL( const TVwsViewId& aPrevViewId,
TUid aCustomMessageId,
const TDesC8& aCustomMessage );
@@ -103,26 +69,15 @@
/**
* @see CAknView
*/
- void HandleClientRectChange();
-
+ void HandleClientRectChange();
+
public: // From MBrCtlSpecialLoadObserver
- void NetworkConnectionNeededL( TInt* aConnectionPtr,
- TInt* aSockSvrHandle,
- TBool* aNewConn,
- TApBearerType* aBearerType );
-
- TBool HandleRequestL( RArray<TUint>* aTypeArray,
- CDesCArrayFlat* aDesArray );
-
- TBool HandleDownloadL( RArray<TUint>* aTypeArray,
- CDesCArrayFlat* aDesArray );
-
private:
CWmDrmDlaBrowserView();
void ConstructL();
-
+
void CreateContainerL();
void RemoveContainer();
void BrCtlHandleCommandL( TInt aCommand );
@@ -131,7 +86,7 @@
//Not Owned
MBrowserViewLicenseReceivedCallback* iCallback;
-
+
CWmDrmDlaBrowserContainer* iContainer;
HBufC8* iLicenseResponse;
CInternetConnectionManager* iConMgr;
--- a/wmdrm/camese/wmdrmdlaapp/src/wmdrmdlaappservicesession.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/wmdrm/camese/wmdrmdlaapp/src/wmdrmdlaappservicesession.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* 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"
@@ -121,8 +121,6 @@
}
aMessage.ReadL( 0, iapPckg );
- BrowserView()->SetIAP( iap );
-
CompleteMessage( aMessage, KErrNone );
}
@@ -159,12 +157,6 @@
ptr8.Set( postContentBoundary->Des() );
aMessage.ReadL( 3, ptr8 );
- BrowserView()->PostL( this,
- *postUrl,
- *postContentType,
- *postData,
- *postContentBoundary );
-
CleanupStack::PopAndDestroy( 4, postUrl ); //postContentBoundary, postData,
//postContentType, postUrl
@@ -187,16 +179,7 @@
{
TInt err( KErrNone );
- HBufC8* licenseResponse( BrowserView()->LicenseResponse() );
- if ( licenseResponse )
- {
- TInt licenseSize( licenseResponse->Size() );
- aMessage.WriteL( 0, TPckg<TInt>( licenseSize ) );
- }
- else
- {
err = KErrArgument;
- }
CompleteMessage( aMessage, err );
}
@@ -209,16 +192,8 @@
{
TInt err( KErrNone );
- HBufC8* licenseResponse( BrowserView()->LicenseResponse() );
- if ( licenseResponse )
- {
- aMessage.WriteL( 0, *licenseResponse );
- }
- else
- {
err = KErrArgument;
- }
-
+
CompleteMessage( aMessage, err );
}
--- a/wmdrm/camese/wmdrmdlaapp/src/wmdrmdlabrowsercontainer.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/wmdrm/camese/wmdrmdlaapp/src/wmdrmdlabrowsercontainer.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* 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"
@@ -19,49 +19,12 @@
// INCLUDE FILES
#include <AknDef.h>
#include <aknview.h>
-#include <brctlinterface.h>
#include "wmdrmdlabrowserview.h"
#include "wmdrmdlabrowsercontainer.h"
// ======== MEMBER FUNCTIONS ========
// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserContainer::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWmDrmDlaBrowserContainer::ConstructL(
- MBrCtlSpecialLoadObserver* aObserver )
- {
- CreateWindowL();
- SetRect( iView->ClientRect() );
-
- iBrCtlInterface = CreateBrowserControlL(
- this, // parent control
- iView->ClientRect(), // client rect
- TBrCtlDefs::ECapabilityLoadHttpFw |
- TBrCtlDefs::ECapabilityDisplayScrollBar |
- TBrCtlDefs::ECapabilityUseDlMgr |
- TBrCtlDefs::ECapabilityCursorNavigation, // Capabilities
- TBrCtlDefs::ECommandIdBase, // command base
- NULL, // Softkeys observer
- NULL, // LinkResolver
- aObserver, // Special load observer
- NULL, // Layout Observer
- NULL, // Dialog provider
- NULL, // window observer
- NULL // Download observer
- );
-
- iBrCtlInterface->SetBrowserSettingL( TBrCtlDefs::ESettingsAutoLoadImages,
- ETrue );
- iBrCtlInterface->SetBrowserSettingL( TBrCtlDefs::ESettingsCookiesEnabled,
- ETrue );
- iBrCtlInterface->SetBrowserSettingL( TBrCtlDefs::ESettingsEmbedded,
- ETrue );
- ActivateL();
- }
-
-// ---------------------------------------------------------------------------
// CWmDrmDlaBrowserContainer::CWmDrmDlaBrowserContainer
// ---------------------------------------------------------------------------
//
@@ -71,84 +34,6 @@
}
// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserContainer::NewL
-// ---------------------------------------------------------------------------
-//
-CWmDrmDlaBrowserContainer* CWmDrmDlaBrowserContainer::NewL(
- CAknView* aView,
- MBrCtlSpecialLoadObserver* aObserver )
- {
- CWmDrmDlaBrowserContainer* self
- = CWmDrmDlaBrowserContainer::NewLC( aView, aObserver );
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserContainer::NewLC
-// ---------------------------------------------------------------------------
-//
-CWmDrmDlaBrowserContainer* CWmDrmDlaBrowserContainer::NewLC(
- CAknView* aView,
- MBrCtlSpecialLoadObserver* aObserver )
- {
- CWmDrmDlaBrowserContainer* self
- = new( ELeave ) CWmDrmDlaBrowserContainer( aView );
- CleanupStack::PushL( self );
- self->ConstructL( aObserver );
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserContainer::~CWmDrmDlaBrowserContainer
-// ---------------------------------------------------------------------------
-//
-CWmDrmDlaBrowserContainer::~CWmDrmDlaBrowserContainer()
- {
- if(iBrCtlInterface != NULL)
- {
- TRAP_IGNORE( iBrCtlInterface->HandleCommandL( (TInt)TBrCtlDefs::ECommandCancelFetch + (TInt)TBrCtlDefs::ECommandIdBase ));
- }
- delete iBrCtlInterface;
- }
-
-// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserContainer::BrCtlInterface
-// ---------------------------------------------------------------------------
-//
-CBrCtlInterface* CWmDrmDlaBrowserContainer::BrCtlInterface()
- {
- return iBrCtlInterface;
- }
-
-// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserContainer::CountComponentControls
-// ---------------------------------------------------------------------------
-//
-TInt CWmDrmDlaBrowserContainer::CountComponentControls() const
- {
- if ( iBrCtlInterface )
- {
- return 1;
- }
- return 0;
- }
-
-// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserContainer::SizeChanged
-// ---------------------------------------------------------------------------
-//
-void CWmDrmDlaBrowserContainer::SizeChanged()
- {
- if ( iBrCtlInterface )
- {
- iBrCtlInterface->SetRect( Rect() );
- }
- }
-
-// ---------------------------------------------------------------------------
// CWmDrmDlaBrowserContainer::ComponentControl
// ---------------------------------------------------------------------------
//
@@ -157,37 +42,18 @@
{
switch ( aIndex )
{
- case 0:
- return iBrCtlInterface;
-
default:
return NULL;
}
}
// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserContainer::OfferKeyEventL
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CWmDrmDlaBrowserContainer::OfferKeyEventL(
- const TKeyEvent& aKeyEvent,
- TEventCode aType )
- {
- if ( iBrCtlInterface )
- {
- return iBrCtlInterface->OfferKeyEventL( aKeyEvent, aType );
- }
- return EKeyWasNotConsumed;
- }
-
-// ---------------------------------------------------------------------------
// CWmDrmDlaBrowserContainer::FocusChanged
// ---------------------------------------------------------------------------
//
void CWmDrmDlaBrowserContainer::FocusChanged(
TDrawNow aDrawNow )
{
- iBrCtlInterface->SetFocus( IsFocused() );
CCoeControl::FocusChanged( aDrawNow );
}
@@ -198,10 +64,6 @@
void CWmDrmDlaBrowserContainer::HandleResourceChange(
TInt aType )
{
- if ( iBrCtlInterface )
- {
- iBrCtlInterface->HandleResourceChange( aType );
- }
CCoeControl::HandleResourceChange( aType );
if ( aType == KEikDynamicLayoutVariantSwitch )
{
--- a/wmdrm/camese/wmdrmdlaapp/src/wmdrmdlabrowserview.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/wmdrm/camese/wmdrmdlaapp/src/wmdrmdlabrowserview.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* 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"
@@ -22,15 +22,13 @@
#include <aknViewAppUi.h>
#include <coeaui.h>
#include <coecntrl.h>
-#include <brctlinterface.h>
-#include <internetconnectionmanager.h>
+#include <InternetConnectionManager.h>
#include <wmdrmdlaapp.rsg>
#include "wmdrmdlabrowserview.h"
#include "wmdrmdlabrowsercontainer.h"
#include "wmdrmdlaappconstants.h"
// CONTANTS
-_LIT( KDataTypeLicenseResponse, "application/vnd.ms-wmdrm.lic-resp" );
// ======== LOCAL FUNCTIONS ========
@@ -91,46 +89,6 @@
}
// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserView::SetIAP
-// ---------------------------------------------------------------------------
-//
-
-void CWmDrmDlaBrowserView::SetIAP( TInt aIap )
- {
- iIap = aIap;
- }
-
-// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserView::PostL
-// ---------------------------------------------------------------------------
-//
-void CWmDrmDlaBrowserView::PostL(
- MBrowserViewLicenseReceivedCallback* aCallback,
- const TDesC& aPostUrl,
- const TDesC8& aPostContentType,
- const TDesC8& aPostData,
- const TDesC8& aPostContentBoundary )
- {
- iCallback = aCallback;
- iContainer->BrCtlInterface()->PostUrlL( aPostUrl,
- aPostContentType,
- aPostData,
- &aPostContentBoundary,
- (TAny*)iContainer );
- iContainer->BrCtlInterface()->SetFocus( ETrue, EDrawNow );
- }
-
-// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserView::LicenseResponse
-// ---------------------------------------------------------------------------
-//
-
-HBufC8* CWmDrmDlaBrowserView::LicenseResponse()
- {
- return iLicenseResponse;
- }
-
-// ---------------------------------------------------------------------------
// CWmDrmDlaBrowserView::Id
// ---------------------------------------------------------------------------
//
@@ -140,28 +98,6 @@
}
// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserView::HandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CWmDrmDlaBrowserView::HandleCommandL(
- TInt aCommand )
- {
- if ( aCommand >= TBrCtlDefs::ECommandIdBase +
- TBrCtlDefs::ECommandIdWMLBase &&
- aCommand <= TBrCtlDefs::ECommandIdBase +
- TBrCtlDefs::ECommandIdRange )
- {
- BrCtlHandleCommandL( aCommand );
- }
- else
- {
- iContainer->BrCtlInterface()->HandleCommandL( (TInt)TBrCtlDefs::ECommandCancelFetch +
- (TInt)TBrCtlDefs::ECommandIdBase );
- AppUi()->HandleCommandL( aCommand );
- }
- }
-
-// ---------------------------------------------------------------------------
// CWmDrmDlaBrowserView::DoActivateL
// ---------------------------------------------------------------------------
//
@@ -203,8 +139,6 @@
void CWmDrmDlaBrowserView::CreateContainerL()
{
RemoveContainer();
- iContainer = CWmDrmDlaBrowserContainer::NewL( this, this );
- iContainer->SetMopParent( this );
}
// ---------------------------------------------------------------------------
@@ -220,105 +154,3 @@
iContainer = NULL;
}
}
-
-// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserView::BrCtlHandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CWmDrmDlaBrowserView::BrCtlHandleCommandL( TInt aCommand )
- {
- iContainer->BrCtlInterface()->HandleCommandL( aCommand );
- }
-
-// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserView::NetworkConnectionNeededL
-// ---------------------------------------------------------------------------
-//
-void CWmDrmDlaBrowserView::NetworkConnectionNeededL(
- TInt* aConnectionPtr,
- TInt* aSockSvrHandle,
- TBool* aNewConn,
- TApBearerType* aBearerType )
- {
- TInt ret( 0 );
- // If not connected, try to start a new connection
- if ( !iConMgr->Connected() )
- {
- iConMgr->SetRequestedAP( iIap );
- ret = iConMgr->StartConnectionL( ETrue );
- }
-
- // If connected, return needed info to framework
- if ( !ret )
- {
- *aConnectionPtr = reinterpret_cast<TInt>(&iConMgr->Connection() );
- *aSockSvrHandle = iConMgr->SocketServer().Handle();
- *aNewConn = EFalse;
- *aBearerType = EApBearerTypeAllBearers;
- }
- else
- {
- User::Leave( KErrCancel );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserView::HandleRequestL
-// ---------------------------------------------------------------------------
-//
-TBool CWmDrmDlaBrowserView::HandleRequestL(
- RArray<TUint>* /*aTypeArray*/,
- CDesCArrayFlat* /*aDesArray*/ )
- {
- return EFalse;
- }
-
-// ---------------------------------------------------------------------------
-// CWmDrmDlaBrowserView::HandleDownloadL
-// ---------------------------------------------------------------------------
-//
-TBool CWmDrmDlaBrowserView::HandleDownloadL(
- RArray<TUint>* aTypeArray,
- CDesCArrayFlat* aDesArray )
- {
- //Check that content type and local file name exists
- //There must be both, because download manager downloads POST-content
- //in advance calling this function
- TInt contentTypeIndex( aTypeArray->Find( EParamReceivedContentType ) );
- TInt fileNameIndex( aTypeArray->Find( EParamLocalFileName ) );
- if ( contentTypeIndex != KErrNotFound &&
- fileNameIndex != KErrNotFound &&
- contentTypeIndex < aDesArray->Count() &&
- fileNameIndex < aDesArray->Count() )
- {
- //Check that the downloaded content is license response
- TPtrC16 dataTypePtr( (*aDesArray)[contentTypeIndex] );
- if ( dataTypePtr.CompareF( KDataTypeLicenseResponse ) == 0 )
- {
- //Get the path to the license response,
- //read the response, delete the file and
- //make a license received - callback
- TPtrC16 filePathPtr( (*aDesArray)[fileNameIndex] );
- RFs fs;
- User::LeaveIfError( fs.Connect() );
- CleanupClosePushL( fs );
- RFile file;
- TInt size( 0 );
- User::LeaveIfError( file.Open( fs, filePathPtr, EFileRead ) );
- CleanupClosePushL( file );
- User::LeaveIfError( file.Size( size ) );
- delete iLicenseResponse;
- iLicenseResponse = NULL;
- iLicenseResponse = HBufC8::NewL( size );
- TPtr8 licensePtr( iLicenseResponse->Des() );
- User::LeaveIfError( file.Read( 0, licensePtr, size ) );
- CleanupStack::PopAndDestroy( &file );
- User::LeaveIfError( fs.Delete( filePathPtr ) );
- CleanupStack::PopAndDestroy( &fs );
- iCallback->LicenseReceived();
- return ETrue;
- }
- }
- return EFalse;
- }
-
--- a/wmdrm/wmdrmengine/wmdrmaccess/group/wmdrmaccess.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/wmdrm/wmdrmengine/wmdrmaccess/group/wmdrmaccess.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -30,7 +30,7 @@
SOURCE wmdrmaccess.cpp
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/ecom
+
USERINCLUDE ../inc
--- a/wmdrm/wmdrmengine/wmdrmaccess/src/wmdrmaccess.cpp Thu Aug 19 10:12:10 2010 +0300
+++ b/wmdrm/wmdrmengine/wmdrmaccess/src/wmdrmaccess.cpp Tue Aug 31 15:29:38 2010 +0300
@@ -17,7 +17,7 @@
*/
#include <e32base.h>
-#include <ecom.h>
+#include <ecom/ecom.h>
#include <wmdrmaccess.h>
#include <wmdrmaccessecominterface.h>
--- a/wmdrm/wmdrmengine/wmdrmagent/group/wmdrmagent.mmp Thu Aug 19 10:12:10 2010 +0300
+++ b/wmdrm/wmdrmengine/wmdrmagent/group/wmdrmagent.mmp Tue Aug 31 15:29:38 2010 +0300
@@ -31,10 +31,6 @@
// Generic MW include paths
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/libc
-SYSTEMINCLUDE /epoc32/include/caf
-SYSTEMINCLUDE /epoc32/include/Ecom
-
USERINCLUDE ../inc
USERINCLUDE ../../../inc
USERINCLUDE ../../asf/inc