uiservicetab/vimpststorage/inc/mvimpststoragevpbkstorehandler.h
changeset 0 5e5d6b214f4f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uiservicetab/vimpststorage/inc/mvimpststoragevpbkstorehandler.h	Tue Feb 02 10:12:18 2010 +0200
@@ -0,0 +1,133 @@
+
+/*
+* 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:  class implementatio from vpbkstorage handler to store
+*
+*/
+
+
+#ifndef MVIMPSTSTORAGEVPBKSTOREHANDLER_H
+#define MVIMPSTSTORAGEVPBKSTOREHANDLER_H
+
+#include <e32std.h>
+#include <MVPbkContactStoreObserver.h>
+
+class MVPbkContactViewBase;
+class MVPbkContactLink;
+class MVPbkContactStore;
+class MVPbkStoreContact;
+
+/**
+ * A class for a contact store event.
+ *
+ * The contact store event contains the type of the event and
+ * possibly a contact link to a changed contact.
+ */
+enum TVIMPSTVPbkStoreEventType
+	{
+	EVPbkUnknownEvent = -1,
+	EVPbkUnknownChanges = 0,
+	EVPbkContactAdded ,
+	EVPbkContactDeleted,
+	EVPbkContactChanged,
+	EVPbkContactRetriving,
+	EVPbkContactFetching,
+	EVPbkContactReading,
+	EVPbkUpdatingAvatar,
+	EVPbkContactSynchronizing,
+	EVPbkContactReadCompleted
+	};	
+				
+ class TVIMPSTVPbkStoreEvent
+	{
+	  
+   public: // Interface
+   	
+        /**
+         * Constructor
+         *
+         * @param aEventType The type of the contact store event
+         * @param aContactLink The identifier of the changed contact or NULL.
+         *                     The link is not owned by this class.
+         */
+    	 TVIMPSTVPbkStoreEvent( TVIMPSTVPbkStoreEventType aEventType, 
+				                MVPbkContactLink* aContactLink = NULL,
+				                MVPbkStoreContact* aContact = NULL ,
+				                const TDesC& aUserId = KNullDesC ,
+				                const TDesC& aName = KNullDesC,
+				                const TDesC8& aAvatarContent = KNullDesC8 );
+				                
+  public:               
+		/// Own: Type of the event that has happened
+		TVIMPSTVPbkStoreEventType iEventType;
+		/// Ref: Link to the contact that is accociated with the event or NULL. 
+		///      The link is valid only during HandleStoreEventL function call
+		///      and client can not take the ownership of the instance.
+		//       Client must clone the link if it needs it later.
+		MVPbkContactLink* iContactLink;
+		///Own: Spare for future extension
+		MVPbkStoreContact* iVPbkContact;
+		///Own: Spare for future extension
+		TPtrC iUserId;
+		///Own: Spare for future extension
+		TPtrC iDisplayName;	
+		// owns avatar content
+		TPtrC8 iAvatarContent;
+	};
+
+inline TVIMPSTVPbkStoreEvent::TVIMPSTVPbkStoreEvent(
+							TVIMPSTVPbkStoreEventType aEventType, 
+			                MVPbkContactLink* aContactLink,
+			                MVPbkStoreContact* aContact,
+			                const TDesC& aUserId ,
+			                const TDesC& aName ,
+			                const TDesC8& aAvatarContent ) :
+	iEventType(aEventType),
+	iContactLink(aContactLink),
+	iVPbkContact( aContact ),
+	iUserId(aUserId ),
+	iDisplayName( aName ),
+	iAvatarContent( aAvatarContent )
+	{
+	}
+/**
+ *  Interface for contact data container observer
+ *
+ *  @lib vimpststorage.dll
+ *  @since 5.0
+ */
+class MVIMPSTStorageVPbkStoreHandler
+    {
+    public: // New functions
+		
+	    /**
+         * From MVPbkContactStoreObserver
+         * Callback: Store event occured
+         *
+         * @since S60 5.0
+         * @param aContactStore, contact store
+         * @param aStoreEvent, event
+         */
+        virtual void HandleVPbkStoreEventL(TVIMPSTVPbkStoreEvent aVPbkStoreEvent)  = 0 ; 
+        
+        
+     		/**
+		* Virtual destructor
+		*/
+		virtual ~MVIMPSTStorageVPbkStoreHandler() {};
+    };
+
+#endif      // MVIMPSTSTOREDCONTACTSOBSERVER_H
+
+// End of File