epoc32/include/app/calchangecallback.h
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
--- a/epoc32/include/app/calchangecallback.h	Wed Mar 31 12:27:01 2010 +0100
+++ b/epoc32/include/app/calchangecallback.h	Wed Mar 31 12:33:34 2010 +0100
@@ -1,9 +1,9 @@
 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
-// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+// under the terms of "Eclipse Public License v1.0"
 // which accompanies this distribution, and is available
-// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
 //
 // Initial Contributors:
 // Nokia Corporation - initial contribution.
@@ -84,61 +84,104 @@
 class MCalChangeCallBack2
 	{
 public:
-	/** Instance view change type
-	@publishedAll
-	@released
+	/**
+	Type of change to the entry.
 	*/
 	enum TChangeType
 		{
-		/**	Entries are added */
+		/**	Calendar entry added. */
 		EChangeAdd,
-		/** Entries are deleted */
+		/** Calendar entry deleted. */
 		EChangeDelete,
-		/** Entries are modified */
+		/** Calendar entry modified. */
 		EChangeModify,
-		/** Undefined entries */
-		EChangeUndefined
+		/** Undefined Calendar entry change. */
+		EChangeUndefined,
+		/** The time zone rules for one or more Calendar entries have changed. */
+		EChangeTzRules,
+        /** Backup Starts
+        * When the backup event is in process, the Calendar file is locked. 
+        * Most of operations are not permitted when it happens. However, few
+        * operations, such as notification request, enabling broadcast
+        * and closing Calendar is still permitted.
+        * */
+        EBackupStart,
+        /** Restore Starts 
+        * When the restore event is in process, the Calendar file is locked. 
+        * Most of operations are not permitted when it happens. However, few
+        * operations, such as notification request, enabling broadcast
+        * and closing Calendar is still permitted.
+        */
+        ERestoreStart,       
+        /** Backup Ends 
+        * When the backup event is completed, the Calendar file is unlocked. 
+        * The application can continue to operate on the current Calendar file.
+        */
+        EBackupEnd,
+        /** Restore Ends
+        * When the restore event is completed, the Calendar file is unlocked. 
+        * The application can operate on the restored Calendar file after the application
+        * is notified with the message. However, if the application has cached any
+        * Calendar objects, such as Calendar file ID, Calendar entries, Calendar instances,
+        * they are not necessarily synched with the data in the newly restored Calendar file. 
+        */
+        ERestoreEnd,
+        /** The restored Calendar file can not be opened 
+        * When the restore event is completed, the newly restored Calendar file can not
+        * be opened. It is because either the file version is not supported or the data is corrupted.
+        * Apart from closing the session and delete the file, no any other operation is permitted
+        * when it happens.
+        */
+        ERestoredFileCanNotBeOpened
 		};
 
-	/** Instance view entry type
-	@publishedAll
-	@released
+	/**
+	Type of entry.
 	*/
 	enum TChangeEntryType
 		{
-		/** Entry type is todo */
+		/** Entry type is todo. */
 		EChangeEntryTodo,
-		/** Entry type is event */
+		/** Entry type is event. */
 		EChangeEntryEvent,
-		/** All entry types */
+		/** All entry types. */
 		EChangeEntryAll
 		};
-	/** A call back function for change notification
-	@param aChangeItems  List of changes since the last notification.
 
+	/**
+	A call back function for change notification.
+	
+	@param aChangeItems List of changes since the last notification.
 	*/
 	virtual void CalChangeNotification(RArray<TCalChangeEntry>& aChangeItems) = 0;
 	};
 
-/** Struct for storing change notification data.
-This contains the calendar local ID, the type of change and the entry type.
+/**
+A structure for storing Calendar change notification data.  This contains the
+Calendar entry local UID, the type of change and the entry type.
+
+The iChangeEntryType member may be set to MCalChangeCallBack2::EChangeEntryTodo
+or MCalChangeCallBack2::EChangeEntryEvent.  MCalChangeCallBack2::EChangeEntryAll
+is provided for call back registration only.
 
-The iChangeType will only be set to EChangeEntryTodo or EChangeEntryEvent
-values. EChangeEntryAll is provided for callback registration only.
+If the iChangeType member is MCalChangeCallBack2::EChangeUndefined or
+MCalChangeCallBack2::EChangeTzRules, iEntryId and iEntryType are undefined and
+should not be used by clients.
 
-If iChangeType is EChangeUndefined or EChangeOverflowError, iEntryId and
-iEntryType are undefined and should not be used by clients.
+When the iChangeType member is MCalChangeCallBack2::EChangeTzRules a change in
+time zone rules has been detected and processed by the Calendar server.  The
+client should refresh any instance data they own as a result of this change.
 
 @publishedAll
 @released
 */
 struct TCalChangeEntry
 	{
-	/** Local UID of the entry */
+	/** Local UID of the entry. */
 	TCalLocalUid iEntryId;
-	/** Type of change to the entry */
+	/** Type of change to the entry. */
 	MCalChangeCallBack2::TChangeType iChangeType;
-	/** Type of entry */
+	/** Type of entry. */
 	MCalChangeCallBack2::TChangeEntryType iEntryType;
 	};