diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/app/cpbkmultipleentryfetchdlg.h --- a/epoc32/include/app/cpbkmultipleentryfetchdlg.h Tue Nov 24 13:55:44 2009 +0000 +++ b/epoc32/include/app/cpbkmultipleentryfetchdlg.h Tue Mar 16 16:12:26 2010 +0000 @@ -1,1 +1,156 @@ -cpbkmultipleentryfetchdlg.h +/* +* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* Phonebook Multiple Entry Fetch API. +* +*/ + + +#ifndef __CPbkMultipleEntryFetchDlg_H__ +#define __CPbkMultipleEntryFetchDlg_H__ + +// INCLUDES +#include // CBase + +// FORWARD DECLARATIONS +class CPbkContactEngine; +class CContactViewBase; +class CContactIdArray; +class CPbkFetchDlg; +class MObjectProvider; +class MPbkFetchDlgSelection; + + +// CLASS DECLARATION + +/** + * Phonebook Multiple Entry Fetch API. This class is used to construct + * a Phonebook UI dialog where the user is able to select multiple + * contact entries from a list. The selection is then returned to the + * client. + */ +class CPbkMultipleEntryFetchDlg : public CBase + { + public: // Types + /** + * Multiple entry fetch parameter class. + */ + class TParams + { + public: // Input parameters + /** + * Contact view to display. If NULL loads the default + * contact view containing all names in the contact + * database. + */ + CContactViewBase* iContactView; + + public: // Output parameters + /** + * Returns an array of ids of the selected entries, + * undefined if the dialog is canceled. + * Caller must delete iMarkedEntries when no longer needed. + */ + CContactIdArray* iMarkedEntries; + + public: // Additional input parameters + /** + * OPTIONAL: Fetch softkey resource ID. + * If 0, default softkeys are used. + */ + TInt iCbaId; + + /** + * OPTIONAL: Fetch selection accepter. + * If NULL, not applicable. + */ + MPbkFetchDlgSelection* iFetchSelection; + + public: // Interface + /** + * C++ constructor. + */ + IMPORT_C TParams(); + + // Compiler-generated destructor is ok for this class + + /** + * Returns a cleanup item which will handle cleanup of this + * object in case of a leave. + */ + IMPORT_C operator TCleanupItem(); + + private: // Implementation + static void Cleanup(TAny* aPtr); + + private: // Unimplemented functions + /// Unimplemented copy constructor + TParams(const TParams&); + /// Unimplemented assignment operator + TParams& operator=(const TParams&); + }; + + public: // Interface + /** + * Creates a new multiple entry fetch dialog. + * + * @param aParams Fetch parameters, see TParams. + * @param aEngine Phonebook engine. + * @return A new instance of this class. + */ + IMPORT_C static CPbkMultipleEntryFetchDlg* NewL + (TParams& aParams, CPbkContactEngine& aEngine); + + /** + * See CCoeControl::SetMopParent(MObjectProvider* aParent) + */ + IMPORT_C void SetMopParent(MObjectProvider* aParent); + + /** + * Executes this dialog. + * NOTE: this object is deleted when ExecuteLD returns or leaves! + * NOTE: current status pane layout is replaced with the Phonebook + * one. Restoring the original pane is left to be the responsibility + * of the caller. + * + * @return A non-zero value if accepted, zero if canceled. + */ + IMPORT_C TInt ExecuteLD(); + + /** + * Destructor. Also cancels this dialog and makes ExecuteLD return. + */ + ~CPbkMultipleEntryFetchDlg(); + + private: // Implementation + CPbkMultipleEntryFetchDlg(TParams& aParams, CPbkContactEngine& aEngine); + void ConstructL(); + static void Panic(TInt aReason); + + private: // Data + /// Own: parameters + TParams& iParams; + /// Own: fetch dialog + CPbkFetchDlg* iFetchDlg; + /// Ref: Phonebook engine + CPbkContactEngine& iPbkEngine; + /// Ref: set to ETrue in destructor + TBool* iDestroyedPtr; + /// Own: Object Provider + MObjectProvider* iObjectProvider; + }; + +#endif // __CPbkMultipleEntryFetchDlg_H__ + +// End of File