diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/app/VPbkContactView.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/epoc32/include/app/VPbkContactView.hrh Wed Mar 31 12:33:34 2010 +0100 @@ -0,0 +1,156 @@ +/* +* Copyright (c) 2004-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: Data types for the view definition +* +*/ + + +#ifndef VPBKCONTACTVIEW_HRH +#define VPBKCONTACTVIEW_HRH + +/** + * Default view id value for view definition. + */ +#define KVPbkDefaultViewId -1 + +/** + * Sort policy types for the contact view definition. + */ +enum TVPbkContactViewSortPolicy + { + /// Use this together with EVPbkCompositeView if the subviews must + /// be showed in order i.e. show all contacts from subView1 and after + /// that all contacts from subView2 + EVPbkOrderedContactView = 0, + /// Leaf views are usually always sorted. If this is used together + /// with EVPbkCompositeView then the composite merges contacts from + /// sorted subviews. + EVPbkSortedContactView, + /// Used to create an unsorted view which means that contacts are + /// showed in the order they have been saved in the store. Not all stores + /// support this type. You can never use this in EVPbkCompositeView type + /// of view. You can not use this in a subview of the composite view whose + /// policy is EVPbkSortedContactView. + EVPbkUnsortedContactView + }; + +/** + * Contact view types for the contact view definition. + */ +enum TVPbkContactViewType + { + /// Type for the contact leaf view. There is zero subviews. + EVPbkContactsView, + /// Type for the group leaf view. There is zero subviews. + EVPbkGroupsView, + /// Type for the folding view. Folding view definition + /// should usually have one subview definition that is used + /// to create a view when folding view is expanded. + EVPbkFoldingView, + /// Use this type if the view can have several subviews. If + /// there is no subviews then it's interpreted as a placeholder. + EVPbkCompositeView + }; + +/** + * Defines the sharing of the contact view. + * + * A store can have a server that shares the same view for multiple clients + * for saving resources. On the other hand the view can be created only + * for one client's purpose e.g using a special sort order and in this case + * the view is a local view. + */ +enum TVPbkContactViewSharing + { + /// Default value for VPBK_CONTACT_VIEW definition viewSharing. + /// Don't set this for CVPbkContactViewDefinition. + EVPbkViewSharingUndefined, + /// Inform store that is should create a handle to shared view + /// that can be used by multiple clients. + EVPbkSharedView, + /// Inform store that it should create a local view that + /// is only used by single client. + EVPbkLocalView + }; + +/** + * Contact view flags for the contact view definition. + */ +enum TVPbkContactViewFlag + { + /// No flags + EVPbkContactViewFlagsNone = 0x00000000, + EVPbkExcludeEmptyGroups = 0x00000001 + }; + +/** + * In the following filter list the supported contact view filters + * are defined. + * + * Some stores support native and fast filtering for certain filters but + * part of the filters can cause performance problems with large contact + * number. + * E.g. Contacts Model store has optimized filters for: + * -EVPbkContactViewFilterEmail + * -EVPbkContactViewFilterPhoneNumber + * -EVPbkContactViewFilterMobileNumber + * -EVPbkContactViewFilterFaxNumber + * -EVPbkContactViewFilterRingingTone + * + * The filters can be combined by using the VPbkContactViewFilterBuilder + * services. The combined filter ORs the filters; the returned contacts + * match to at least one of the filters. + * + * @see VPbkContactViewFilterBuilder + */ +enum TVPbkContactViewFilter + { + /// The view is unfiltered; it includes all the contacts + EVPbkContactViewFilterNone = 0, + /// The filter includes items that have an email address + EVPbkContactViewFilterEmail = 1, + /// The filter includes items that have a phone number + /// (the definition of phone number includes general/mobile/etc. number) + EVPbkContactViewFilterPhoneNumber, + /// The filter includes items that have a mobile phone number + EVPbkContactViewFilterMobileNumber, + /// The filter includes items that have a fax number + EVPbkContactViewFilterFaxNumber, + /// The filter includes items that have a ringing tone defined + EVPbkContactViewFilterRingingTone, + /// The filter includes items that have a video number + EVPbkContactViewFilterVideoNumber = 1000, + /// The filter includes items that have a pager number + EVPbkContactViewFilterPagerNumber, + /// The filter includes items that have a DTMF field + EVPbkContactViewFilterDTMF, + /// The filter includes items that have a VoIP number + EVPbkContactViewFilterVoIP, + /// The filter includes items that are TopContact + EVPbkContactViewFilterTopContact + }; + +/** + * The version of the contact view definition version structure + */ +enum TVPbkContactViewVersion + { + EVPbkContactViewV1 = 1, + EVPbkContactViewV2, + EVPbkContactViewV3 + }; + +#endif // VPBKCONTACTVIEW_HRH + +// End of File