| author | Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> | 
| Thu, 17 Dec 2009 08:44:11 +0200 | |
| changeset 0 | 72b543305e3a | 
| permissions | -rw-r--r-- | 
| 0 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 1 | /* | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 2 | * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 3 | * All rights reserved. | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 4 | * This component and the accompanying materials are made available | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 5 | * under the terms of "Eclipse Public License v1.0" | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 6 | * which accompanies this distribution, and is available | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 7 | * at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 8 | * | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 9 | * Initial Contributors: | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 10 | * Nokia Corporation - initial contribution. | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 11 | * | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 12 | * Contributors: | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 13 | * | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 14 | * Description: | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 15 | * Utility class for resolving DRM protection. | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 16 | * | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 17 | */ | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 18 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 19 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 20 | // INCLUDE FILES | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 21 | #include "MsgMailDRMHandler.h" | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 22 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 23 | #include <e32base.h> | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 24 | #include <DRMHelper.h> | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 25 | #include <caf/data.h> | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 26 | #include <MsgAttachmentInfo.h> | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 27 | #include <MsgAttachmentModel.h> | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 28 | #include <caf/caf.h> | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 29 | #include "MailLog.h" | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 30 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 31 | // LOCAL CONSTANTS AND MACROS | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 32 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 33 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 34 | // ================= MEMBER FUNCTIONS ======================= | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 35 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 36 | // C++ default constructor cannot contain any code that might leave | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 37 | MsgMailDRMHandler::MsgMailDRMHandler() | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 38 |     {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 39 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 40 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 41 | // ----------------------------------------------------------------------------- | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 42 | // CMsgMailEditorAppUi::FileSize() | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 43 | // ----------------------------------------------------------------------------- | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 44 | // | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 45 | void MsgMailDRMHandler::ConstructL() | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 46 |     {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 47 | iDRMHelper = CDRMHelper::NewL(); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 48 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 49 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 50 | // Symbian OS default constructor can leave. | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 51 | EXPORT_C MsgMailDRMHandler* MsgMailDRMHandler::NewL() | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 52 |     {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 53 | MsgMailDRMHandler* self = new (ELeave) MsgMailDRMHandler(); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 54 | CleanupStack::PushL(self); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 55 | self->ConstructL(); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 56 | CleanupStack::Pop();// self | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 57 | return self; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 58 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 59 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 60 | // Destructor | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 61 | EXPORT_C MsgMailDRMHandler::~MsgMailDRMHandler() | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 62 |     {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 63 | delete iDRMHelper; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 64 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 65 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 66 | // ----------------------------------------------------------------------------- | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 67 | // MsgMailDRMHandler::IsForwardLockedFileL() | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 68 | // ----------------------------------------------------------------------------- | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 69 | // | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 70 | EXPORT_C TBool MsgMailDRMHandler::IsForwardLockedFileL ( | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 71 | RFile& aFileHandle ) | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 72 |     {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 73 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 74 | TBool isForwardable; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 75 | TBool valid; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 76 | TBool drmProtected; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 77 | GetFileInfoL ( aFileHandle, isForwardable, valid, drmProtected); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 78 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 79 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 80 | if(drmProtected) | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 81 |         {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 82 | return !isForwardable; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 83 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 84 | else | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 85 |         {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 86 | //No drm protection, so can't be forward locked. | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 87 | return EFalse; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 88 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 89 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 90 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 91 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 92 | // ----------------------------------------------------------------------------- | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 93 | // MsgMailDRMHandler::IsSeparateDeliveryFileL() | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 94 | // ----------------------------------------------------------------------------- | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 95 | // | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 96 | EXPORT_C TBool MsgMailDRMHandler::IsSuperDistributableFileL ( | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 97 | RFile& aFileHandle ) | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 98 |     {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 99 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 100 | TBool isForwardable; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 101 | TBool valid; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 102 | TBool drmProtected; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 103 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 104 | GetFileInfoL ( aFileHandle, isForwardable, valid, drmProtected); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 105 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 106 | if(drmProtected) | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 107 |         {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 108 | return isForwardable; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 109 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 110 | else | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 111 |         {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 112 | //No drm protection, so can't be super distributable. | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 113 | return EFalse; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 114 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 115 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 116 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 117 | // ----------------------------------------------------------------------------- | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 118 | // MsgMailDRMHandler::SetDRMDataTypeL() | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 119 | // ----------------------------------------------------------------------------- | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 120 | // | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 121 | EXPORT_C void MsgMailDRMHandler::SetDRMDataTypeL ( | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 122 | CMsgAttachmentInfo& aAttachmentInfo, RFile& aFileHandle ) | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 123 |     {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 124 |     LOG(">MsgMailDRMHandler::SetDRMDataTypeL");
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 125 | TBool isForwardable; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 126 | TBool valid; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 127 | TBool drmProtected; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 128 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 129 | GetFileInfoL ( aFileHandle, isForwardable, valid, drmProtected); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 130 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 131 | if ( drmProtected && isForwardable ) | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 132 |         {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 133 |         LOG("MsgMailDRMHandler::SetDRMDataTypeL - drm protected");        
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 134 | CMsgAttachmentInfo::TDRMDataType drmType = valid ? | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 135 | CMsgAttachmentInfo::ESeparateDeliveryValidRights : | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 136 | CMsgAttachmentInfo::ESeparateDeliveryInvalidRights; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 137 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 138 | aAttachmentInfo.SetDRMDataType( drmType ); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 139 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 140 | else if( drmProtected && !isForwardable ) | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 141 |         {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 142 |         LOG("MsgMailDRMHandler::SetDRMDataTypeL - forward locked");
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 143 | aAttachmentInfo.SetDRMDataType( | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 144 | CMsgAttachmentInfo::EForwardLockedOrCombinedDelivery ); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 145 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 146 |     LOG("<MsgMailDRMHandler::SetDRMDataTypeL");
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 147 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 148 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 149 | // ----------------------------------------------------------------------------- | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 150 | // MsgMailDRMHandler::GetDRMDataTypeL() | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 151 | // ----------------------------------------------------------------------------- | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 152 | // | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 153 | EXPORT_C CMsgAttachmentInfo::TDRMDataType MsgMailDRMHandler::GetDRMDataTypeL( | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 154 | RFile aFileHandle ) | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 155 |     {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 156 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 157 | TBool isForwardable; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 158 | TBool valid; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 159 | TBool drmProtected; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 160 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 161 | GetFileInfoL ( aFileHandle, isForwardable, valid, drmProtected); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 162 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 163 | CMsgAttachmentInfo::TDRMDataType drmType( | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 164 | CMsgAttachmentInfo::ENoLimitations ); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 165 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 166 | if ( drmProtected && isForwardable ) | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 167 |         {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 168 | drmType = valid ? | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 169 | CMsgAttachmentInfo::ESeparateDeliveryValidRights : | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 170 | CMsgAttachmentInfo::ESeparateDeliveryInvalidRights; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 171 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 172 | else if(drmProtected && !isForwardable) | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 173 |         {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 174 | drmType = CMsgAttachmentInfo::EForwardLockedOrCombinedDelivery; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 175 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 176 | return drmType; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 177 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 178 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 179 | // ----------------------------------------------------------------------------- | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 180 | // MsgMailDRMHandler::GetFileInfo() | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 181 | // ----------------------------------------------------------------------------- | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 182 | // | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 183 | void MsgMailDRMHandler::GetFileInfoL ( RFile& aFileHandle, | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 184 | TBool& aIsForwardable, TBool& aValidRights, TBool& aProtection) | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 185 |     {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 186 |     LOG(">MsgMailDRMHandler::GetFileInfoL");
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 187 | aProtection = EFalse; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 188 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 189 | //These two are only valid if file is drm protected. | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 190 | aValidRights = EFalse; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 191 | aIsForwardable = EFalse; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 192 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 193 |     LOG("MsgMailDRMHandler::GetFileInfoL - CContent");
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 194 | CContent* content = CContent::NewLC(aFileHandle); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 195 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 196 | TInt isDRMProtected = 0; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 197 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 198 | //Check if file is drm protected. If not no need for further checks. | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 199 |     LOG("MsgMailDRMHandler::GetFileInfoL - CContent::GetAttribute protected");
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 200 | User::LeaveIfError(content->GetAttribute(EIsProtected, isDRMProtected)); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 201 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 202 | if (isDRMProtected) | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 203 |         {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 204 | aProtection = ETrue; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 205 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 206 | //Check if forwardable or superdistributable. | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 207 | TInt isForwardable; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 208 |         LOG("MsgMailDRMHandler::GetFileInfoL - CContent::GetAttribute forwardable");
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 209 | User::LeaveIfError(content->GetAttribute(EIsForwardable, isForwardable)); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 210 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 211 | aIsForwardable = isForwardable; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 212 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 213 | CData* data = NULL; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 214 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 215 | // In the case of invalid rights, CData::NewLC will leave with KErrCANoRights, | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 216 | // KErrCANoPermission, or KErrCAPendingRights | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 217 | TRAPD(rightscheck, data = CData::NewL( aFileHandle, KDefaultContentObject, EUnknown )); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 218 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 219 | if(rightscheck == KErrNone) | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 220 |             {
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 221 | aValidRights = ETrue; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 222 | delete data; | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 223 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 224 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 225 | CleanupStack::PopAndDestroy(content); | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 226 |     LOG("<MsgMailDRMHandler::GetFileInfoL");
 | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 227 | } | 
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 228 | |
| 
72b543305e3a
Revision: 200949
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 229 | // End of File |