msgfw_plat/send_ui_datautils_api/inc/SendUiFileRightsEngine.h
branchRCL_3
changeset 22 d2c4c66342f3
parent 21 e5b3a2155e1a
child 23 d51193d814ea
--- a/msgfw_plat/send_ui_datautils_api/inc/SendUiFileRightsEngine.h	Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,307 +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.
-*
-*/
-
-
-
-
-#ifndef SENDUIFILERIGHTSENGINE_H
-#define SENDUIFILERIGHTSENGINE_H
-
-//  INCLUDES
-#include    <e32base.h>
-#include    <f32file.h>            // FileSession
-#include    <badesca.h>
-
-
-// DATA TYPES
-enum TFREErrorNoteType
-    {
-    EErrorNote = 0,
-    EInformationNote,
-    EConfirmationQuery
-    };
-            
-// FORWARD DECLARATIONS
-class CMsgMediaResolver;
-class CMmsConformance;
-class CFileProtectionResolver;
-class CSendUiAttachment;
-// CLASS DECLARATION
-
-/**
-* Provides functionality for DRM file protection analyzing
-* and content MMS compatibility resolving.
-*
-*  @lib SenduiDataUtils.lib
-*  @since Series 60 3.0
-*/
-NONSHARABLE_CLASS (CSendUiFileRightsEngine) : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C static CSendUiFileRightsEngine* NewL( RFs& aFs );
-
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C static CSendUiFileRightsEngine* NewLC( RFs& aFs );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CSendUiFileRightsEngine();
-
-    public: // New functions
-
-        /**
-        * ValidateFiles
-        *
-        * This functions stores file sizes for all validated files.
-        *
-        * @since S60 3.0
-        * @param aAttachments Attachents to be validated.
-        *        Return value contains valid attachments,
-        *        invalid attachments are filtered away from array.
-        * @return None.
-        */
-        IMPORT_C void ValidateFiles( CArrayPtrFlat<CSendUiAttachment>* aAttachments );
-
-        /**
-        * Confirms DRM rights of files
-        *
-        * Note: files must be validated before DRM analyze. This functions also 
-        * stores mimetypes of files for later use. Mimetypes are stored into
-        * the given array.
-        *
-        * @since S60 3.0
-        * @param aAttachments Attachments (Path and handle) to be validated.
-        *        Return value contains valid attachments,
-        *        invalid attachments are filtered away from array.
-        * @return None.
-        */
-        IMPORT_C void ConfirmDrmFileRightsL( CArrayPtrFlat<CSendUiAttachment>* aAttachments );
-        
-        /**
-        * Validates files for sending via MMS
-        *
-        * Note: files must be validated before MMS validation.
-        *
-        * @since S60 3.0
-        * @param aAttachments Attachments to be validated.
-        *        Return value contains valid attachments,
-        *        invalid attachments are filtered away from array.
-        * @param aServiceId Identifies the type of MMS service (MMS/MMS upload..)
-        * @return None.
-        */
-
-        IMPORT_C void ConfirmMmsValidityL( CArrayPtrFlat<CSendUiAttachment>* aAttachments, TUid aServiceId = KNullUid );
-        
-        /**
-        * Shows DRM confirmation query and/or error note, if needed.
-        * Returns EFalse if user cancels sending.
-        * @since S60 v.3.0
-        * @param aServiceId Different services get different notes.
-        * @return EFalse if user cancels sending, otherwise ETrue.
-        */
-        IMPORT_C TBool ShowDrmAndMmsInfoL( TUid aServiceId = KNullUid );
-
-        /**
-        * CalculateTotalSizeOfFiles
-        *
-        * File sizes saved by ValidateFiles are used. If cached file sizes 
-        * do not exist, then file sizes are solved.
-        *
-        * @aAttachments Attachments
-        * @aLinksSupported If ETrue, then only attachments type of file handles are calculated
-        *                  total size of files. Otherwise filesize of all attachments is returned.
-        * @return Size of files in aAttachments 
-        */
-        IMPORT_C TInt CalculateTotalSizeOfFiles(
-            CArrayPtrFlat<CSendUiAttachment>* aAttachments,
-            TBool aLinksSupported );
-
-        /**
-        * Clears all validation counter
-        *
-        * @since S60 v3.0
-        * @return None.
-        */
-        IMPORT_C void ClearValidationCounters();
-
-       /**
-        * Shows an information note
-        * @since S60 v.3.0
-        * @param aTextResourceId Resource id of the note
-        * @return None.
-        */
-        IMPORT_C void ShowInformationNoteL( TUint aTextResourceId ) const;
-        
-         /**
-        * Cleanup ECOM Implementation info array
-        * @param aAny The array
-        * @return None.
-        */
-        static void CleanupImplArray( TAny* aAny );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CSendUiFileRightsEngine( RFs& aFS );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:    // New functions
-
-        /**
-        * Validates that the given file usable
-        *
-        * @since S60 v3.0
-        * @param aFileName file path
-        * @param aFileSize file size
-        * @return ETrue, if the file can be opened for reading. Otherwise EFalse
-        */
-        TBool ValidateFile( const TDesC& aFileName, TInt& aFileSize );
-
-        /**
-        * AnalyzeMmsValidationResult
-        * @since S60 v.3.0
-        * @param aAttachment Attachment to be analyzed
-        * @return ETrue, if attachment is valid. Otherwise EFalse.
-        */
-        TBool AnalyzeMmsValidationResultL( CSendUiAttachment& aAttachment, TInt& aAttachmentsSize );
-
-        /**
-        * Resolves a proper DRM query for the given service
-        * @since S60 v.3.0
-        * @param aServiceId Service Uid
-        * @param aResourceId Id for a proper query in resources.
-        * @return None.
-        */
-        void ResolveDrmQuery( TUid aServiceId, TUint& aResourceId );
-
-        /**
-        * Resolves a proper error note for the given service
-        * @since S60 v.3.0
-        * @param aServiceId Service Uid
-        * @param aResourceId Id for a proper note in resources.
-        * @param aNoteType Type of the note (query/info)
-        * @param aValueForNote Value for the variable in the note
-        * @return None.
-        */
-        void ResolveErrorNoteL( 
-            TUid aServiceId,
-            TUint& aResourceId,
-            TFREErrorNoteType& aNoteType,
-            TUint& aValueForNote );
-
-        /**
-        * Resolves a proper error note for the MMS Upload services
-        * @since S60 v.3.0
-        * @param aResourceId Id for a proper note in resources.
-        * @param aNoteType Type of the note (query/info)
-        * @param aValueForNote Value for the variable in the note
-        * @return None.
-        */
-        void ResolveMmsUploadErrorNoteL(
-            TUint& aResourceId, 
-            TFREErrorNoteType& aNoteType,
-            TUint& aValueForNote );
-
-        /**
-        * Resolves a proper note
-        * @since S60 v.3.0
-        * @param aResourceId Id for a proper note in resources.
-        * @param aNoteType Type of the note
-        * @param aValueForNote Value for the variable in the note
-        * @return None.
-        */
-        void ShowErrorNotificationL(
-            TUint aResourceId,
-            TFREErrorNoteType aNoteType,
-            TUint aValueForNote ) const;
-
-        /**
-        * Shows an error note
-        * @since S60 v.3.0
-        * @param aTextResourceId Resource id of the note
-        * @return None.
-        */
-        void ShowErrorNoteL( TUint aTextResourceId ) const;
-
-        /**
-        * Shows a confirmation query
-        * @since S60 v.3.0
-        * @param aTextResourceId Text id for the note
-        * @param aNoteResourceId Resource id for the note
-        * @param aValueForNote Variable value for the note
-        * @return None.
-        */
-        TBool ShowConfirmationQueryL(
-            TUint aTextResourceId,
-            TUint aNoteResourceId,
-            TUint aValueForNote = NULL ) const;
-
-   
-    private:    // Data     
-
-        // Validation results.
-        enum TFREValidationResults
-            {
-            ESenduiIndexTotalCount = 0,
-            ESenduiIndexDeleted,
-            ESenduiIndexDrmSD,          // SuperDistributable
-            ESenduiIndexLastResult
-            };
-
-        // Reasons for invalidation.
-        enum TFREInvalidTypes
-            {
-            ESenduiIndexDrmFLOrCCL = 0,
-            ESenduiIndexAlreadyInUse,
-            ESenduiIndexMmsTooBig,
-            ESenduiIndexMmsNotSupported,
-            ESenduiIndexBadHandle,
-            ESenduiIndexLastInvalid
-            };
-
-        // File protection resolver. Owned.
-        CFileProtectionResolver*    iProtectionResolver;
-
-        CMsgMediaResolver*      iMediaResolver;
-        CMmsConformance*        iMmsConformance;
-
-        // File session.
-        RFs                     iFileSession;
-
-        // Results of file validations, DRM analyses and MMS validations.
-        TUint                   iValidationResults[ESenduiIndexLastResult];
-
-        TUint                   iInvalidationReason[ESenduiIndexLastInvalid];
-    };
-
-#endif      // SENDUIFILERIGHTSENGINE_H   
-
-// End of File