1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/app/VPbkContactView.hrh Wed Mar 31 12:33:34 2010 +0100
1.3 @@ -0,0 +1,156 @@
1.4 +/*
1.5 +* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
1.6 +* All rights reserved.
1.7 +* This component and the accompanying materials are made available
1.8 +* under the terms of "Eclipse Public License v1.0"
1.9 +* which accompanies this distribution, and is available
1.10 +* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +*
1.12 +* Initial Contributors:
1.13 +* Nokia Corporation - initial contribution.
1.14 +*
1.15 +* Contributors:
1.16 +*
1.17 +* Description: Data types for the view definition
1.18 +*
1.19 +*/
1.20 +
1.21 +
1.22 +#ifndef VPBKCONTACTVIEW_HRH
1.23 +#define VPBKCONTACTVIEW_HRH
1.24 +
1.25 +/**
1.26 + * Default view id value for view definition.
1.27 + */
1.28 +#define KVPbkDefaultViewId -1
1.29 +
1.30 +/**
1.31 + * Sort policy types for the contact view definition.
1.32 + */
1.33 +enum TVPbkContactViewSortPolicy
1.34 + {
1.35 + /// Use this together with EVPbkCompositeView if the subviews must
1.36 + /// be showed in order i.e. show all contacts from subView1 and after
1.37 + /// that all contacts from subView2
1.38 + EVPbkOrderedContactView = 0,
1.39 + /// Leaf views are usually always sorted. If this is used together
1.40 + /// with EVPbkCompositeView then the composite merges contacts from
1.41 + /// sorted subviews.
1.42 + EVPbkSortedContactView,
1.43 + /// Used to create an unsorted view which means that contacts are
1.44 + /// showed in the order they have been saved in the store. Not all stores
1.45 + /// support this type. You can never use this in EVPbkCompositeView type
1.46 + /// of view. You can not use this in a subview of the composite view whose
1.47 + /// policy is EVPbkSortedContactView.
1.48 + EVPbkUnsortedContactView
1.49 + };
1.50 +
1.51 +/**
1.52 + * Contact view types for the contact view definition.
1.53 + */
1.54 +enum TVPbkContactViewType
1.55 + {
1.56 + /// Type for the contact leaf view. There is zero subviews.
1.57 + EVPbkContactsView,
1.58 + /// Type for the group leaf view. There is zero subviews.
1.59 + EVPbkGroupsView,
1.60 + /// Type for the folding view. Folding view definition
1.61 + /// should usually have one subview definition that is used
1.62 + /// to create a view when folding view is expanded.
1.63 + EVPbkFoldingView,
1.64 + /// Use this type if the view can have several subviews. If
1.65 + /// there is no subviews then it's interpreted as a placeholder.
1.66 + EVPbkCompositeView
1.67 + };
1.68 +
1.69 +/**
1.70 + * Defines the sharing of the contact view.
1.71 + *
1.72 + * A store can have a server that shares the same view for multiple clients
1.73 + * for saving resources. On the other hand the view can be created only
1.74 + * for one client's purpose e.g using a special sort order and in this case
1.75 + * the view is a local view.
1.76 + */
1.77 +enum TVPbkContactViewSharing
1.78 + {
1.79 + /// Default value for VPBK_CONTACT_VIEW definition viewSharing.
1.80 + /// Don't set this for CVPbkContactViewDefinition.
1.81 + EVPbkViewSharingUndefined,
1.82 + /// Inform store that is should create a handle to shared view
1.83 + /// that can be used by multiple clients.
1.84 + EVPbkSharedView,
1.85 + /// Inform store that it should create a local view that
1.86 + /// is only used by single client.
1.87 + EVPbkLocalView
1.88 + };
1.89 +
1.90 +/**
1.91 + * Contact view flags for the contact view definition.
1.92 + */
1.93 +enum TVPbkContactViewFlag
1.94 + {
1.95 + /// No flags
1.96 + EVPbkContactViewFlagsNone = 0x00000000,
1.97 + EVPbkExcludeEmptyGroups = 0x00000001
1.98 + };
1.99 +
1.100 +/**
1.101 + * In the following filter list the supported contact view filters
1.102 + * are defined.
1.103 + *
1.104 + * Some stores support native and fast filtering for certain filters but
1.105 + * part of the filters can cause performance problems with large contact
1.106 + * number.
1.107 + * E.g. Contacts Model store has optimized filters for:
1.108 + * -EVPbkContactViewFilterEmail
1.109 + * -EVPbkContactViewFilterPhoneNumber
1.110 + * -EVPbkContactViewFilterMobileNumber
1.111 + * -EVPbkContactViewFilterFaxNumber
1.112 + * -EVPbkContactViewFilterRingingTone
1.113 + *
1.114 + * The filters can be combined by using the VPbkContactViewFilterBuilder
1.115 + * services. The combined filter ORs the filters; the returned contacts
1.116 + * match to at least one of the filters.
1.117 + *
1.118 + * @see VPbkContactViewFilterBuilder
1.119 + */
1.120 +enum TVPbkContactViewFilter
1.121 + {
1.122 + /// The view is unfiltered; it includes all the contacts
1.123 + EVPbkContactViewFilterNone = 0,
1.124 + /// The filter includes items that have an email address
1.125 + EVPbkContactViewFilterEmail = 1,
1.126 + /// The filter includes items that have a phone number
1.127 + /// (the definition of phone number includes general/mobile/etc. number)
1.128 + EVPbkContactViewFilterPhoneNumber,
1.129 + /// The filter includes items that have a mobile phone number
1.130 + EVPbkContactViewFilterMobileNumber,
1.131 + /// The filter includes items that have a fax number
1.132 + EVPbkContactViewFilterFaxNumber,
1.133 + /// The filter includes items that have a ringing tone defined
1.134 + EVPbkContactViewFilterRingingTone,
1.135 + /// The filter includes items that have a video number
1.136 + EVPbkContactViewFilterVideoNumber = 1000,
1.137 + /// The filter includes items that have a pager number
1.138 + EVPbkContactViewFilterPagerNumber,
1.139 + /// The filter includes items that have a DTMF field
1.140 + EVPbkContactViewFilterDTMF,
1.141 + /// The filter includes items that have a VoIP number
1.142 + EVPbkContactViewFilterVoIP,
1.143 + /// The filter includes items that are TopContact
1.144 + EVPbkContactViewFilterTopContact
1.145 + };
1.146 +
1.147 +/**
1.148 + * The version of the contact view definition version structure
1.149 + */
1.150 +enum TVPbkContactViewVersion
1.151 + {
1.152 + EVPbkContactViewV1 = 1,
1.153 + EVPbkContactViewV2,
1.154 + EVPbkContactViewV3
1.155 + };
1.156 +
1.157 +#endif // VPBKCONTACTVIEW_HRH
1.158 +
1.159 +// End of File