uiservicetab/vimpstcmdprocess/inc/cvimpstprocessarrayitem.h
branchRCL_3
changeset 22 3104fc151679
parent 21 2b7283837edb
child 23 9a48e301e94b
--- a/uiservicetab/vimpstcmdprocess/inc/cvimpstprocessarrayitem.h	Thu Aug 19 09:41:53 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1000 +0,0 @@
-/*
-* Copyright (c) 2008 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:  CVIMPSTProcessContactItem, CVIMPSTProcessContactListItem, CVIMPSTProcessOwnDataItem, 
-*				 CVIMPSTProcessConversationItem
-*                are the different types of array items stored in the MCAMainViewArrayPC
-*
-*/
-
-
-
-#ifndef CVIMPSTPROCESSARRAYITEM_H
-#define CVIMPSTPROCESSARRAYITEM_H
-#include <e32base.h>
-
-#include "tvimpstenums.h"
-#include "cvimpstprocessarray.h"
-//  FORWARD DECLARATION
-class MVPbkContactLink;
-
-// CLASS DECLARATION
-
-/**
-* Base class for cimcontactitem, cimcontactlistitem, cimowndataitem
-* to be stored into an array of <CCAArrayItemPC> on the process component side.
-* The UI components will query for each item in this heterogeneous array to display 
-* information like contactlist, contact, conversation, groups etc in the listbox of 
-* the main view class
-* @lib vimpstcmdprocess.dll
-* @since 5.0
-*/
-class MVIMPSTProcessArrayItem
-    {
-     
-    public:
-    
-    /**
-    * Returns the default type of the listbox item 
-    * @return TEnumsPC::TItem: type of the listbox item as either EContactitem, EContactListItem etc
-    */
-    virtual TVIMPSTEnums::TItem Type() = 0;
-    
-    /**
-    * Returns the name of the listbox item 
-    * @return TPtrC: name of the listbox item to be displayed
-    */
-    virtual TPtrC GetItemNameText() = 0 ;
-    
-    /**
-    * Sets the name of the listbox item 
-    * @param aName: Name of the listbox item to be set
-    * @return void
-    */
-    
-    virtual void SetMsgPending(TBool aMsgPending) = 0;
-    
-    /**
-     * gets the messages pending status of the contact item 
-     * @return iSMsgPending: true if the contact has pending messages 
-     * else false
-     */
-    virtual TBool IsMsgPending() = 0 ;
-    
-    /**
-     * Sets the name of the listbox item 
-     * @param aName: Name of the listbox item to be set
-     * @return void
-     */
-
-    virtual void SetConversationOpen(TBool aConvOpen ) = 0;
-
-    /**
-     * gets the messages pending status of the contact item 
-     * @return iSMsgPending: true if the contact has pending messages 
-     * else false
-     */
-    virtual TBool IsConversationOpen() = 0 ;
-        
-    /**
-    * Returns the array index of the listbox item on engine/storage side
-    * @return TInt: index of the listbox item on engine/storage side
-    */
-    virtual TInt GetItemIndex() = 0;
-    
-    /**
-    * return the VPBK Contact Link
-    */
-    virtual MVPbkContactLink* ContactLink() = 0;  
-    
-    
-    /**
-    * Sets the on engine/storage side index of the listbox item 
-    * @param aIndex: index of the listbox item on engine/storage side
-    * @return void
-    */
-    virtual void SetItemIndex(TInt aIndex) = 0;
-    
-    /**
-    * Returns the user id of the listbox item 
-    * @return TPtrC: user id of the listbox item.
-    */
-    virtual TPtrC GetItemUserId() = 0 ;
-    /**
-     * Returns the avatar index of the listbox item 
-     * @return TInt: avatar index of the listbox item.
-     */
-    virtual TInt  AvatarIndex() = 0;
-    
-    /**
-     * sets the avatar index of the listbox item 
-     * @param aAvatarIndex: avatar index to be set 
-     */
-    virtual void  SetAvatarIndex(TInt aAvatarIndex ) = 0; 
-    
-    
-    /**
-     * returns status text of the contact
-     */
-    virtual const TDesC& StatusText() = 0;
-    
-    /**
-     * returns online status of the contact
-     */
-    virtual TVIMPSTEnums::TOnlineStatus OnlineStatus() = 0;
-    
-    
-    /**
-     * return formatted string needed for listbox for this item
-     */
-    virtual TPtrC16 FormattedItemString() = 0;
-    
-    
-    /*
-     * Format and Reformat the string for listbox
-     */
-    virtual void DoFormatStringL() = 0;
-    
-   
-    /**
-     * virtual destructor.
-     */
-    virtual ~MVIMPSTProcessArrayItem(){};    
-   
-    
-    };
-    
-/**
-* CCAContactItemPC is a structure that will encapsualte information on a contact 
-* item in the single array on the process component side.
-* @lib vimpstcmdprocess.dll
-* @since 5.0
-*/    
-class CVIMPSTProcessContactItem : public CBase,
-                                  public MVIMPSTProcessArrayItem
-    {
-    
-    public: // symbain constructor , destructor
-		
-		/**
-		 *  Creates a new instance of this class.
-		 * @param aContactId, reference to contactid.
-		 * @param aContactLink, pointer to Contactlink.		 
-		 * @return the ContactitemPC instance
-		 */
-    	static CVIMPSTProcessContactItem* NewL( CVIMPSTProcessArray& aParent, const TDesC& aContactName,
-					    						const TDesC& aContactId, 
-					    						MVPbkContactLink* aContactLink,
-					    						const TDesC& aStatusText,
-					    						TVIMPSTEnums::TOnlineStatus aOnlineStatus
-					    						);
-    	/**
-    	* symbain way of construction
-    	*/
-    	void ConstructL(  const TDesC& aContactId, 
-                          const TDesC& aContactName,
-                          const TDesC& aStatusText,
-                          TVIMPSTEnums::TOnlineStatus aOnlineStatus 
-                          );
-    	
-    	/**
-    	* destructor
-    	*/
-    	virtual ~CVIMPSTProcessContactItem();
-    	
-    private:
-
-		/**
-		* C++ default constructor
-	    * @param aContactId, reference to contactid.
-        * @param aContactLink, pointer to Contactlink.        
-		*/
-		CVIMPSTProcessContactItem( CVIMPSTProcessArray& aParent, MVPbkContactLink* aContactLink);
-
-    public:
-     //to be used later.
-	    /**
-	    * Returns the blocked status of the contact item 
-	    * @return bool: true if the contact item is blocked else false
-	    */
-	    //TBool IsBlocked();
-		   
-		/**
-		* Sets the blocked status of the contact item 
-		* @param aBlockedStatus: true if the contact is blocked else false
-		*/
-	    //void SetBlockedStatus(TBool aBlockedStatus);
-
-		/**
-		* Sets the messages pending status of the contact item 
-		* @param aPendingMessageStatus: true if the contact has pending messages 
-		* else false
-		*/
-	    void SetMsgPending(TBool aPendingMessageStatus);
-	    
-	   /**
-		* gets the messages pending status of the contact item 
-		* @return iSMsgPending: true if the contact has pending messages 
-		* else false
-		*/
-	    TBool IsMsgPending();
-	    
-	    /**
-	     * Sets the name of the listbox item 
-	     * @param aName: Name of the listbox item to be set
-	     * @return void
-	     */
-
-	    void SetConversationOpen(TBool aConvOpen ) ;
-
-	    /**
-	     * gets the messages pending status of the contact item 
-	     * @return iSMsgPending: true if the contact has pending messages 
-	     * else false
-	     */
-	    TBool IsConversationOpen() ;
-	    
-    public: //From MImArrayItem
-    
-	    /**
-	    * Returns the name of the contact item 
-	    * @return TPtrC: name of the contact item to be displayed
-	    */
-	    TPtrC GetItemNameText();
-	    
-	   /**
-	    * Returns the default type of the contact item 
-	    * @return TEnumsPC::TItem: type of the contact item as either 
-	    * EContactitem, EContactListItem etc
-	    */
-	    TVIMPSTEnums::TItem Type();
-    
-    	
-    	/**
-	    * Get the index of the contact item from engine side model
-	    * @return TInt, index
-	    */
-    	inline TInt GetItemIndex()   
-    		{ 	
-    		return iIndex;    
-    		}
-		
-		/**
-	    * Set the index of the contact item from engine side model
-	    * @param TInt, aIndex
-	    */
-	    inline void SetItemIndex(TInt aIndex) 	
-			{  
-			iIndex  = aIndex;
-			}
-		
-	   /**
-    	* @returns the VPBK Contact Link
-    	*/
-		inline MVPbkContactLink* ContactLink()
-			{
-			return iContactLink;
-			}
-			
-		
-	    /**
-	    * Returns the user id of the listbox item 
-	    * @return TPtrC: user id of the listbox item.
-	    */
-	    TPtrC GetItemUserId();
-	      
-	    /**
-	     * Returns the avatar index of the listbox item 
-	     * @return TInt: avatar index of the listbox item.
-	     */
-	     inline TInt  AvatarIndex() 
-	         {
-	         return iAvatarIndex;
-	         }
-	    
-	    /**
-	     * sets the avatar index of the listbox item 
-	     * @param aAvatarIndex: avatar index to be set 
-	     */
-	    inline void  SetAvatarIndex(TInt aAvatarIndex ) 
-	        {
-	        iAvatarIndex = aAvatarIndex;
-	        
-	        TRAP_IGNORE(DoFormatStringL());
-	        }
-	    
-	    /**
-	     * returns status text of the contact
-	     */
-	    const TDesC& StatusText();
-	    
-	    /**
-	     * returns online status of the contact
-	     */
-	    TVIMPSTEnums::TOnlineStatus OnlineStatus();
-	    
-	    /*
-	     * Format and Reformat the string for listbox
-	     */
-	    void DoFormatStringL();
-
-	    /**
-	     * return formatted string needed for listbox for this item
-	     */
-	    TPtrC16 FormattedItemString();	    
-    			
-    private:
-	    
-	    // Process Array
-	    CVIMPSTProcessArray& iParent;
-	    
-  	   /**
-	    * The name of the listbox item
-	    */
-	    HBufC* iItemNameTextContact;
-	    
-	    
-	    /**
-	    * The name of the listbox item
-	    */
-	    HBufC* iContactUserId;
-
-	   /**
-  	 	* Index of the item in engines model class
-  	 	*/
-  	 	TInt iIndex;
-  	 	
-  	 	//Not owned
-  	 	MVPbkContactLink* iContactLink; 	 	
-  	 	
-  	 	// ETrue if it has a pending message, else EFalse.
-  	 	TBool iSMsgPending;
-  	 	
-  	 	TBool iIsConversationOpen;
-  	 	
- 	 	// avatar index
-  	 	TInt iAvatarIndex;
-  	 	
-  	 	// Status text Message
-  	 	HBufC* iStatusText;
-  	 	
-  	 	// Stores the status of the contact
-  	 	TVIMPSTEnums::TOnlineStatus iOnlineStatus;
-  	 	
-  	 	HBufC* iFormattedString;
-	        
-    };
-
-
-/**
-* CVIMPSTProcessContactListItem is a structure that will encapsualte information on a contact 
-* list in the single array on the process component side.
-* @lib vimpstcmdprocess.dll
-* @since 5.0
-*/ 
-class CVIMPSTProcessContactListItem : public CBase,
-                                      public MVIMPSTProcessArrayItem 
-    {
-    
-    public:
-       /**
-        * Creates a new instance of this class.
-		* @return the CVIMPSTProcessContactListItem instance
-		*/
-    	static CVIMPSTProcessContactListItem* NewL(CVIMPSTProcessArray& aParent);
-    	
-       /**
-    	* second phase constructor
-    	*/
-    	void ConstructL();
-    	
-       /**
-    	* destructor
-    	*/
-    	virtual ~CVIMPSTProcessContactListItem();
-
-	private:
-
-	   /**
-		* C++ default constructor
-		*/	
-   		CVIMPSTProcessContactListItem(CVIMPSTProcessArray& aParent);
-   		
-    public:
-    
-	    /**
-	    * Returns the expanded or collapsed state information of the contact list 
-	    * @return bool, true if the contact list is collapsed else return false
-	    */
-	    TBool IsCollapsed();
-	    
-	   	    
-	    /**
-		* Sets the collapsed/expanded state of the contact list
-		* @param aCollapsed, true if the contact list item is collapsed else false
-		*/
-		void SetCollapsed(TBool aCollapsed);
-	   	    
-	public: //From CImArrayItem
-
-		/**
-		* Returns the name of the contact list item 
-		* @return TPtrC, name of the contact item to be displayed
-		*/
-		TPtrC GetItemNameText();
-
-		/**
-		* Sets the name of the contact list item 
-		* @param aName: Name of the contact list item to be set
-		* @return void
-		*/
-		void SetItemNameText(const TDesC&);    
-
-		/**
-		* Returns the default type of the contact list item 
-		* @return TEnumsPC::TItem: type of the contact list item as either 
-		* EContactitem, EContactListItem etc
-		*/
-		TVIMPSTEnums::TItem Type();
-    	
-    	/**
-	    * Get the index of the contact item from engine side model
-	    * @return TInt: index
-	    */
-	    inline TInt GetItemIndex()   
-    		{ 	
-    		return iIndex;    
-    		}
-		
-		/**
-	    * Set the index of the contact item from engine side model
-	    * @param TInt: aIndex
-	    */
-	    inline void SetItemIndex(TInt aIndex) 	
-			{  
-			iIndex  = aIndex;
-			}
-    	
-	    /**
-         * @return the VPBK Contact Link
-         */
-    	inline MVPbkContactLink* ContactLink()
-			{
-			return 0;
-			}
-		
-       /**
-        * Returns the user id of the listbox item 
-        * @return TPtrC: user id of the listbox item.
-        */
-        inline TPtrC GetItemUserId()
-            {
-            return KNullDesC();
-            }
-        /**
-         * Returns the avatar index of the listbox item 
-         * @return TInt: avatar index of the listbox item.
-         */
-        inline TInt  AvatarIndex() 
-            {
-            return KErrNone; // always return zero
-            }
-
-        /**
-         * sets the avatar index of the listbox item 
-         * @param aAvatarIndex: avatar index to be set 
-         */
-        inline void  SetAvatarIndex(TInt /*aAvatarIndex*/ ) 
-            {
-           // dummy not used
-            }
-        void SetMsgPending(TBool /*aMsgPending*/)
-            {
-            // NA
-            }
-        /**
-         * Sets the messages pending status of the contact item 
-         * @param aPendingMessageStatus: true if the contact has pending messages 
-         * else false
-         */
-        TBool IsMsgPending()
-            {
-            return EFalse;
-            }
-        /**
-         * Sets the name of the listbox item 
-         * @param aName: Name of the listbox item to be set
-         * @return void
-         */
-
-        void SetConversationOpen(TBool /*aConvOpen*/ )
-            {
-            // NA
-            }
-
-        /**
-         * gets the messages pending status of the contact item 
-         * @return iSMsgPending: true if the contact has pending messages 
-         * else false
-         */
-        TBool IsConversationOpen() 
-            {
-            return EFalse;
-            }
-        
-        /**
-         * returns status text of the contact
-         */
-        const TDesC& StatusText()
-            {
-            //NA
-            return KNullDesC;
-            }
-        
-        /**
-         * returns online status of the contact
-         */
-        TVIMPSTEnums::TOnlineStatus OnlineStatus()
-            {
-            //NA
-            return TVIMPSTEnums::EUnknown;
-            }
-        
-        /*
-         * Format and Reformat the string for listbox
-         */
-        void DoFormatStringL();
-
-        /**
-         * return formatted string needed for listbox for this item
-         */
-        TPtrC16 FormattedItemString();
-        
-    private:
-        
-        // Process Array
-        CVIMPSTProcessArray& iParent;
-    
-    	/**
-	 	* collapsed/expanded status of the contact list
-	    */
-		TBool iCollapsedStatus;
-		
-			
-		/**
-	 	* Total no. of contacts in the contact list
-	    */
-	    TInt  iTotalContacts;
-
-		/**
-	 	* name of the contact list followed by 
-	 	* the (No. of Online Contacts/ Total contacts) in that contact list
-	    */
-	    HBufC* iText;
-	    
-       /**
-  	 	* Index of the item in engines model class
-  	 	*/
-  	 	TInt	iIndex;
-     
-                
-        /**
-        * The name of the listbox item
-        * Till the contalist is supported in futuer, 
-        * iItemNameTextList is a pointer.
-        */
-        HBufC* iItemNameTextList; 
-    };
-    
-/**
-* CVIMPSTProcessOwnDataItem is a structure that will encapsualte information on Own data 
-* item in the single array on the process component side.
-*/   
- class CVIMPSTProcessOwnDataItem : public CBase,
-                                   public MVIMPSTProcessArrayItem
-    {
-    	
-    public:
-	   /**
-	    * Creates a new instance of this class.
-		* @param aContactId, id of the contact		
-		*/
-    	static CVIMPSTProcessOwnDataItem* NewL(CVIMPSTProcessArray& aParent, TDesC& aContactId);
-    	
-       /**
-    	* second phase constructor
-    	*/
-    	void ConstructL();
-    	
-       /**
-    	* destructor
-    	*/
-    	virtual ~CVIMPSTProcessOwnDataItem();
-
-   private:
-
-       /**
-        * symbian default constructor
-        * @param aContactId, id of the contact        
-        */
-	
-        CVIMPSTProcessOwnDataItem(CVIMPSTProcessArray& aParent,TDesC& aContactId);
-		    
-	public: //From CImArrayItem
-
-		/**
-		* Returns the name of the contact list item 
-		* @return TPtrC, name of the contact item to be displayed
-		**/
-		TPtrC GetItemUserId();
-
-	
-		/**
-		* Returns the default type of the contact list item 
-		* @return TEnumsPC::TItem, type of the contact list item as either 
-		* EContactitem, EContactListItem etc
-		*/
-		TVIMPSTEnums::TItem Type();
-
-     	/**
-	    * Get the index of the contact item from engine side model
-	    * @return TInt, index
-	    */
-	    inline TInt GetItemIndex()   
-    		{ 	
-    		return iIndex;    
-    		}
-		
-		/**
-	    * Set the index of the contact item from engine side model
-	    * @param TInt, aIndex
-	    */
-	    inline void SetItemIndex(TInt aIndex) 	
-			{  
-			iIndex  = aIndex;
-			}
-	    /**
-         * @return the VPBK Contact Link
-         */
-    	inline MVPbkContactLink* ContactLink()
-			{
-			return 0;
-			}
-    	
-        /**
-        * Returns the user id of the listbox item 
-        * @return TPtrC: user id of the listbox item.
-        */
-        inline TPtrC GetItemNameText()
-            {
-            return KNullDesC();
-            }
-        /**
-         * Returns the avatar index of the listbox item 
-         * @return TInt: avatar index of the listbox item.
-         */
-        inline TInt  AvatarIndex() 
-            {
-            return iAvatarIndex;
-            }
-
-        /**
-         * sets the avatar index of the listbox item 
-         * @param aAvatarIndex: avatar index to be set 
-         */
-        inline void  SetAvatarIndex(TInt aAvatarIndex ) 
-            {
-            iAvatarIndex = aAvatarIndex;
-            
-            TRAP_IGNORE(DoFormatStringL());
-            }
-        /**
-         * returns the mimetype
-         * @return returns the mimetype
-         */
-        inline const TDesC8& MimeType()
-            {
-            if( iMimeType )
-                {
-                return *iMimeType;
-                }
-            else
-                {
-                return KNullDesC8();
-                }    
-            }
-        /**
-         * sets the mimetype
-         * @param  the mimetype to be set
-         */
-        inline void SetMimeType( const TDesC8& aMime)
-            {
-            delete iMimeType; 
-            iMimeType = NULL;
-            iMimeType = aMime.Alloc();
-            } 
-        void SetMsgPending(TBool /*aMsgPending*/)
-            {
-            // NA
-            }
-        /**
-         * Sets the messages pending status of the contact item 
-         * @param aPendingMessageStatus: true if the contact has pending messages 
-         * else false
-         */
-        TBool IsMsgPending()
-            {
-            return EFalse;
-            }
-        /**
-         * Sets the name of the listbox item 
-         * @param aName: Name of the listbox item to be set
-         * @return void
-         */
-
-        void SetConversationOpen(TBool /*aConvOpen*/ )
-            {
-            // NA
-            }
-
-        /**
-         * gets the messages pending status of the contact item 
-         * @return iSMsgPending: true if the contact has pending messages 
-         * else false
-         */
-        TBool IsConversationOpen() 
-            {
-            return EFalse;
-            }
-        
-        /**
-         * returns status text of the contact
-         */
-        const TDesC& StatusText()
-            {
-            //NA
-            return KNullDesC;
-            }
-        
-        /**
-         * returns online status of the contact
-         */
-        TVIMPSTEnums::TOnlineStatus OnlineStatus()
-            {
-            //NA
-            return TVIMPSTEnums::EUnknown;
-            }
-        
-        /*
-         * Format and Reformat the string for listbox
-         */
-        void DoFormatStringL();
-
-        /**
-         * return formatted string needed for listbox for this item
-         */
-        TPtrC16 FormattedItemString();
-        
-    private:
-       	    
-        //Process Array
-        CVIMPSTProcessArray& iParent;
-        
-	    /**
-  	 	* Index of the item in engines model class
-  	 	*/
-  	 	TInt	iIndex;
-     
-        /**
-        * The name of the listbox item
-        */
-        TDesC& iOwnDataId;
-        
-        
-        // avatar index	
-    	TInt iAvatarIndex;
-    	// owned mimetype
-    	HBufC8* iMimeType;
-    };
-
-
-
-/**
- * unknown contact item
- * Responsible for handling feriend requests.
- * @lib vimpstcmdprocess.dll
- * @since 5.0
- */
-class CVIMPSTProcessUnknownContactItem :  public CBase,
-                                          public MVIMPSTProcessArrayItem
-    {
-    public: // symbain constructor , destructor
-        
-        /**
-        * Returns the instance of tis class.
-        * @param aBuddyId, buddyId id.
-        * @return CVIMPSTProcessFriendRequestItem, instance of this class.
-        */
-        static CVIMPSTProcessUnknownContactItem* NewL(CVIMPSTProcessArray& aParent, const TDesC& aBuddyId);
-        
-        /**
-         * symbain way of construction
-         * @param aBuddyId, requestor id.
-         */
-        void ConstructL(const TDesC& aBuddyId);
-        
-        /**
-         * destructor
-         */
-        virtual ~CVIMPSTProcessUnknownContactItem();
-        
-    private:
-
-         /**
-          * C++ default constructor
-          */
-        CVIMPSTProcessUnknownContactItem(CVIMPSTProcessArray& aParent);
-        
-    public : // new method
-        
-        /**
-         * Sets the messages pending status of the contact item 
-         * @param aPendingMessageStatus: true if the contact has pending messages 
-         * else false
-         */
-        void SetMsgPending(TBool aPendingMessageStatus);
-
-        /**
-         * gets the messages pending status of the contact item 
-         * @return iSMsgPending: true if the contact has pending messages 
-         * else false
-         */
-        TBool IsMsgPending();
-        
-    public: //From MImArrayItem
-    
-        /**
-         * Returns the name of the contact item 
-         * @return TPtrC, name of the contact item to be displayed
-         */
-        TPtrC GetItemNameText();
-        
-       /**
-        * Returns the default type of the contact item 
-        * @return TEnumsPC::TItem: type of the contact item as either 
-        * EContactitem, EContactListItem etc
-        */
-        TVIMPSTEnums::TItem Type();
-    
-        
-        /**
-         * Get the index of the contact item from engine side model
-         * @return TInt: index
-         */
-        inline TInt GetItemIndex()   
-            {   
-            return iIndex;    
-            }
-        
-        /**
-         * Set the index of the contact item from engine side model
-         * @param TInt: aIndex
-         */
-        inline void SetItemIndex(TInt aIndex)   
-            {  
-            iIndex  = aIndex;
-            }
-        
-        /**
-         * @return the VPBK Contact Link
-         */
-        inline MVPbkContactLink* ContactLink()
-            {
-            return NULL;
-            }
-         
-        /**
-         * Returns the user id of the listbox item 
-         * @return TPtrC, user id of the listbox item.
-         */
-        inline TPtrC GetItemUserId();
-
-        /**
-         * Returns the avatar index of the listbox item 
-         * @return TInt: avatar index of the listbox item.
-         */
-        inline TInt  AvatarIndex() 
-            {
-            return KErrNone; // always return zero
-            }
-
-        /**
-         * sets the avatar index of the listbox item 
-         * @param aAvatarIndex: avatar index to be set 
-         */
-        inline void  SetAvatarIndex(TInt /*aAvatarIndex*/ ) 
-            {
-            // dummy not used
-            }
-        
-        /**
-         * Sets the name of the listbox item 
-         * @param aName: Name of the listbox item to be set
-         * @return void
-         */
-
-        void SetConversationOpen(TBool aConvOpen );
-        
-        /**
-         * gets the messages pending status of the contact item 
-         * @return iSMsgPending: true if the contact has pending messages 
-         * else false
-         */
-        TBool IsConversationOpen(); 
-        
-        /**
-         * returns status text of the contact
-         */
-        const TDesC& StatusText()
-            {
-            //NA
-            return KNullDesC;
-            }
-        
-        /**
-         * returns online status of the contact
-         */
-        TVIMPSTEnums::TOnlineStatus OnlineStatus()
-            {
-            //NA
-            return TVIMPSTEnums::EUnknown;
-            }
-        
-        /*
-         * Format and Reformat the string for listbox
-         */
-        void DoFormatStringL();
-
-        /**
-         * return formatted string needed for listbox for this item
-         */
-        TPtrC16 FormattedItemString();
-        
-    private://member variables.
-        
-        // Process Array
-        CVIMPSTProcessArray& iParent;
-        
-        /**
-         * The name of the listbox item (owned).
-         */
-         HBufC* iItemNameText;          
-             
-        /**
-         * Index of the item in engines model class
-         */
-         TInt iIndex;
-         
-         // Owns, user id of item.
-         HBufC* iUesrId;
-         
-         // if any message is pending
-         
-         TBool iSMsgPending;
-         
-         TBool iIsConversationOpen;
-         
-         HBufC* iFormattedString;
-    };
-    
-#endif  //CVIMPSTPROCESSARRAYITEM_H