williamr@4: /* williamr@4: * Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). williamr@4: * All rights reserved. williamr@4: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@4: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: * williamr@4: * Initial Contributors: williamr@4: * Nokia Corporation - initial contribution. williamr@4: * williamr@4: * Contributors: williamr@4: * williamr@4: * Description: A factory for creating contact view filters. williamr@4: * williamr@4: */ williamr@4: williamr@4: williamr@4: #ifndef VPBKCONTACTVIEWFILTERBUILDER_H williamr@4: #define VPBKCONTACTVIEWFILTERBUILDER_H williamr@4: williamr@4: // INCLUDES williamr@4: #include williamr@4: #include williamr@4: williamr@4: // FORWARD DECLARATIONS williamr@4: class CVPbkFieldTypeSelector; williamr@4: class CVPbkContactManager; williamr@4: williamr@4: // CLASS DECLARATION williamr@4: williamr@4: /** williamr@4: * A factory for creating contact view filters. williamr@4: * williamr@4: * A contact view filter can be used in a contact view definition williamr@4: * when the client wants to create a view that is filtered by williamr@4: * field types i.e. only contacts that have a certain fields williamr@4: * are included in the view. williamr@4: * williamr@4: * @see CVPbkContactViewDefinition::SetFieldTypeFilterL williamr@4: * @lib VPbkEng.lib williamr@4: */ williamr@4: class VPbkContactViewFilterBuilder williamr@4: { williamr@4: public: // Interface williamr@4: /** williamr@4: * Appends a filter for the given field type selector. williamr@4: * williamr@4: * @param aFieldTypeSelector The selector object to that is modified. williamr@4: * @param aFilter Defines the field types that are added to the williamr@4: * selector. williamr@4: * @param aContactManager The contact manager. williamr@4: * @return A reference to the passed selector object for enabling williamr@4: * chained calls. williamr@4: */ williamr@4: IMPORT_C static CVPbkFieldTypeSelector& BuildContactViewFilterL( williamr@4: CVPbkFieldTypeSelector& aFieldTypeSelector, williamr@4: TVPbkContactViewFilter aFilter, williamr@4: CVPbkContactManager& aContactManager ); williamr@4: }; williamr@4: williamr@4: #endif // VPBKCONTACTVIEWFILTERBUILDER_H williamr@4: williamr@4: // End of File