messagingapp/msgutils/unidatamodel/unimmsdataplugin/inc/UniObjectList.h
changeset 25 84d9eb65b26f
parent 23 238255e8b033
child 27 e4592d119491
child 37 518b245aa84c
child 79 2981cb3aa489
--- a/messagingapp/msgutils/unidatamodel/unimmsdataplugin/inc/UniObjectList.h	Fri Apr 16 14:56:15 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,289 +0,0 @@
-/*
-* Copyright (c) 2005 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: 
-*       CUniObjectList, List of attachments.
-*
-*
-*/
-
-
-#ifndef __UNIOBJECTLIST_H
-#define __UNIOBJECTLIST_H
-
-// INCLUDES
-
-#include <e32std.h>
-#include <f32file.h>
-#include <apmstd.h>
-
-#include <cmsvattachment.h>
-#include <UniObject.h>
-
-
-// CONSTANTS
-
-// MACROS
-
-// FORWARD DECLARATIONS
-class CUniDataUtils;
-class CMDXMLDocument;
-class CMDXMLNode;
-class CUniObjectList;
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// CLASS DECLARATION
-
-/**
-* MUniObjectListObserver - Callback API for object list operations.
-*
-* @since 3.1
-*/
-class MUniObjectListObserver
-    {
-    public:
-
-        /**
-        * Called when object is added to the list.
-        *
-        * @since 3.1
-        * @param aList IN List where object is added.
-        * @param aObject IN Added object.
-        * @param aIndex IN Index number of added object.
-        */
-        virtual void ObjectAddedL( CUniObjectList* aList,
-                                   CUniObject* aObject,
-                                   TInt aIndex ) = 0;
-
-        /**
-        * Called when object is removed from the list.
-        *
-        * @since 3.1
-        * @param aList IN List where object is added.
-        * @param aObject IN Removed object.
-        * @param aIndex IN Index number of removed object.
-        */
-        virtual void ObjectRemovedL( CUniObjectList* aList,
-                                     CUniObject* aObject,
-                                     TInt aIndex ) = 0;
-    };
-
-/**
-* CUniObjectList - List of attachments.
-*
-* @lib UniDataModel.lib
-* @since 3.1
-*/
-class CUniObjectList : public CBase,
-                       public MUniObjectSaveObserver
-    {
-
-    public:  // New methods
-
-        /**
-        * Factory method that creates this object.
-        *
-        * @since    3.1
-        * @param    aMtm    IN reference to client mtm
-        * @param    aData   IN reference to MsgData object
-        * @return   Pointer to instance
-        */
-        static CUniObjectList* NewL( CBaseMtm& aMtm, CUniDataUtils& aData );
-
-        /**
-        * Destructor
-        *
-        * @since    3.1
-        */
-        virtual ~CUniObjectList();
-
-        /**
-        * AddObjectL
-        * Appends object to object array.
-        *
-        * @since    3.1
-        * @param    aObject     IN object to be added
-        */
-        void AddObjectL( CUniObject* aObject );
-
-        /**
-        * SpaceNeededForSaveAll
-        * Calculates disk space needed to save all objects
-        * that are not yet saved into message store.
-        *
-        * @since    3.1
-        * @return   Disk space needed in bytes
-        */
-        TInt SpaceNeededForSaveAll();
-
-        /**
-        * SaveAll
-        * Calls SaveL for each object in the object array
-        *
-        * @since    3.1
-        * @param    aObserver   IN operation observer
-        * @param    aSaveType   IN save type
-        */
-        void SaveAll( MUniObjectSaveObserver& aObserver, CMsvAttachment::TMsvAttachmentType aSaveType );
-
-        /**
-        * RemoveAllObjectsL
-        * Removes all objects from message store and object
-        * array. Deletes all objects.
-        *
-        * @since    3.1
-        */
-        void RemoveAllObjectsL();
-
-        /**
-        * RemoveObjectL
-        * Removes an object from object array and also from
-        * message store if requested.
-        * The caller must delete the object!!!
-        *
-        * @since    3.1
-        * @param    aObject IN object to be removed
-        * @param    aRemoveFromStore    IN if EFalse remove only from object array,
-        *                               if ETrue remove also from message store
-        */
-        void RemoveObjectL( CUniObject* aObject, TBool aRemoveFromStore = ETrue );
-
-        /**
-        * GetByIndex
-        * Get object by index
-        *
-        * @since    3.1
-        * @param    aIndex  IN index
-        * @return   Pointer to object
-        */
-        CUniObject* GetByIndex( TInt aIndex );
-
-        /**
-        * GetByAttachmentId
-        * Get object by attachment id
-        *
-        * @since    3.1
-        * @param    aAttachmentId   IN attachment id
-        * @return   Pointer to object
-        */
-        CUniObject* GetByAttachmentId( TMsvAttachmentId aAttachmentId );
-
-        /**
-        * GetByNode
-        * Get object by DOM node
-        *
-        * @since    3.1
-        * @param    aNode   IN DOM node
-        * @return   Pointer to object
-        */
-        CUniObject* GetByNodeL( CMDXMLNode* aNode );
-
-        /**
-        * GetByUrl
-        * Get object by URL
-        *
-        * @since    3.1
-        * @param    aUrl    IN URL
-        * @return   Pointer to object
-        */
-        CUniObject* GetByUrlL( const TDesC& aUrl );
-
-        /**
-        * ObjectByteSize
-        * Calculate size of all the objects in bytes
-        *
-        * @since    3.1
-        * @return   Size in bytes
-        */
-        TInt ObjectByteSize() const;
-
-        /**
-        * EnsureAllObjectsHaveContentLocationL
-        * Makes sure that all objects have ContentLocation
-        * MIME header defined. All objects must have ContentLocation
-        * when SMIL is composed.
-        *
-        * @since    3.1
-        */
-        void EnsureAllObjectsHaveContentLocationL();
-
-        /**
-        * SetListObserver
-        * Sets observer to the list that changes to list are notified.
-        *
-        * @since    3.1
-        * @param aObserver IN New object list observer. Setting observer
-        *                     to NULL resets observer.
-        */
-        void SetListObserver( MUniObjectListObserver* aObserver );
-
-        /**
-        * Returns object based on unique handle.
-        *
-        * @param  aUniqueControlHandle Control handle that uniquely identified the control
-        * @return Pointer to matched uniobject or NULL if not found.
-        */
-        CUniObject* GetObjectByUniqueHandle( TInt aUniqueControlHandle );
-
-        /**
-        * Count
-        *
-        * @since    3.1
-        * @return   Number of objects
-        */
-        inline TInt Count() const;
-
-    public:
-
-        /**
-        * From MUniObjectSaveObserver
-        */
-        void ObjectSaveReady( TInt aError );
-
-    protected:
-
-        /**
-        * Constructor.
-        *
-        * @since    3.1
-        * @param    aMtm    IN reference to client mtm
-        * @param    aData   IN reference to MsgData object
-        */
-        CUniObjectList( CBaseMtm& aMtm, CUniDataUtils& aData );
-
-        /**
-        * 2nd phase constructor.
-        *
-        * @since    3.1
-        */
-        void ConstructL();
-
-    protected: // data
-
-        CArrayPtrFlat<CUniObject>* iObjectArray;
-        CUniDataUtils& iData;
-        CBaseMtm& iMtm;
-
-        MUniObjectSaveObserver* iSaveObserver;
-        CMsvAttachment::TMsvAttachmentType iSaveType;
-        TInt iSaveCount;
-
-        MUniObjectListObserver* iListObserver;
-    };
-
-#include <UniObjectList.inl>
-
-#endif // __UNIOBJECTLIST_H