epoc32/include/app/VPbkContactView.hrh
branchSymbian3
changeset 4 837f303aceeb
     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