phonebookui/Phonebook2/UIControls/inc/cpbk2filteredviewstack.h
branchRCL_3
changeset 6 e8e3147d53eb
parent 0 e686773b3f54
--- a/phonebookui/Phonebook2/UIControls/inc/cpbk2filteredviewstack.h	Fri Mar 12 15:41:25 2010 +0200
+++ b/phonebookui/Phonebook2/UIControls/inc/cpbk2filteredviewstack.h	Mon Mar 15 12:39:26 2010 +0200
@@ -32,7 +32,7 @@
 class CElementStack;
 
 // CLASS DECLARATION
- 
+
 /**
  * A stack for the base view and filtered views that can be used
  * as a contact view. MVPbkContactViewBase reuqests are forwarded
@@ -44,10 +44,11 @@
  */
 NONSHARABLE_CLASS(CPbk2FilteredViewStack) : public CBase,
                                             public MPbk2FilteredViewStack,
+                                            public MVPbkContactViewObserverExtension,
                                             private MVPbkContactViewObserver
     {
     public: // Constructors and destructor
-            
+
         /**
          * Creates a new instance of this class.
          *
@@ -67,29 +68,29 @@
 
 
         void UpdateFilterL(
-                const MDesCArray& aFindStrings, 
+                const MDesCArray& aFindStrings,
                 const MVPbkContactBookmarkCollection* aAlwaysincluded,
                 TBool aAlwaysIncludedChanged );
-        
+
         void Reset();
-     
+
         MVPbkContactViewBase& BaseView() const;
-        
-  
+
+
         void SetNewBaseViewL(
                 MVPbkContactViewBase& aBaseView );
-        
-        
+
+
         TInt Level() const;
 
-        void AddStackObserverL( 
+        void AddStackObserverL(
                 MPbk2FilteredViewStackObserver& aStackObserver );
-        
- 
-        void RemoveStackObserver( 
+
+
+        void RemoveStackObserver(
                 MPbk2FilteredViewStackObserver& aStackObserver );
-        
-    
+
+
     public:  // From MVPbkContactViewBase
         TVPbkContactViewType Type() const;
         void ChangeSortOrderL(
@@ -109,7 +110,7 @@
                 MVPbkContactViewObserver& aObserver );
         TBool MatchContactStore(
                 const TDesC& aContactStoreUri ) const;
-        TBool MatchContactStoreDomain( 
+        TBool MatchContactStoreDomain(
                 const TDesC& aContactStoreDomain ) const;
         MVPbkContactBookmark* CreateBookmarkLC(
                 TInt aIndex ) const;
@@ -134,6 +135,11 @@
                 MVPbkContactViewBase& aView,
                 TInt aError,
                 TBool aErrorNotified );
+        TAny* ContactViewObserverExtension(TUid aExtensionUid );
+
+    private: // From MVPbkContactViewObserverExtension
+        void FilteredContactRemovedFromView(
+			 MVPbkContactViewBase& aView );
 
     private: // Implementation
         CPbk2FilteredViewStack();
@@ -146,7 +152,7 @@
         void UpdateStackL();
         class CCallback;
         void DoAddObserverL(
-                MVPbkContactViewObserver& aObserver, 
+                MVPbkContactViewObserver& aObserver,
                 CCallback& aCallback );
         void DoAddObserverError(
                 TInt aError,
@@ -163,7 +169,7 @@
                 const MDesCArray& aStringArray,
                 TInt aLevel );
         TBool IsElementsUnderDestruction();
-                
+
     private: // Data
         /// Own: the stacked views that are currently used
         CElementStack* iViewStack;
@@ -179,7 +185,7 @@
         RPointerArray<CCallback> iCallbacks;
         /// Own: Contact find policy
         CVPbkContactFindPolicy* iFindPolicy;
- 
+
  #ifdef _DEBUG
         void __DbgTestInvariant() const;
  #endif // _DEBUG