epoc32/include/app/VPbkContactView.hrh
branchSymbian3
changeset 4 837f303aceeb
equal deleted inserted replaced
3:e1b950c65cb4 4:837f303aceeb
       
     1 /*
       
     2 * Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Data types for the view definition
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef VPBKCONTACTVIEW_HRH
       
    20 #define VPBKCONTACTVIEW_HRH
       
    21 
       
    22 /**
       
    23  * Default view id value for view definition.
       
    24  */
       
    25 #define KVPbkDefaultViewId -1
       
    26 
       
    27 /**
       
    28  * Sort policy types for the contact view definition.
       
    29  */
       
    30 enum TVPbkContactViewSortPolicy
       
    31     {
       
    32     /// Use this together with EVPbkCompositeView if the subviews must
       
    33     /// be showed in order i.e. show all contacts from subView1 and after
       
    34     /// that all contacts from subView2
       
    35     EVPbkOrderedContactView = 0,
       
    36     /// Leaf views are usually always sorted. If this is used together
       
    37     /// with EVPbkCompositeView then the composite merges contacts from
       
    38     /// sorted subviews.
       
    39     EVPbkSortedContactView,
       
    40     /// Used to create an unsorted view which means that contacts are
       
    41     /// showed in the order they have been saved in the store. Not all stores
       
    42     /// support this type. You can never use this in EVPbkCompositeView type
       
    43     /// of view. You can not use this in a subview of the composite view whose
       
    44     /// policy is EVPbkSortedContactView.
       
    45     EVPbkUnsortedContactView
       
    46     };
       
    47 
       
    48 /**
       
    49  * Contact view types for the contact view definition.
       
    50  */
       
    51 enum TVPbkContactViewType
       
    52     {
       
    53     /// Type for the contact leaf view. There is zero subviews.
       
    54     EVPbkContactsView,
       
    55     /// Type for the group leaf view. There is zero subviews.
       
    56     EVPbkGroupsView,
       
    57     /// Type for the folding view. Folding view definition
       
    58     /// should usually have one subview definition that is used
       
    59     /// to create a view when folding view is expanded.
       
    60     EVPbkFoldingView,
       
    61     /// Use this type if the view can have several subviews. If
       
    62     /// there is no subviews then it's interpreted as a placeholder.
       
    63     EVPbkCompositeView
       
    64     };
       
    65 
       
    66 /**
       
    67  * Defines the sharing of the contact view. 
       
    68  *
       
    69  * A store can have a server that shares the same view for multiple clients
       
    70  * for saving resources. On the other hand the view can be created only
       
    71  * for one client's purpose e.g using a special sort order and in this case
       
    72  * the view is a local view.
       
    73  */
       
    74 enum TVPbkContactViewSharing
       
    75     {
       
    76     /// Default value for VPBK_CONTACT_VIEW definition viewSharing.
       
    77     /// Don't set this for CVPbkContactViewDefinition.
       
    78     EVPbkViewSharingUndefined,
       
    79     /// Inform store that is should create a handle to shared view
       
    80     /// that can be used by multiple clients.
       
    81     EVPbkSharedView,
       
    82     /// Inform store that it should create a local view that
       
    83     /// is only used by single client.
       
    84     EVPbkLocalView
       
    85     };
       
    86     
       
    87 /**
       
    88  * Contact view flags for the contact view definition. 
       
    89  */
       
    90 enum TVPbkContactViewFlag
       
    91     {
       
    92     /// No flags
       
    93     EVPbkContactViewFlagsNone   = 0x00000000,
       
    94     EVPbkExcludeEmptyGroups     = 0x00000001
       
    95     };
       
    96 
       
    97 /**
       
    98  * In the following filter list the supported contact view filters
       
    99  * are defined.
       
   100  *
       
   101  * Some stores support native and fast filtering for certain filters but
       
   102  * part of the filters can cause performance problems with large contact
       
   103  * number.
       
   104  * E.g. Contacts Model store has optimized filters for:
       
   105  * -EVPbkContactViewFilterEmail
       
   106  * -EVPbkContactViewFilterPhoneNumber
       
   107  * -EVPbkContactViewFilterMobileNumber
       
   108  * -EVPbkContactViewFilterFaxNumber
       
   109  * -EVPbkContactViewFilterRingingTone
       
   110  *
       
   111  * The filters can be combined by using the VPbkContactViewFilterBuilder
       
   112  * services. The combined filter ORs the filters; the returned contacts
       
   113  * match to at least one of the filters.
       
   114  *
       
   115  * @see VPbkContactViewFilterBuilder
       
   116  */
       
   117 enum TVPbkContactViewFilter
       
   118     {
       
   119     /// The view is unfiltered; it includes all the contacts
       
   120     EVPbkContactViewFilterNone = 0,
       
   121     /// The filter includes items that have an email address
       
   122     EVPbkContactViewFilterEmail = 1,
       
   123     /// The filter includes items that have a phone number
       
   124     /// (the definition of phone number includes general/mobile/etc. number)
       
   125     EVPbkContactViewFilterPhoneNumber,
       
   126     /// The filter includes items that have a mobile phone number
       
   127     EVPbkContactViewFilterMobileNumber,
       
   128     /// The filter includes items that have a fax number
       
   129     EVPbkContactViewFilterFaxNumber,
       
   130     /// The filter includes items that have a ringing tone defined
       
   131     EVPbkContactViewFilterRingingTone,
       
   132     /// The filter includes items that have a video number
       
   133     EVPbkContactViewFilterVideoNumber       = 1000,
       
   134     /// The filter includes items that have a pager number
       
   135     EVPbkContactViewFilterPagerNumber,
       
   136     /// The filter includes items that have a DTMF field
       
   137     EVPbkContactViewFilterDTMF,
       
   138     /// The filter includes items that have a VoIP number
       
   139     EVPbkContactViewFilterVoIP,
       
   140     /// The filter includes items that are TopContact
       
   141     EVPbkContactViewFilterTopContact
       
   142     };
       
   143 
       
   144 /**
       
   145  * The version of the contact view definition version structure
       
   146  */
       
   147 enum TVPbkContactViewVersion
       
   148     {
       
   149     EVPbkContactViewV1 = 1,
       
   150     EVPbkContactViewV2,
       
   151     EVPbkContactViewV3
       
   152     };
       
   153     
       
   154 #endif // VPBKCONTACTVIEW_HRH
       
   155 
       
   156 // End of File