mobilemessaging/unieditor/utils/inc/UniObjectsInfo.h
changeset 0 72b543305e3a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mobilemessaging/unieditor/utils/inc/UniObjectsInfo.h	Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,207 @@
+/*
+* 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:   Object info derived from attachment info.
+*
+*/
+
+
+
+#ifndef C_UNIOBJECTINFO_H
+#define C_UNIOBJECTINFO_H
+
+// ========== INCLUDE FILES ================================
+
+#include <MsgAttachmentInfo.h>
+#include <MsgAttachmentUtils.h>
+
+// ========== CONSTANTS ====================================
+
+// ========== MACROS =======================================
+
+// ========== FUNCTION PROTOTYPES ==========================
+
+// ========== FORWARD DECLARATIONS =========================
+class CUniObject;
+
+// ========== DATA TYPES ===================================
+
+// ========== CLASS DECLARATION ============================
+
+/**
+*  Object info class derived from attachment info.
+*
+*  @lib UniUtils.lib
+*
+*  @since S60 3.2
+*/
+NONSHARABLE_CLASS( CUniObjectsInfo ) : public CMsgAttachmentInfo
+    {
+    public:
+
+        enum TUniObjectsInfoFlags
+            {
+            EMmsSlide     = 0x0001
+            };
+
+        /**
+        * Factory method that creates this object.
+        *
+        * @since S60 3.2
+        *
+        * @param aAttachmentModel Reference to attachment model.
+        * @param aObject Object to which info is related.
+        * @param aDRMType DRM type of the object
+        * @param aAttachmentObject ETrue if attachment object, otherwise EFalse.
+        * @param aSlideNumber Slide number where object is located.
+        *
+        * @return New instance
+        */
+        static CUniObjectsInfo* NewLC(
+            CMsgAttachmentModel& aAttachmentModel,
+            CUniObject& aObject,
+            TInt aDRMType,
+            TBool aAttachmentObject,
+            TInt aSlideNumber );
+
+        /**
+        * Factory method that creates this object for empty slide.
+        *
+        * @since S60 3.2
+        *
+        * @param aAttachmentModel Reference to attachment model.
+        * @param aEmptySlideName Name string of the empty slide
+        *
+        * @return New instance
+        */
+        static CUniObjectsInfo* NewEmptySlideLC(
+            CMsgAttachmentModel& aAttachmentModel,
+            const TDesC& aEmptySlideName );
+        
+        /**
+        * Destructor
+        *
+        * @since S60 3.2
+        *
+        */
+        virtual ~CUniObjectsInfo();
+        
+        /**
+        * Sets type of this object.
+        *
+        * @since S60 3.2
+        *
+        * @param aType New type
+        */
+        inline void SetType( MsgAttachmentUtils::TMsgAttachmentFetchType aType );
+
+        /**
+        * Returns type of this object.
+        *
+        * @since S60 3.2
+        *
+        * @return object type
+        */
+        inline MsgAttachmentUtils::TMsgAttachmentFetchType Type() const;
+
+        /**
+        * Returns current flags.
+        *
+        * @since S60 3.2
+        *
+        * @return iFlags
+        */
+        inline TUint32 Flags() const;
+
+        /**
+        * Sets flags.
+        *
+        * @since S60 3.2
+        *
+        * @param aFlags New flags
+        */
+        inline void SetFlags( TUint32 aFlags );
+
+        /**
+        * Get pointer to a related object
+        *
+        * @since S60 3.2
+        */
+        inline CUniObject* Object() const;
+        
+        /**
+        * Indicates whether object is attachment.
+        *
+        * @since S60 3.2
+        *
+        * @return ETrue     if object is attachment
+        *         EFalse    otherwise
+        */
+        inline TBool AttachmentObject() const;
+        
+        /**
+        * Returns the slide number where object is located.
+        *
+        * @since S60 3.2
+        *
+        * @return Slide number on MMS SMIL.
+        */
+        inline TInt SlideNumber() const;
+
+    protected:
+
+        /**
+        * C++ constructor.
+        *
+        * @since S60 3.2
+        *
+        * @param aAttachmentModel Reference to attachment model.
+        * @param aObject Object to which info is related.
+        * @param aAttachmentObject ETrue if attachment object, otherwise EFalse.
+        * @param aSlideNumber Slide number where object is located.
+        */
+        CUniObjectsInfo( CMsgAttachmentModel& aAttachmentModel,
+                         CUniObject& aObject,
+                         TBool aAttachmentObject,
+                         TInt aSlideNumber );
+
+        /**
+        * Constructor (for empty slide).
+        *        
+        * @since S60 3.2
+        *
+        * @param aAttachmentModel Reference to attachment model.
+        * @param aEmptySlideName Name string of the empty slide
+        */
+        CUniObjectsInfo( CMsgAttachmentModel& aAttachmentModel,
+                         const TDesC& aEmptySlideName );
+
+        /**
+        * Symbian OS constructor.
+        */
+        void ConstructL( TInt aDRMType );
+
+    private:
+
+        MsgAttachmentUtils::TMsgAttachmentFetchType iType;
+        TUint32 iFlags;
+        CUniObject* iObject;
+        TBool iAttachmentObject;
+        TInt iSlideNumber;
+    };
+
+#include <uniobjectsinfo.inl>
+
+#endif // C_UNIOBJECTINFO_H
+
+// End of File