PECengine/IncPresenceModel/TPEngContactListBaseSettings.h
branchRCL_3
changeset 17 a941bc465d9f
parent 0 094583676ce7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PECengine/IncPresenceModel/TPEngContactListBaseSettings.h	Wed Sep 01 12:31:13 2010 +0100
@@ -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 <E32Def.h>
+
+
+//  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
+
+