uiservicetab/vimpststorage/inc/cvimpststorageserviceview.h
branchRCL_3
changeset 22 3104fc151679
parent 21 2b7283837edb
child 23 9a48e301e94b
--- a/uiservicetab/vimpststorage/inc/cvimpststorageserviceview.h	Thu Aug 19 09:41:53 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,454 +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:  Storage view implementation
-*
-*/
-
-#ifndef CVIMPSTSTORAGESERVICEVIEW_H
-#define CVIMPSTSTORAGESERVICEVIEW_H
-
-
-//  INCLUDES
-#include <e32std.h>
-#include <f32file.h>
-#include <babackup.h>
-
-#include "mvimpststorageserviceview.h"
-#include "tvimpststoragepanics.h"
-#include "tvimpstenums.h"
-#include "mvimpststorageitemmodel.h"
-#include "mvimpststorageactiveobserver.h"
-
-// FORWARD DECLARATIONS
-class CVIMPSTStorageContactList;
-class CVIMPSTStorageContactSorter;
-class MVIMPSTStorageVPbkContactStore;
-class MVPbkContactLink;
-class CVIMPSTStorageActiveHandler;
-
-// CLASS DECLARATION
-
-NONSHARABLE_CLASS ( CVIMPSTStorageServiceView ): public CBase,
-												 public MVIMPSTStorageServiceView,
-												 public MVIMPSTStorageServiceCacheWriter,
-												 public MVIMPSTStorageItemModel,
-												 public MVIMPSTStorageActiveObserver
-												   
-    {
-    public:  // Constructors and destructor
-
-        /**
-         * Two-phased constructor.
-         */
-        static CVIMPSTStorageServiceView* NewL(TUint32 aServiceId, const TDesC& aStoreName,
-        								const TDesC& aServiceName);
-
-        /**
-         * Destructor.
-         */
-        ~CVIMPSTStorageServiceView();
-
-    public: // New functions        
-        
-        
-        TUint32 GetServiceId();
-        
-    public: // Functions from base classes
-    	
-    	/**
-         * From MVIMPSTStorageServiceView
-         */
-        void AddObserverL( MVIMPSTStorageContactsObserver* aObserver ) ;
-     
-        /**
-         * From MVIMPSTStorageServiceView
-         */
-        void RemoveObserver( MVIMPSTStorageContactsObserver* aObserver ) ;
-        
-      	/**
-         * From MVIMPSTStorageServiceView
-         */
-		MVIMPSTStorageContact* FindContactByUserId( const TDesC& aUserId ) ;
-		
-		/**
-         * From MVIMPSTStorageServiceView
-         */
-		MVIMPSTStorageContact* FindContactByLink(const MVPbkContactLink& aContactLink ) ;
-		
-        /**
-         * From MVIMPSTStorageServiceView
-         */
-        TInt ListCount() const ;
-        
-        
-        /**
-         * From MVIMPSTStorageServiceView
-         */
-        MVIMPSTStorageContactList& ListAt( TInt aIndex ) const ;
-        
-
-        /**
-         * From MVIMPSTStorageServiceView
-         */        
-        MVIMPSTStorageContactList* FindContactList( const TDesC& aListId ) ;
-        
-     
-        /**
-         * From MVIMPSTStorageServiceView
-         */
-        MVIMPSTStorageContactList* CreateContactListL( const TDesC& aContactListId, 
-                                        const TDesC& aDisplayName ) ;
-                                        
-        
-        /**
-         * From MVIMPSTStorageServiceView
-         */
-        void RemoveContactList( const TDesC& aContactListId ) ;
-                
-        
-
-        /**
-         * From MVIMPSTStorageServiceView
-         */
-        TInt ContactCount( TBool aSkipOfflineContacts = EFalse ) const ;
-                        
-                        
-         /** 
-         * Update presence information of contact.
-         * @param aContactId Id of contact which presence is updated.
-         * @param aStatus. New presence status
-         * @param aAlias. New alias.
-         * @param aStatusText New status message text.
-         * @return MVIMPSTStorageContact* pointer of the contact
-         */
-        MVIMPSTStorageContact* UpdatePresenceL(const TDesC& aContactId, 
-							                           TVIMPSTEnums::TOnlineStatus aStatus, 
-							                           const TDesC& aStatusText,
-							                           const TDesC8& aAvatarData,
-							                           TBool aIsClearingAvatar = EFalse) ;
-         
-         /** 
-         * Update presence information of contact.
-         * @param aContactId Id of contact which presence is updated.
-         * @param aStatus. New presence status
-         * @param aAlias. New alias.
-         * @param aStatusText New status message text.
-         * @return MVIMPSTStorageContact* pointer of the contact
-         */
-        MVIMPSTStorageContact* UpdateAvatarL(const TDesC& aContactId,
-							                  const TDesC8& aAvatarData ) ;
-        
-        /**
-         * add contact ot the virtual phonebook.
-         * @param aContact contact id to be added.
-         */
-        MVIMPSTStorageContact* CreateNewContactL(const TDesC& aUserId, 
-        								  const TDesC& aDisplayName = KNullDesC,
-        								  TBool aIsInvitationItem =  EFalse,
-        								  TBool aInvitationAutoAccept = EFalse) ;
-        
-        /**
-         * add contact ot the virtual phonebook.
-         * @param aContact contact id to be added.
-         */
-        TInt CreateNewContactFromRetrivedIdL( TInt aIndexToUse );
-        
-        /**
-         * remove contact ot the virtual phonebook.
-         * @param aContact contact id to be removed.
-         */
-        TInt DeleteNewContactFromRetrivedIdL(  TInt aIndexToUse  );
-        
-        /**
-         * add contact ot the virtual phonebook.
-         * @param aContact contact id to be added.
-         */
-        void CreateNewFetchContactsL( RArray <TPtrC> &aFirstNameList, 
-                                            RArray <TPtrC> &aServiceField ) ;
-               
-        
-		/**
-         * add contact ot the virtual phonebook.
-         * @param aContact contact id to be added.
-         */
-        TInt RemoveContactL( MVIMPSTStorageContact* aContact  ) ;
-        
-        
-        /**
-         * From MVIMPSTStorageServiceView
-         */
-        TBool  IsLocalStore() const ;
-        
-  		/**
-         * From MVIMPSTStorageServiceView
-         */
-  		void SetOwnUserIdL( const TDesC& aUserId );
-  		
-  	
-  		/**
-         * From MVIMPSTStorageServiceView
-         */
-  		TInt RetriveLinkXSPIdsL(const TDesC8& aContactPackLink );
-  		
-  		/**
-         * From MVIMPSTStorageServiceView
-         */
-        const TDesC& GetRetrieveXSPIdL(TInt aIndex )  ;
-  		
-  	   	/**
-         * From MVIMPSTStorageServiceView
-         */
-  	    MVIMPSTStorageContact& OwnContactL();
-  	    
-  	    /**
-         * From MVIMPSTStorageServiceView
-         */
-  	    void DeleteDatabaseL();
-  	    
-  	     /**
-         * From MVIMPSTStorageServiceView
-         */
-  	    void SetUnnamedTextL(HBufC* aUnnamedText );
-  		
-  	public: //  MVIMPSTStorageServiceCacheWriter
-  	
-  		/**
-		* update existing contact 
-		* @param aContactLink contact id to be updatated
-		* @param aUserId contact id to be updated
-		* @param aDisplayName contact display name to be updated
-		* @reurn the storage contact pointer if found else NULL
-		*/
-		MVIMPSTStorageContact* UpdateCacheContactL(const MVPbkContactLink& aContactLink,
-												 const TDesC& aUserId, 
-								   	   	         const TDesC& aDisplayName,
-								   	   	         const TDesC8& aAvatarContent )  ;
-
-		/**
-		* add a new contact to cache  
-		* @param aContactLink contact id to be add
-		* @param aUserId contact id to be add
-		* @param aDisplayName contact display name to be add 
-		* @reurn the new storage contact pointer if contact is already exist return the smae 
-		
-		*/		 					   	   	       
-		MVIMPSTStorageContact* AddContactToCacheL(const MVPbkContactLink& aContactLink,
-										 const TDesC& aUserId, 
-						   	   	         const TDesC& aDisplayName,
-						   	   	         const TDesC8& aAvatarContent,
-						   	   	         TVIMPSTEnums::TVIMPSTStorgaeEventType aType )   ;
-					   	   	               
-		/*
-		* remopve existing contact 
-		* @param aContactLink contact id to be removed
-		* @param aUserId contact id to be removed
-		* @param aDisplayName contact display name to be removed
-		* @reurn the error if any
-		*/
-		TInt RemoveContactFromCacheL(const MVPbkContactLink& aContactLink,TVIMPSTEnums::TVIMPSTStorgaeEventType aType ) ;
-
-
-		/**
-		* Removes all contacts from cache and notify to observers
-		*/
-		void RemoveAllCacheContactsL() ;
-
-		/**
-		* Read the default contact list if exist else create default list
-		* @return contact list pointer
-		*/
-		MVIMPSTStorageContactList* GetDefaultContactListL() ;
-
-		/**
-		* find contact by user id
-		* @param aUserId contact id to be find
-		* @return storage contact pointer if found else NULL
-		*/
-		 MVIMPSTStorageContact* FindCacheContactByUserId( const TDesC& aUserId ) ;
-		 
-		 
-		 /**
-		* find contact by user id
-		* @param aContactLink contact link to be find
-		* @return storage contact pointer if found else NULL
-		*/
-		 MVIMPSTStorageContact* FindCacheContactByLink(const MVPbkContactLink& aContactLink) ;
-
-		/**
-		* add contact to the contact cache and notify the observers
-		* @param aContact contact id to be added.
-		*/
-		TInt AddStorageContactToCacheL(MVIMPSTStorageContact* aContactToAdd );
-
-		/**
-		* add contact to the contact cache and notify the observers
-		* @param aContact contact id to be added.
-		*/
-		void NotifyServiceViewL( TVIMPSTEnums::TVIMPSTStorgaeEventType aEventType,
-								 MVIMPSTStorageContact* aContact = NULL )  ;
-  		
-  	public : //MVIMPSTStorageActiveObserver
-  		
-  			/**
-		* This call is made when the waiting completes
-		* @param aError error code for waiting error, KErrNone if completes without error
-		*
-		*/
-		void HandleDelayedNotificationL(TVIMPSTEnums::TVIMPSTStorgaeEventType aType,
-									   MVIMPSTStorageContactList *aList, 
-			                           MVIMPSTStorageContact* aContact,
-			                           TInt aContactIndex) ;
-  	private:
-           
-
-        /**
-         * C++ default constructor.
-         */
-        CVIMPSTStorageServiceView(TUint32 aServiceId);
-
-        /**
-         * By default Symbian 2nd phase constructor is private.
-         */
-        void ConstructL(const TDesC& aStoreName, const TDesC& aServiceName);
-        
-        
-        CVIMPSTStorageContactList* FindContactListInternal( const TDesC& aListId );
-                                              
-         
-        TInt FindContactListById(const TDesC& aListId );
-		
-		 // TLinearOrder
-        static TInt ContactListOrderByDisplayName( 
-                                    const CVIMPSTStorageContactList& aContactA, 
-                                    const CVIMPSTStorageContactList& aContactB );
-                                    
-        static TBool ContactListFindByContactListId( 
-                            const CVIMPSTStorageContactList& aContactA, 
-                            const CVIMPSTStorageContactList& aContactB );
-        
-   		
-   		/**
-         * Notify all the observers about the given event
-         * @param aType The type of observer event
-         * @param aContact The contact in question
-         * (or -1 == KCAStorageDontKnowPos to force search for given contact id
-         * in aParameter)
-         * @param aFromPEC, ETrue, if event is coming from PEC
-         */
-        void NotifyAllObserversL( TVIMPSTEnums::TVIMPSTStorgaeEventType aType,
-        						  MVIMPSTStorageContactList* aContactList,
-                                  MVIMPSTStorageContact* aContact,
-                                  TInt aContactIndex );
-
-        /**
-         * Notify all the observer about the given event after small delay
-         * If new notify events come during delay, then notify is "shifted"
-         * with new delay time and notify event is change to "multiplechanges".
-         * @param aType The type of observer event
-         * @param aContact The contact in question
-         * (or -1 == KCAStorageDontKnowPos to force search for given contact id
-         * in aParameter)
-         * @param aFromPEC, ETrue, if event is coming from PEC
-         */
-        void NotifyAllObserversWithDelay( TVIMPSTEnums::TVIMPSTStorgaeEventType aType,
-		        						  MVIMPSTStorageContactList* aContactList,
-		                                  MVIMPSTStorageContact* aContact,
-		                                  TInt aContactIndex );
-                
-   	
-    public : // from MVIMPSTStorageItemModel
-    
-    	/**
-         * @return Count of items
-         */
-        TInt Count() const;
-
-		/**
-		 * Returns List item at given index.
-		 * @param aIndex
-		 * @return List item
-		 */
-        MVIMPSTStorageItemModel::SItem Item( TInt aIndex ) const;
-            
-        /**
-         * @see MVIMPSTStorageItemModel
-         */
-        TInt IndexOfContact( MVIMPSTStorageContact* aContact ) const;
-        
-        /**
-         * @see MVIMPSTStorageItemModel
-         */
-        TInt IndexOfList( MVIMPSTStorageContactList* aList,
-                          TBool aIgnoreOwnItem /*= EFalse*/,
-                          TBool aIgnoreEmptyLists /*= ETrue*/ ) const;
- 
- public :       
-               
-        /**
-         * Sets the correct sorting method to storage
-         * according to current setting value
-         */
-        void SetSort();
-        
-        /**
-         * sort the contacts of list
-         * according to current setting value
-         */
-        void Sort( const TDesC& aContactListId = KNullDesC  );
-        
-    
-    protected:  // Functions from MDesCArray
-        
-        /**
-        * @see MDesCArray
-        */
-        TInt MdcaCount() const;
-
-        /**
-        * @see MDesCArray
-        */
-        TPtrC MdcaPoint(TInt aIndex) const;
-         
-    private:    // Data
-
-        // observers list, used with MVIMPSTStorageServiceView inherited methods
-        RPointerArray< MVIMPSTStorageContactsObserver > iContactObservers;
-
-        // list of contacts
-        RPointerArray< CVIMPSTStorageContactList > iContactListArray;   // owns
-       
-        //Service ID
-  	    TUint32 iServiceId;        
-        // owns : pointer to service store ,Local/Server
-        MVIMPSTStorageVPbkContactStore* iVPbkContactStore;
-        
-         /// Sorter for contacts. Owns
-        CVIMPSTStorageContactSorter* iContactSorter;
-        
-         /// Contact for own data
-         MVIMPSTStorageContact* iOwnContact;
-          /// Owns : refreshTimer
-         CVIMPSTStorageActiveHandler* iActiveHandler;
-         
-         // if ETrue meaning a invitation is getting added to cache
-         TBool iIsInvitationItem; 
-         
-         // owns : unnamed text
-    	 HBufC* iUnNamedText; 
-        
-    };
-    
-#endif      // CVIMPSTSTORAGESERVICEVIEW_H
-
-// End of File