diff -r 000000000000 -r 094583676ce7 inc/TPEngContactListBaseSettings.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/inc/TPEngContactListBaseSettings.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,136 @@ +/* +* Copyright (c) 2004 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: Contact list base settings. +* +*/ + +#ifndef __TPENGCONTACTLISTBASESETTINGS_H +#define __TPENGCONTACTLISTBASESETTINGS_H + +// INCLUDES +#include + + +// DATA TYPES + +enum TPEngContactListType + { + /** + * Contact List is stored in memory, its content is removed + * when PEC engine is logged of. Contact list cannot have any + * permanent Data, which should be persistent over to the + * session. + * + * This Type of the contact list is intented mainly for + * contact lists, which master copy is held by the network server. + * + * For such list, MPEngContactItem permanent extension values + * cannot be used, and cached extension values should be used + * instead. Scope of cached extension values ends at the end + * of the presence session. + */ + EPEngCachedContactList = 0, + + + /** + * Contact list is permanently stored on the device disc. + * Its content is persistent over the session, however set of contact + * IDs of the contact list, can be updated after it synchronization + * based on synchronization rules. + * + * This type of the contact list is intented mainly for contact lists + * which master copy is held by the device. However they can be used + * also for contact list, which master copy is held by the network + * server if there is a need to store some permanent extension data + * along the list and its contacts. + * + * With this type of the contact list, permanent MPEngContactItem extension + * values can be used. Permanent extension values are persistent over + * the sessions. When certain contact ID is removed from the list + * during the contact list synchronization, contact permanent extension + * values are lost. + */ + EPEngPermanentlyStoredContactList = 1 + }; + + + + +// CLASS DEFINITION + +/** + * Contact list base settings. + * Base settings to be used in contact list creation. + * + * @since 3.0 + */ +class TPEngContactListBaseSettings + { + public: // Constructor + + /** + * Default constructor + */ + inline TPEngContactListBaseSettings(); + + inline TPEngContactListBaseSettings( + const TPEngContactListBaseSettings& aSettings ); + public: //Data + + //OWN: Contact list type + TPEngContactListType iContactListType; + + + + //OWN: Contact list name auto update needed + // - ETrue if contact list name should be updated when + // user name and the domain are known + // - EFalse if no list name auto update needed + TBool iContactListNameAutoUpdate; + + + public: //Reserved for future + + //OWN: Reserved + TUint8 iReserved[ 20 ]; + + }; + + + + + +//=========== TPEngContactListBaseSettings MEMBER FUNCTIONS =========== + +// C++ default constructor can NOT contain any code, that +// might leave. +// +inline TPEngContactListBaseSettings::TPEngContactListBaseSettings() + { + Mem::FillZ( this, sizeof( TPEngContactListBaseSettings ) ); + } + +inline TPEngContactListBaseSettings::TPEngContactListBaseSettings( + const TPEngContactListBaseSettings& aSettings ) + : iContactListType( aSettings.iContactListType ), + iContactListNameAutoUpdate( aSettings.iContactListNameAutoUpdate ) + { + } + +#endif // __TPENGCONTACTLISTBASESETTINGS_H + + +//End of file + +