1.1 --- a/epoc32/include/calchangecallback.h Tue Mar 16 16:12:26 2010 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,172 +0,0 @@
1.4 -// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 -// All rights reserved.
1.6 -// This component and the accompanying materials are made available
1.7 -// 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
1.8 -// which accompanies this distribution, and is available
1.9 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 -//
1.11 -// Initial Contributors:
1.12 -// Nokia Corporation - initial contribution.
1.13 -//
1.14 -// Contributors:
1.15 -//
1.16 -// Description:
1.17 -//
1.18 -
1.19 -#ifndef __CALCHANGECALLBACK_H__
1.20 -#define __CALCHANGECALLBACK_H__
1.21 -
1.22 -#include <calcommon.h>
1.23 -
1.24 -class TCalChangeEntry;
1.25 -
1.26 -class MCalChangeCallBack
1.27 -/** A call back class for observing changes in the model view.
1.28 -
1.29 -A client will not be notified of a change if it is the source of
1.30 -the change.
1.31 -
1.32 -@publishedAll
1.33 -@deprecated
1.34 -*/
1.35 - {
1.36 -public:
1.37 - /** Instance view change type
1.38 - @publishedAll
1.39 - @deprecated
1.40 - */
1.41 - enum TChangeType
1.42 - {
1.43 - /** Entries are added */
1.44 - EChangeAdd,
1.45 - /** Entries are deleted */
1.46 - EChangeDelete,
1.47 - /** Entries are modified */
1.48 - EChangeModify,
1.49 - /** Undefined entries */
1.50 - EChangeUndefined,
1.51 - /** Entries cause overflow error */
1.52 - EChangeOverflowError
1.53 - };
1.54 -
1.55 - /** Instance view entry type
1.56 - @publishedAll
1.57 - @deprecated
1.58 - */
1.59 - enum TChangeEntryType
1.60 - {
1.61 - /** Entry type is todo */
1.62 - EChangeEntryTodo,
1.63 - /** Entry type is event */
1.64 - EChangeEntryEvent,
1.65 - /** All entry types */
1.66 - EChangeEntryAll
1.67 - };
1.68 - /** A call back function for change notification
1.69 - @param aChangeEntryType Filters notifications to only notify about entries of this type (event/todo/all).
1.70 -
1.71 - */
1.72 - virtual void CalChangeNotification(TChangeEntryType aChangeEntryType) = 0;
1.73 - };
1.74 -
1.75 -/** A call back class for observing changes in the model view.
1.76 -
1.77 -The call back returns an array containing information about at least
1.78 -one change to the database. The information includes the type of change
1.79 -and the identity of the item being changed.
1.80 -
1.81 -A client will not be notified of a change if it is the source of
1.82 -the change.
1.83 -
1.84 -@publishedAll
1.85 -@released
1.86 -*/
1.87 -class MCalChangeCallBack2
1.88 - {
1.89 -public:
1.90 - /** Instance view change type
1.91 - @publishedAll
1.92 - @released
1.93 - */
1.94 - enum TChangeType
1.95 - {
1.96 - /** Entries are added */
1.97 - EChangeAdd,
1.98 - /** Entries are deleted */
1.99 - EChangeDelete,
1.100 - /** Entries are modified */
1.101 - EChangeModify,
1.102 - /** Undefined entries */
1.103 - EChangeUndefined
1.104 - };
1.105 -
1.106 - /** Instance view entry type
1.107 - @publishedAll
1.108 - @released
1.109 - */
1.110 - enum TChangeEntryType
1.111 - {
1.112 - /** Entry type is todo */
1.113 - EChangeEntryTodo,
1.114 - /** Entry type is event */
1.115 - EChangeEntryEvent,
1.116 - /** All entry types */
1.117 - EChangeEntryAll
1.118 - };
1.119 - /** A call back function for change notification
1.120 - @param aChangeItems List of changes since the last notification.
1.121 -
1.122 - */
1.123 - virtual void CalChangeNotification(RArray<TCalChangeEntry>& aChangeItems) = 0;
1.124 - };
1.125 -
1.126 -/** Struct for storing change notification data.
1.127 -This contains the calendar local ID, the type of change and the entry type.
1.128 -
1.129 -The iChangeType will only be set to EChangeEntryTodo or EChangeEntryEvent
1.130 -values. EChangeEntryAll is provided for callback registration only.
1.131 -
1.132 -If iChangeType is EChangeUndefined or EChangeOverflowError, iEntryId and
1.133 -iEntryType are undefined and should not be used by clients.
1.134 -
1.135 -@publishedAll
1.136 -@released
1.137 -*/
1.138 -struct TCalChangeEntry
1.139 - {
1.140 - /** Local UID of the entry */
1.141 - TCalLocalUid iEntryId;
1.142 - /** Type of change to the entry */
1.143 - MCalChangeCallBack2::TChangeType iChangeType;
1.144 - /** Type of entry */
1.145 - MCalChangeCallBack2::TChangeEntryType iEntryType;
1.146 - };
1.147 -
1.148 -/** Class to encapsulate call back registration parameters.
1.149 -
1.150 -The type of entries, the date range and whether undated todos are included
1.151 -can be specified.
1.152 -
1.153 -@publishedAll
1.154 -@released
1.155 -*/
1.156 -class CCalChangeNotificationFilter
1.157 - {
1.158 -public:
1.159 - IMPORT_C static CCalChangeNotificationFilter* NewL(MCalChangeCallBack2::TChangeEntryType aChangeEntryType, TBool aIncludeUndatedTodos, const CalCommon::TCalTimeRange& aTimeRange);
1.160 - IMPORT_C ~CCalChangeNotificationFilter();
1.161 -
1.162 - MCalChangeCallBack2::TChangeEntryType ChangeEntryType() const;
1.163 - TCalTime StartTime() const;
1.164 - TCalTime EndTime() const;
1.165 - TBool IncludeUndatedTodos() const;
1.166 -
1.167 -private:
1.168 - CCalChangeNotificationFilter(MCalChangeCallBack2::TChangeEntryType aChangeEntryType, TBool aIncludeUndatedTodos, const CalCommon::TCalTimeRange& aTimeRange);
1.169 -
1.170 - MCalChangeCallBack2::TChangeEntryType iChangeEntryType;
1.171 - CalCommon::TCalTimeRange iTimeRange;
1.172 - TBool iIncludeUndatedTodos;
1.173 - };
1.174 -
1.175 -#endif // __CALCHANGECALLBACK_H__