phonebookui/Phonebook2/inc/MPbk2FetchDlg.h
changeset 0 e686773b3f54
child 18 d4f567ce2e7c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookui/Phonebook2/inc/MPbk2FetchDlg.h	Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,134 @@
+/*
+* Copyright (c) 2005-2007 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:  Phonebook 2 fetch dialog interface.
+*
+*/
+
+
+#ifndef MPBK2FETCHDLG_H
+#define MPBK2FETCHDLG_H
+
+//  INCLUDES
+#include <e32std.h>
+#include <MPbk2ControlObserver.h>
+
+//  FORWARD DECLARATIONS
+class CCoeControl;
+class MVPbkContactViewBase;
+class MVPbkContactLink;
+class MVPbkContactLinkArray;
+class MPbk2FetchDlgPage;
+class MPbk2FetchDlgObserver;
+
+// CLASS DECLARATION
+
+/**
+ * Phonebook 2 fetch dialog interface.
+ */
+class MPbk2FetchDlg : public MPbk2ControlObserver
+    {
+    public: // Interface
+
+        /**
+         * Returns a dialog control with id aCtrlId.
+         *
+         * @param aCtrlId   Control id.
+         * @return  Dialog control.
+         */
+        virtual CCoeControl* FetchDlgControl(
+                TInt aCtrlId ) const = 0;
+
+        /**
+         * Returns the contact view used.
+         *
+         * @param aControlId    Control id, used to determine which
+         *                      view to return.
+         * @return  The contact view.
+         */
+        virtual MVPbkContactViewBase& FetchDlgViewL(
+                TInt aControlId ) const = 0;
+
+        /**
+         * Returns the contact view used.
+         *
+         * @param aControlId    Control id, used to determine which
+         *                      view to set.
+         * @param aView         The view to set.
+         */
+        virtual void SetFetchDlgViewL(
+                TInt aControlId,
+                MVPbkContactViewBase& aView ) = 0;
+
+        /**
+         * Returns the current fetch dialog selection set.
+         *
+         * @return  Selected contacts.
+         */
+        virtual MVPbkContactLinkArray& FetchDlgSelection() = 0;
+
+        /**
+         * Displays an async error aError note in the UI.
+         *
+         * @param aError    The error code.
+         */
+        virtual void FetchDlgHandleError(
+                TInt aError ) = 0;
+
+        /**
+         * Returns the rectangle to use for the control.
+         *
+         * @return  Rectangle area.
+         */
+        virtual TRect FetchDlgClientRect() const = 0;
+
+        /**
+         * Called by a dialog page aPage when its state or contents
+         * has changed.
+         *
+         * @param aPage     The page whose contents have changed.
+         */
+        virtual void FetchDlgPageChangedL(
+                MPbk2FetchDlgPage& aPage ) = 0;
+
+        /**
+         * Returns the fetch dialog observer
+         *
+         * @return  Observer.
+         */
+        virtual MPbk2FetchDlgObserver& FetchDlgObserver() const = 0;
+
+        /**
+         * Causes the selection or deselection of given contact.
+         *
+         * @param aLink         The contact to select/deselect.
+         * @param aSelected     ETrue to select contact,
+         *                      EFalse to deselect contact.
+         */
+        virtual void SelectContactL(
+                const MVPbkContactLink& aLink,
+                TBool aSelected ) = 0;
+
+    protected: // Protected functions
+
+        /**
+         * Protected destructor. Concrete fetch dialog objects are not
+         * destroyed through this interface.
+         */
+        virtual ~MPbk2FetchDlg()
+                {}
+    };
+
+#endif // MPBK2FETCHDLG_H
+
+// End of File