--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/msg_plat/messaging_editor_api/inc/MsgAttachmentInfo.h Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,312 @@
+/*
+* Copyright (c) 2002-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: MsgAttachmentInfo declaration
+*
+*/
+
+
+
+#ifndef CMSGATTACHMENTINFO_H
+#define CMSGATTACHMENTINFO_H
+
+// ========== INCLUDE FILES ================================
+
+#include <apmstd.h>
+#include <msvstd.h>
+
+#include <cmsvattachment.h>
+
+// ========== CONSTANTS ====================================
+
+// Farsi takes 14 bytes when attachment has > 1000 bytes
+const TInt KMsgAttaSizeStringLength = 32;
+
+// ========== MACROS =======================================
+
+// ========== DATA TYPES ===================================
+
+// ========== FUNCTION PROTOTYPES ==========================
+
+// ========== FORWARD DECLARATIONS =========================
+
+class CGulIcon;
+class CMsgAttachmentModel;
+
+// ========== CLASS DECLARATION ============================
+
+/**
+* Attachment information node.
+*/
+class CMsgAttachmentInfo : public CBase
+ {
+ public:
+
+ enum TDRMDataType
+ {
+ ENoLimitations = 0,
+ EForwardLockedOrCombinedDelivery,
+ ESeparateDeliveryValidRights,
+ ECombinedDeliveryInvalidRights,
+ ESeparateDeliveryInvalidRights
+ };
+
+ /**
+ * Factory method that creates this object.
+ * @param aAttachmentModel
+ * @param aFileName
+ * @param aSize
+ * @param aFetched
+ * @param aAttachedThisSession
+ * @param aAttachmentId
+ * @param aDataType
+ * @param aDRMDataType
+ * @return
+ */
+ static CMsgAttachmentInfo* NewL( CMsgAttachmentModel& aAttachmentModel,
+ const TFileName& aFileName,
+ TInt aSize,
+ TBool Fetched,
+ TBool aAttachedThisSession,
+ TMsvAttachmentId aAttachmentId,
+ const TDataType& aDataType,
+ TDRMDataType aDRMDataType );
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C ~CMsgAttachmentInfo();
+
+ /**
+ * Returns reference to the filename this attachment represents.
+ * @return
+ */
+ IMPORT_C const TFileName& FileName() const;
+
+ /**
+ * Set the filename of this attachment.
+ * @param aFileName
+ */
+ IMPORT_C void SetFileName( const TFileName& aFileName );
+
+ /**
+ * Returns the size of this attachment.
+ * @return
+ */
+ IMPORT_C TInt Size() const;
+
+ /**
+ * Returns the size of this attachment as a string.
+ * @return
+ */
+ IMPORT_C TBuf<KMsgAttaSizeStringLength> SizeString() const;
+
+ /**
+ * Returns the id of this attachment.
+ * @return
+ */
+ IMPORT_C TMsvAttachmentId AttachmentId() const;
+
+ /**
+ * Sets the id of this attachment.
+ * @param aId
+ */
+ IMPORT_C void SetAttachmentId( TMsvAttachmentId aId );
+
+ /**
+ * Returns ETrue if this attachment is fetched.
+ * @return
+ */
+ IMPORT_C TBool IsFetched() const;
+
+ /**
+ * Sets the fetched attribute of this attachment.
+ * @param aFetched
+ */
+ IMPORT_C void SetFetched( TBool aFetched );
+
+ /**
+ * Returns the datatype (MIME type) of this attachment.
+ * @return
+ */
+ IMPORT_C const TDataType& DataType() const;
+
+ /**
+ * Sets the datatype (MIME type) of this attachment.
+ * @param aDataType
+ */
+ IMPORT_C void SetDataType( const TDataType& aDataType );
+
+ /**
+ * Returns ETrue if this attachment was attached in this session.
+ * @return
+ */
+ IMPORT_C TBool IsAttachedThisSession() const;
+
+ /**
+ * Sets flag which tells if this attachment is attached in this session.
+ * @param aFlag
+ */
+ IMPORT_C void SetAttachedThisSession( TBool aFlag );
+
+ /**
+ * Returns supported flag.
+ * @return
+ */
+ IMPORT_C TBool IsSupported() const;
+
+ /**
+ * Sets supported flag.
+ * @param aFlag
+ */
+ IMPORT_C void SetSupported( TBool aFlag );
+
+ /**
+ * Get icon of this attachment.
+ * @return
+ */
+ IMPORT_C CGulIcon* Icon() const;
+
+ /**
+ * Sets flag if separator line must be drawn before this attachment
+ * in attachment view.
+ * @param aFlag
+ */
+ IMPORT_C void SetSeparator( TBool aFlag );
+
+ /**
+ * Return separator flag.
+ * @return
+ */
+ IMPORT_C TBool IsSeparator() const;
+
+ /**
+ * Sets the DRM (digital rights management) status of this attachment.
+ * @return aDRMDataType
+ */
+ IMPORT_C void SetDRMDataType( TDRMDataType aDRMDataType );
+
+ /**
+ * Returns the DRM (digital rights management) status of this attachment.
+ * @return
+ */
+ IMPORT_C TInt DRMDataType() const;
+
+ /**
+ * Saves status whether this attachment has been saved into file system
+ * @param aSaved ETrue attachment has been saved
+ * EFalse attachment has not been saved
+ */
+ IMPORT_C void SetSaved( TBool aSaved );
+
+ /**
+ * Returns status information whether this attachment has been saved into file system
+ * @param aSaved ETrue attachment has been saved
+ * EFalse attachment has not been saved
+ */
+ IMPORT_C TBool IsSaved() const;
+
+ /**
+ * Sets character set for text attachment.
+ * @param aSaved ETrue attachment has been saved
+ * EFalse attachment has not been saved
+ */
+ inline void SetCharacterSet( TInt aCharConvCharSet );
+
+ /**
+ * Returns character set of text attachment.
+ * @return character set
+ */
+ inline TInt CharacterSet() const;
+
+ /**
+ * Sets attachment empty ( i.e. no content is connected to the attachment ).
+ * @param aSaved ETrue attachment has been saved
+ * EFalse attachment has not been saved
+ */
+ inline void SetEmptyAttachment( TBool aValue );
+
+ /**
+ * Returns whether attachment is empty.
+ * @return
+ */
+ inline TBool IsEmptyAttachment();
+
+ protected:
+
+ /**
+ * Constructor.
+ * @param aAttachmentModel
+ * @param aFileName
+ * @param aSize
+ * @param aFetched
+ * @param aAttachedThisSession
+ */
+ IMPORT_C CMsgAttachmentInfo( CMsgAttachmentModel& aAttachmentModel,
+ const TFileName& aFileName,
+ TInt aSize,
+ TBool aFetched,
+ TBool aAttachedThisSession);
+
+ /**
+ * 2nd phase constructor.
+ * @param aDataType
+ * @param aDRMDataType
+ */
+ IMPORT_C void ConstructL( const TDataType& aDataType,
+ TDRMDataType aDRMDataType );
+
+ public:
+
+ /**
+ * Updates size and icon.
+ */
+ void ChangeSizeAndIconL();
+
+ private:
+
+ /**
+ * Performs icon updating.
+ */
+ void DoUpdateIconL();
+
+ private:
+
+ enum TAttachmentInfoFlags
+ {
+ EAttachmentNoFlagsSet = 0x00000000,
+ EAttachmentFetched = 0x00000001,
+ EAttachedThisSession = 0x00000002,
+ EAttachmentSupported = 0x00000004,
+ ESeparatorBefore = 0x00000008,
+ EAttachmentSaved = 0x00000010,
+ EEmptyAttachment = 0x00000020
+ };
+
+ CMsgAttachmentModel& iAttachmentModel;
+ TFileName iFileName;
+ TInt iSize;
+ TMsvAttachmentId iAttachmentId;
+ TDataType iDataType;
+ TDRMDataType iDRMDataType;
+ TBuf<KMsgAttaSizeStringLength> iSizeString;
+ CGulIcon* iIcon;
+ TInt iCharset;
+ TInt iAttachmentFlags;
+ };
+
+#include "MsgAttachmentInfo.inl"
+
+#endif // CMSGATTACHMENTINFO_H
+
+// End of File