messagingfw/senduiservices/datautils/src/SendUiFileRightsEngine.cpp
branchRCL_3
changeset 22 d2c4c66342f3
parent 21 e5b3a2155e1a
child 23 d51193d814ea
--- a/messagingfw/senduiservices/datautils/src/SendUiFileRightsEngine.cpp	Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,763 +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:   Provides functionality for DRM file protection analyzing
-*                and content MMS compatibility resolving.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "SendUiFileRightsEngine.h"
-#include    <SendUiConsts.h>
-#include    "SendUiDataUtils.h"
-
-#include    <MsgMedia.hrh>
-#include    <MsgMediaResolver.h>            // Msg Media Resolver
-#include    <MmsConformance.h>              // MMS Conformance
-
-#include    <Sendnorm.rsg>
-#include    <AknQueryDialog.h>              // Query dialog
-#include    <aknnotewrappers.h>             // Note dialog
-#include    <stringresourcereader.h>        // String Resource Reader
-#include    <StringLoader.h>                // Stringloader
-#include    <data_caging_path_literals.hrh>
-#include    <mmsconst.h>
-#include    <fileprotectionresolver.h>
-#include    <VideoConversionApi.h>
-#include    <MsgMimeTypes.h>
-#include    "CSendUiAttachment.h"
-// CONSTANTS
-const TInt KFREKiloByte                     = 1024;
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::CSendUiFileRightsEngine
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSendUiFileRightsEngine::CSendUiFileRightsEngine( RFs& aFS )
-    : iFileSession( aFS )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSendUiFileRightsEngine::ConstructL()
-    {
-    iProtectionResolver = CFileProtectionResolver::NewL( iFileSession );
-    iMediaResolver = CMsgMediaResolver::NewL();
-    iMmsConformance = CMmsConformance::NewL();
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendUiFileRightsEngine* CSendUiFileRightsEngine::NewL( RFs& aFs)
-    {
-    CSendUiFileRightsEngine* self = NewLC( aFs );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendUiFileRightsEngine* CSendUiFileRightsEngine::NewLC( RFs& aFs )
-    {
-    CSendUiFileRightsEngine* self =
-        new( ELeave ) CSendUiFileRightsEngine( aFs );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-
-    return self;
-    }
-
-// Destructor
-CSendUiFileRightsEngine::~CSendUiFileRightsEngine()
-    {
-    delete iProtectionResolver;
-    delete iMediaResolver;
-    delete iMmsConformance;
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ConfirmDrmFileRightsL
-
-// Closed content list checking is also done here.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUiFileRightsEngine::ConfirmDrmFileRightsL(
-    CArrayPtrFlat<CSendUiAttachment>* aAttachments )
-    {
-	if ( !aAttachments )
-		{
-		return;
-		}
-    TInt fileCount = aAttachments->Count();
-    if ( fileCount )
-        {
-        TInt index = 0;
-        TInt protection = 0;
-        TDataType mimeType;
-
-        CSendUiDataUtils* dataUtils = CSendUiDataUtils::NewL( iFileSession );
-        CleanupStack::PushL( dataUtils );
-
-        while ( index < fileCount)
-            {
-            iValidationResults[ESenduiIndexTotalCount]++;
-            CSendUiAttachment& attachment = *(aAttachments->At(index));
-            RFile file = *(attachment.Handle());
-            dataUtils->ResolveFileMimeTypeL( file, mimeType );
-        	protection = iProtectionResolver->ProtectionStatusL( file, mimeType );
-     		attachment.SetMimeType( mimeType );
-            	
-            if ( protection & EFileProtSuperDistributable )
-                {
-                iValidationResults[ESenduiIndexDrmSD]++;
-                }
-            else if ( ( protection & EFileProtForwardLocked ) ||
-                      ( protection & EFileProtClosedContent ) )
-                {
-                iInvalidationReason[ESenduiIndexDrmFLOrCCL]++;
-                iValidationResults[ESenduiIndexDeleted]++;
-                delete aAttachments->At(index);
-                aAttachments->Delete( index );
-                
-                fileCount--;
-                index--;
-                }
-            index++;
-            }
-
-        CleanupStack::PopAndDestroy( dataUtils );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ConfirmMmsValidityL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUiFileRightsEngine::ConfirmMmsValidityL(
-    CArrayPtrFlat<CSendUiAttachment>* aAttachments,
-    TUid                aServiceId )
-    {
-	if ( !aAttachments )
-		{
-		return;
-		}
-    TBool removeFilePath = EFalse;
-    TInt index = 0;
-    TInt fileCount = aAttachments->Count();
-    TInt attachmentsSize = 0;
-    // MMS image size is set to original for MMS upload service,
-    // otherwise oversize images are not filtered away from array
-    if( aServiceId == KMmsDirectUpload || aServiceId == KMmsIndirectUpload )
-        {
-        // Image size setting not used since only MIME type conformance is checked.
-        iMmsConformance->SetCreationMode( ETrue );
-        }
-    if ( fileCount )
-        {
-        while ( index < fileCount)
-            {
-            
-            // Validate file for MMS
-            CSendUiAttachment& attachment = *(aAttachments->At(index));
-            removeFilePath = AnalyzeMmsValidationResultL( *(aAttachments->At(index) ), attachmentsSize );
-	  
-            if ( removeFilePath )
-                {
-                delete aAttachments->At(index);
-                aAttachments->Delete( index );
-                iValidationResults[ESenduiIndexDeleted]++;
-                fileCount--;
-                index--;
-                }
-
-            index++;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ShowDrmAndMmsInfoL
-// Shows DRM confirmation query and/or error note, if needed.
-// Returns EFalse if user cancels sending.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CSendUiFileRightsEngine::ShowDrmAndMmsInfoL( TUid aServiceId )
-    {
-    TBool showDrmQuery = EFalse;
-    TBool showErrorNotification = EFalse;
-    TUint drmQueryTextId = 0;
-    TUint noteTextId = 0;
-    TUint valueForNote = 0;
-    TFREErrorNoteType noteType = EInformationNote;
-
-    // Information query and/or error note is shown if needed
-    if ( iValidationResults[ESenduiIndexDeleted] )
-        {
-        ResolveErrorNoteL( aServiceId, noteTextId, noteType, valueForNote );
-        showErrorNotification = ETrue;
-        }
-
-    // Possible DRM query is shown only if all files are not deleted.
-    if ( iValidationResults[ESenduiIndexDeleted] <
-         iValidationResults[ESenduiIndexTotalCount] )
-        {
-        if ( iValidationResults[ESenduiIndexDrmSD] )
-            {
-            ResolveDrmQuery( aServiceId, drmQueryTextId );
-            showDrmQuery = ETrue;
-            }
-        }
-
-    // Show error note if needed
-    if ( showErrorNotification )
-        {
-        ShowErrorNotificationL( noteTextId, noteType, valueForNote );
-        }
-
-    // Show query if needed
-    if ( showDrmQuery )
-        {
-        return ShowConfirmationQueryL(
-            drmQueryTextId, R_SENDUI_DRM_FORWARDLOCKED_CONTENT_QUERY );
-        }
-
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::CalculateTotalSizeOfFiles
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CSendUiFileRightsEngine::CalculateTotalSizeOfFiles(
-    CArrayPtrFlat<CSendUiAttachment>* aAttachments,
-    TBool aLinksSupported )
-{
-	if ( !aAttachments )
-		{
-		return 0;
-		}
-    TUint totalSize = 0;
-  
-    TInt index = 0;
-    for ( index = 0; index < aAttachments->Count(); index++ )
-        {
-        CSendUiAttachment& attachment = *(aAttachments->At(index));
-        
-        if ( attachment.Type() == CSendUiAttachment::EAttachmentHandle )
-        	{
-        	totalSize += attachment.Size();
-        	}
-    	else
-    		{
-    		if ( !aLinksSupported )
-    			{
-	    		totalSize += attachment.Size();
-    			}
-    		}
-        
-        }
-    return totalSize;
-}
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ClearValidationCounters
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUiFileRightsEngine::ClearValidationCounters()
-    {
-    TInt index = 0;
-    // Go through the lists
-    for( index = 0; index < ESenduiIndexLastResult; index++ )
-        {
-        iValidationResults[index] = 0;
-        }
-
-    for( index = 0; index < ESenduiIndexLastInvalid; index++ )
-        {
-        iInvalidationReason[index] = 0;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::AnalyzeMmsValidationResult
-// -----------------------------------------------------------------------------
-// 
-TBool CSendUiFileRightsEngine::AnalyzeMmsValidationResultL( CSendUiAttachment& aAttachment, TInt& aAttachmentsSize )
-    {
-    TBool attachmentInvalid = ETrue;
-    
-    RImplInfoPtrArray implArray;
-    CleanupStack::PushL( TCleanupItem( CleanupImplArray, &implArray ) );
-    CVideoConversionPlugin::ListImplementationsL( implArray );
-    
-    if ( aAttachment.MimeType() == KMsgMimeVideoMp4 && implArray.Count() != 0 )
-        {
-        attachmentInvalid = EFalse;
-        }
-    else if ( !iMmsConformance->CreationMode() &&
-         !iMmsConformance->IsConformantMime( aAttachment.MimeType() ) )
-        {
-        // Restricted mode and non-conformant MIME
-        iInvalidationReason[ESenduiIndexMmsNotSupported]++;
-        }
-    else if ( aAttachmentsSize + aAttachment.Size() > iMmsConformance->MaxSendSize() &&
-              iMediaResolver->MediaType( aAttachment.MimeType() ) != EMsgMediaImage )
-        {
-        iInvalidationReason[ESenduiIndexMmsTooBig]++;
-        }
-    else
-        {
-        attachmentInvalid = EFalse;
-        }
-
-	if ( !attachmentInvalid
-			&& iMediaResolver->MediaType( aAttachment.MimeType() ) != EMsgMediaImage )
-	    {
-	    aAttachmentsSize += aAttachment.Size();
-	    }
-    
-    CleanupStack::PopAndDestroy( );    //implArray
-    return attachmentInvalid;
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ResolveErrorNoteL
-// -----------------------------------------------------------------------------
-//
-void CSendUiFileRightsEngine::ResolveErrorNoteL(
-    TUid                    aServiceId,
-    TUint&                  aResourceId,
-    TFREErrorNoteType&      aNoteType,
-    TUint&                  aValueForNote )
-    {
-    TInt i = 0;
-    TInt errorTypeCount = 0;
-    TUint errorType = 0;
-    TUint totalFileCount = iValidationResults[ESenduiIndexTotalCount];
-    TUint deletedFiles = iValidationResults[ESenduiIndexDeleted];
-
-    // Own notes for MMS direct upload
-    if ( aServiceId == KMmsDirectUpload )
-        {
-        ResolveMmsUploadErrorNoteL(
-            aResourceId, aNoteType, aValueForNote );
-        return;
-        }
-
-    // Count amount of different error types, if different errors exists
-    // general error note is shown.
-    for( i = 0; i < ESenduiIndexLastInvalid; i++ )
-        {
-        if ( iInvalidationReason[i] > 0 )
-            {
-            errorType = i;
-            errorTypeCount++;
-            }
-        }
-
-    if ( errorTypeCount == 0 )
-        { // Should never end up here.
-        aResourceId = R_SENDUI_MME_NONE_CANNOT_INS;
-        return;
-        }
-    else if ( errorTypeCount == 1 )
-        {  
-        switch ( errorType )
-            {
-            case ESenduiIndexDrmFLOrCCL:
-                {
-                TUint protectedFiles = iInvalidationReason[ ESenduiIndexDrmFLOrCCL ];
-
-                if ( deletedFiles < totalFileCount )
-                    { // Some files are protected
-                    aResourceId = R_SENDUI_DRM_SEND_FORBID_SOME;
-                    }
-                else
-                    { // All files are protected
-                    if ( protectedFiles == 1 )
-                        { // One protected file
-                        aResourceId = R_SENDUI_DRM_SEND_FORBID_ONE;
-                        }
-                    else
-                        { // Many protected files
-                        aResourceId = R_SENDUI_DRM_ALL_FILES_DELETED;
-                        }
-                    }
-                }            
-                break;
-            case ESenduiIndexAlreadyInUse:
-                {
-                if ( deletedFiles == totalFileCount )
-                    { // All files are in use
-                    User::Leave( KErrInUse );
-                    }
-                else
-                    { // Some files are in use
-                    aResourceId = R_SENDUI_MME_SOME_INSERTED;
-                    }
-                }
-                break;
-            case ESenduiIndexMmsTooBig:
-                {
-                if ( deletedFiles == totalFileCount )
-                    { // All files are too big
-                    aResourceId = R_SENDUI_MME_ONE_TOO_BIG;
-                    }
-                else
-                    { // Some files are too big
-                    aResourceId = R_SENDUI_MME_MANY_TOO_BIG;
-                    }
-
-                aNoteType = EConfirmationQuery;
-                aValueForNote = iMmsConformance->MaxSendSize();
-                aValueForNote /= KFREKiloByte ;
-                }
-                break;
-            case ESenduiIndexMmsNotSupported:
-                {
-                // Different notes when creation mode is locked
-                if ( iMmsConformance->CreationModeUserChangeable() &&
-                     !iMmsConformance->CreationMode() )
-                    {
-                    if ( deletedFiles == totalFileCount )
-                        { // All files are not supported
-                        aResourceId = deletedFiles > 1 ?
-                            R_SENDUI_MME_RMODE_FILES_NOT_SUPPORTED :
-                            R_SENDUI_MME_RMODE_FILE_NOT_SUPPORTED;
-                        }
-                    else
-                        { // Some files are not supported
-                        aResourceId = R_SENDUI_MME_RMODE_SOME_NOT_SUPPORTED;
-                        }
-                    }
-                else
-                    {
-                    if ( deletedFiles == totalFileCount )
-                        { // All files are not supported
-                        aResourceId = deletedFiles > 1 ?
-                            R_SENDUI_MME_FILES_NOT_SUPPORTED :
-                            R_SENDUI_MME_FILE_NOT_SUPPORTED;
-                        }
-                    else
-                        { // Some files are not supported
-                        aResourceId = R_SENDUI_MME_SOME_FILES_DELETED;
-                        }
-                    }
-                }
-                break;
-            case ESenduiIndexBadHandle:
-            default:
-                {
-                aResourceId = R_SENDUI_MME_NONE_CANNOT_INS;
-                }
-                break;
-            }
-        }
-    else // Different kind of errors exist, show general error note
-        {
-        if ( totalFileCount == deletedFiles )
-            { // Can't send any file
-            aResourceId = R_SENDUI_MME_NONE_CANNOT_INS;
-            }
-        else
-            { // Some files can be send
-            aResourceId = R_SENDUI_MME_SOME_INSERTED;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ResolveMmsUploadErrorNoteL
-// -----------------------------------------------------------------------------
-//
-void CSendUiFileRightsEngine::ResolveMmsUploadErrorNoteL(
-    TUint&                      aResourceId,
-    TFREErrorNoteType&          aNoteType,
-    TUint&                      aValueForNote )
-    {
-    TInt i = 0;
-    TInt errorTypeCount = 0;
-    TUint errorType = 0;
-    TUint totalFileCount = iValidationResults[ESenduiIndexTotalCount];
-    TUint deletedFiles = iValidationResults[ESenduiIndexDeleted];
-
-    // Count amount of different error types, if different errors exists
-    // general error note is shown.
-    for( i = 0; i < ESenduiIndexLastInvalid; i++ )
-        {
-        if ( iInvalidationReason[i] > 0 )
-            {
-            errorType = i;
-            errorTypeCount++;
-            }
-        }
-
-    if ( errorTypeCount == 0 )
-        { // Should never end up here.
-        return;
-        }
-    else if ( errorTypeCount == 1 )
-        {  
-        switch ( errorType )
-            {
-            case ESenduiIndexDrmFLOrCCL:
-                {
-                TUint protectedFiles = iInvalidationReason[ ESenduiIndexDrmFLOrCCL ];
-
-                if ( deletedFiles < totalFileCount )
-                    { // Some files are protected
-                    aResourceId = R_SENDUI_DRM_SEND_FORBID_SOME;
-                    }
-                else
-                    { // All files are protected
-                    if ( protectedFiles == 1 )
-                        { // One protected file
-                        aResourceId = R_SENDUI_DRM_SEND_FORBID_ONE;
-                        }
-                    else
-                        { // Many protected files
-                        aResourceId = R_SENDUI_DRM_ALL_FILES_DELETED;
-                        }
-                    }
-                }
-                break;
-            case ESenduiIndexAlreadyInUse:
-                {
-                if ( deletedFiles == totalFileCount )
-                    { // All files are in use
-                    User::Leave( KErrInUse );
-                    }
-                else
-                    { // Some files are in use
-                    aResourceId = R_SENDUI_MMS_UPLOAD_SOME_FILES_DELETED;
-                    }
-                }
-                break;
-            case ESenduiIndexMmsTooBig:
-                {
-                aResourceId = deletedFiles > 1 ?
-                    R_SENDUI_MMS_UPLOAD_MANY_TOO_BIG : 
-                    R_SENDUI_MMS_UPLOAD_ONE_TOO_BIG;
-
-                aNoteType = EConfirmationQuery;
-                aValueForNote = iMmsConformance->MaxSendSize();
-                aValueForNote /= KFREKiloByte ;
-                }
-                break;
-            case ESenduiIndexMmsNotSupported:
-            default:
-                {
-                if ( deletedFiles == totalFileCount )
-                    { // All files are not supported
-                    aResourceId = deletedFiles > 1 ?
-                        R_SENDUI_MMS_UPLOAD_FILES_NOT_SUPPORTED :
-                        R_SENDUI_MMS_UPLOAD_FILE_NOT_SUPPORTED;
-                    }
-                else
-                    { // Some files are not supported
-                    aResourceId = R_SENDUI_MMS_UPLOAD_SOME_FILES_DELETED;
-                    }
-                }
-                break;
-            }
-        }
-    else // Different kind of errors exist, show general error note
-        {
-        if ( totalFileCount == deletedFiles )
-            { // Can't send any file
-            aResourceId = R_SENDUI_MMS_UPLOAD_NONE_CANNOT_INS;
-            }
-        else
-            { // Some files can be send
-            aResourceId = R_SENDUI_MMS_UPLOAD_SOME_INSERTED;
-            }
-        }   
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ResolveDrmQuery
-// -----------------------------------------------------------------------------
-//
-void CSendUiFileRightsEngine::ResolveDrmQuery(
-    TUid        aServiceId,
-    TUint&      aResourceId )
-    {
-    TUint totalFileCount = iValidationResults[ESenduiIndexTotalCount];
-    TUint drmProtectedFiles = iInvalidationReason[ ESenduiIndexDrmFLOrCCL ];
-    TUint drmSdFiles = iValidationResults[ ESenduiIndexDrmSD ];
-    TUint unprotectedFiles = totalFileCount - drmProtectedFiles - drmSdFiles;
-    
-    if ( unprotectedFiles > 0 )
-        { // Some DRM SD protected files and unprotected files
-        // Different query for direct MMS upload service
-        if ( aServiceId == KMmsDirectUpload )
-            {
-            aResourceId = R_SENDUI_MMS_UPLOAD_DRM_SOME_SD;
-            }
-        else
-            {
-            aResourceId = R_SENDUI_DRM_SEVERAL_DISTRUTABLE;
-            }
-        }
-    else
-        { // Only DRM protected files
-        // Different query for direct MMS upload service
-        if ( aServiceId == KMmsDirectUpload || 
-             aServiceId == KMmsIndirectUpload )
-            {
-            aResourceId = drmSdFiles > 1 ? 
-                R_SENDUI_MMS_UPLOAD_DRM_MANY_SD : 
-                R_SENDUI_MMS_UPLOAD_DRM_ONE_SD;
-            }
-        else
-            {
-            aResourceId = drmSdFiles > 1 ? 
-                R_SENDUI_DRM_MANY_SD_ITEMS : 
-                R_SENDUI_DRM_SINGLE_DISTRUTABLE;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ShowErrorNotificationL
-// -----------------------------------------------------------------------------
-//
-void CSendUiFileRightsEngine::ShowErrorNotificationL(
-    TUint                   aResourceId,
-    TFREErrorNoteType       aErrorNoteType, 
-    TUint                   aValueForNote ) const
-    {
-    switch ( aErrorNoteType )
-        {
-        case EErrorNote:
-            {
-            ShowErrorNoteL( aResourceId );
-            break;
-            }
-        case EInformationNote:
-            {
-            ShowInformationNoteL( aResourceId );
-            break;
-            }
-        case EConfirmationQuery:
-            {
-            ShowConfirmationQueryL(
-                aResourceId,
-                R_SENDUI_CONFIRMABLE_INFO,
-                aValueForNote );
-            break;
-            }
-        default: // Shouldn't end up here
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ShowErrorNoteL
-// -----------------------------------------------------------------------------
-//
-void CSendUiFileRightsEngine::ShowErrorNoteL( TUint aTextResourceId ) const
-    {
-    // Get text to be shown
-    HBufC* text = StringLoader::LoadLC( aTextResourceId );
-
-    // Create the note and show it
-    CAknErrorNote* note = new (ELeave) CAknErrorNote(ETrue);
-    note->ExecuteLD( text->Des() );
-
-    CleanupStack::PopAndDestroy( text ); // text
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ShowConfirmationQueryL
-// -----------------------------------------------------------------------------
-//
-TBool CSendUiFileRightsEngine::ShowConfirmationQueryL( 
-    TUint    aTextResourceId,
-    TUint    aNoteResourceId,
-    TUint    aValueForNote ) const
-    {
-    HBufC* text = NULL;
-    
-    if ( aValueForNote == 0 )
-        {
-        text = StringLoader::LoadLC( aTextResourceId );
-        }
-    else
-        {
-        text = StringLoader::LoadLC( aTextResourceId, aValueForNote );
-        }
-
-    CAknQueryDialog* dlg = CAknQueryDialog::NewL();
-
-    TInt result = dlg->ExecuteLD( aNoteResourceId, *text );
-    
-    CleanupStack::PopAndDestroy( text );
-
-    // ETrue, if Yes or Selection key were pressed
-    // Otherwise EFalse
-    return result; 
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ShowInformationNoteL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUiFileRightsEngine::ShowInformationNoteL(
-    TUint aTextResourceId ) const
-    {
-    // Get text to be shown
-    HBufC* text = StringLoader::LoadLC( aTextResourceId );
-
-    // Create the note and show it
-    CAknInformationNote* note = new (ELeave) CAknInformationNote( ETrue );
-    note->ExecuteLD( text->Des() );    
-
-    CleanupStack::PopAndDestroy( text ); // text
-    }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::CleanupImplArray
-// -----------------------------------------------------------------------------
-//
-void CSendUiFileRightsEngine::CleanupImplArray( TAny* aAny )
-    {
-    RImplInfoPtrArray* implArray = 
-        reinterpret_cast<RImplInfoPtrArray*>( aAny );
-    implArray->ResetAndDestroy();
-    implArray->Close();
-    }
-
-
-//  End of File