diff -r 81f8547efd4f -r e8e3147d53eb phonebookui/Phonebook2/UIControls/inc/cpbk2filteredviewstack.h --- 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 iCallbacks; /// Own: Contact find policy CVPbkContactFindPolicy* iFindPolicy; - + #ifdef _DEBUG void __DbgTestInvariant() const; #endif // _DEBUG