williamr@2: /* williamr@2: * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: williamr@2: * Abstract Phonebook entry interface. williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: #ifndef __CPbkIdleFinder_H__ williamr@2: #define __CPbkIdleFinder_H__ williamr@2: williamr@2: // INCLUDES williamr@2: #include <e32base.h> // CBase williamr@2: williamr@2: // FORWARD DECLARATIONS williamr@2: class CIdleFinder; williamr@2: class CContactItemFieldDef; williamr@2: class CContactIdArray; williamr@2: williamr@2: // CLASS DECLARATION williamr@2: williamr@2: /** williamr@2: * Phonebook idle finder class. Wrapper for Contact Model's CIdleFinder. williamr@2: * @see CIdleFinder. williamr@2: */ williamr@2: class CPbkIdleFinder : public CBase williamr@2: { williamr@2: public: // Constructors and destructors williamr@2: /** williamr@2: * Constructor. Not exported because objects of this class are created williamr@2: * only by CPbkContactEngine. williamr@2: * williamr@2: * @param aFinder Contact Model idle finder object. This takes williamr@2: * ownership of aFinder. williamr@2: * @param aFieldDef Field defintion passed to aFinder. This takes williamr@2: * ownership of aFieldDef. williamr@2: */ williamr@2: CPbkIdleFinder(CIdleFinder* aFinder, CContactItemFieldDef* aFieldDef); williamr@2: williamr@2: /** williamr@2: * Destructor. williamr@2: */ williamr@2: ~CPbkIdleFinder(); williamr@2: williamr@2: public: // CIdleFinder interface williamr@2: /** williamr@2: * Tests whether a search is complete. williamr@2: * @return ETrue if complete, EFalse if not. williamr@2: * @see CIdleFinder::IsCompelete(). williamr@2: */ williamr@2: IMPORT_C TBool IsComplete() const; williamr@2: williamr@2: /** williamr@2: * Gives access and ownership of the contact ids found in the search. williamr@2: * @return Contacts id's found in the search. williamr@2: * @see CIdleFinder::TakeContactIds(). williamr@2: */ williamr@2: IMPORT_C CContactIdArray* TakeContactIds(); williamr@2: williamr@2: /** williamr@2: * Check for errors when search is complete. williamr@2: * @return Error code. KErrNone if no errors occurred during the search. williamr@2: * @see CIdleFinder::Error(). williamr@2: */ williamr@2: IMPORT_C TInt Error() const; williamr@2: williamr@2: public: // Additional interface williamr@2: /** williamr@2: * Returns the CIdleFinder passed to constructor. Ownership not williamr@2: * transferred. williamr@2: * @return Symbian Contacts model Idle finder object. NULL if not set. williamr@2: */ williamr@2: IMPORT_C CIdleFinder* IdleFinder() const; williamr@2: williamr@2: /** williamr@2: * Returns the CContactItemFieldDef passed to constructor. Ownership williamr@2: * not transferred. williamr@2: * @return Symbian Contacts model contact item field definition. NULL williamr@2: * if not set. williamr@2: */ williamr@2: IMPORT_C CContactItemFieldDef* FieldDef() const; williamr@2: williamr@2: private: // Data williamr@2: /// Own: idle finder object williamr@2: CIdleFinder* iFinder; williamr@2: /// Own: field definition (array of field types) williamr@2: CContactItemFieldDef* iFieldDef; williamr@2: }; williamr@2: williamr@2: williamr@2: #endif // __CPbkIdleFinder_H__ williamr@2: williamr@2: // End of File