PECengine/IncPresenceModel/TPEngContactListBaseSettings.h
branchRCL_3
changeset 17 a941bc465d9f
parent 0 094583676ce7
equal deleted inserted replaced
16:6ca72c0fe49a 17:a941bc465d9f
       
     1 /*
       
     2 * Copyright (c) 2004 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:  Contact list base settings.
       
    15 *
       
    16 */
       
    17 
       
    18 #ifndef __TPENGCONTACTLISTBASESETTINGS_H
       
    19 #define __TPENGCONTACTLISTBASESETTINGS_H
       
    20 
       
    21 //  INCLUDES
       
    22 #include <E32Def.h>
       
    23 
       
    24 
       
    25 //  DATA TYPES
       
    26 
       
    27 enum TPEngContactListType
       
    28     {
       
    29     /**
       
    30      * Contact List is stored in memory, its content is removed
       
    31      * when PEC engine is logged of. Contact list cannot have any
       
    32      * permanent Data, which should be persistent over to the
       
    33      * session.
       
    34      *
       
    35      * This Type of the contact list is intented mainly for
       
    36      * contact lists, which master copy is held by the network server.
       
    37      *
       
    38      * For such list, MPEngContactItem permanent extension values
       
    39      * cannot be used, and cached extension values should be used
       
    40      * instead. Scope of cached extension values ends at the end
       
    41      * of the presence session.
       
    42      */
       
    43     EPEngCachedContactList = 0,
       
    44 
       
    45 
       
    46     /**
       
    47      * Contact list is permanently stored on the device disc.
       
    48      * Its content is persistent over the session, however set of contact
       
    49      * IDs of the contact list, can be updated after it synchronization
       
    50      * based on synchronization rules.
       
    51      *
       
    52      * This type of the contact list is intented mainly for contact lists
       
    53      * which master copy is held by the device. However they can be used
       
    54      * also for contact list, which master copy is held by the network
       
    55      * server if there is a need to store some permanent extension data
       
    56      * along the list and its contacts.
       
    57      *
       
    58      * With this type of the contact list, permanent MPEngContactItem extension
       
    59      * values can be used. Permanent extension values are persistent over
       
    60      * the sessions. When certain contact ID is removed from the list
       
    61      * during the contact list synchronization, contact permanent extension
       
    62      * values are lost.
       
    63      */
       
    64     EPEngPermanentlyStoredContactList = 1
       
    65     };
       
    66 
       
    67 
       
    68 
       
    69 
       
    70 //  CLASS DEFINITION
       
    71 
       
    72 /**
       
    73  * Contact list base settings.
       
    74  * Base settings to be used in contact list creation.
       
    75  *
       
    76  * @since 3.0
       
    77  */
       
    78 class TPEngContactListBaseSettings
       
    79     {
       
    80     public:  // Constructor
       
    81 
       
    82         /**
       
    83          *  Default constructor
       
    84          */
       
    85         inline TPEngContactListBaseSettings();
       
    86 
       
    87         inline TPEngContactListBaseSettings(
       
    88             const TPEngContactListBaseSettings& aSettings );
       
    89     public: //Data
       
    90 
       
    91         //OWN: Contact list type
       
    92         TPEngContactListType   iContactListType;
       
    93 
       
    94 
       
    95 
       
    96         //OWN: Contact list name auto update needed
       
    97         // - ETrue if contact list name should be updated when
       
    98         //   user name and the domain are known
       
    99         // - EFalse if no list name auto update needed
       
   100         TBool					iContactListNameAutoUpdate;
       
   101 
       
   102 
       
   103     public: //Reserved for future
       
   104 
       
   105         //OWN: Reserved
       
   106         TUint8  iReserved[ 20 ];
       
   107 
       
   108     };
       
   109 
       
   110 
       
   111 
       
   112 
       
   113 
       
   114 //=========== TPEngContactListBaseSettings MEMBER FUNCTIONS ===========
       
   115 
       
   116 // C++ default constructor can NOT contain any code, that
       
   117 // might leave.
       
   118 //
       
   119 inline TPEngContactListBaseSettings::TPEngContactListBaseSettings()
       
   120     {
       
   121     Mem::FillZ( this, sizeof( TPEngContactListBaseSettings ) );
       
   122     }
       
   123 
       
   124 inline TPEngContactListBaseSettings::TPEngContactListBaseSettings(
       
   125     const TPEngContactListBaseSettings& aSettings )
       
   126         : iContactListType( aSettings.iContactListType ),
       
   127         iContactListNameAutoUpdate( aSettings.iContactListNameAutoUpdate )
       
   128     {
       
   129     }
       
   130 
       
   131 #endif //  __TPENGCONTACTLISTBASESETTINGS_H
       
   132 
       
   133 
       
   134 //End of file
       
   135 
       
   136