phonebookui/Phonebook2/spbcontentprovider/inc/spbcontactstorelistener.h
changeset 0 e686773b3f54
child 3 04ab22b956c2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookui/Phonebook2/spbcontentprovider/inc/spbcontactstorelistener.h	Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2009 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:  .
+*
+*/
+
+#ifndef SPBCONTACTSTORELISTENER_H_
+#define SPBCONTACTSTORELISTENER_H_
+
+//  INCLUDES
+#include <e32base.h>
+#include <MVPbkContactStoreObserver.h>
+
+// FORWARD DECLARATION
+class CSpbContent;
+class CPbk2StoreManager;
+
+/*
+ * Listener of contact stores to observe phonenumber changes
+ */
+NONSHARABLE_CLASS( CSpbContactStoreListener ) : 
+    public CBase,
+    public MVPbkContactStoreObserver
+	{
+	
+public: // Construction & destruction
+	
+    static CSpbContactStoreListener* NewL(
+            CPbk2StoreManager& aStoreManager,
+            RPointerArray<CSpbContent>& aContentCache );
+    
+    ~CSpbContactStoreListener();
+    
+    
+public:	//from MVPbkContactStoreObserver
+	
+	void StoreReady(MVPbkContactStore& aContactStore);
+	
+	void StoreUnavailable(MVPbkContactStore& aContactStore, TInt aReason );
+	
+	void HandleStoreEventL(
+        MVPbkContactStore& aContactStore, 
+        TVPbkContactStoreEvent aStoreEvent);
+    
+private:	// new functions
+	
+	/*
+	 * Returns content corresponding to the link
+	 */
+	CSpbContent* ContentByLinkL( const MVPbkContactLink& aLink );
+	
+private:    // constructors
+    inline CSpbContactStoreListener(
+        CPbk2StoreManager& aStoreManager,
+        RPointerArray<CSpbContent>& aContentCache );
+    
+    inline void ConstructL();
+    
+private: // data
+   
+    /// Ref. Store Manager
+    CPbk2StoreManager& iStoreManager;
+
+    /// Ref. Cached content
+    RPointerArray<CSpbContent>& iContentCache;
+	};
+
+
+#endif /* SPBCONTACTSTORELISTENER_H_ */