pimappservices/calendar/inc/calfilechangenotification.h
changeset 0 f979ecb2b13e
equal deleted inserted replaced
-1:000000000000 0:f979ecb2b13e
       
     1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #ifndef __CALFILECHANGENOTIFICATION_H__
       
    17 #define __CALFILECHANGENOTIFICATION_H__
       
    18 
       
    19 class CAgnFileChangeInfo;
       
    20 class CCalFileChangeInfo;
       
    21 
       
    22 /** The mixin/interface class used for recieving calendar file change notifications.
       
    23 
       
    24 The call back returns an array containing information about at least
       
    25 one change to the calendar file. The information includes the file name and type of change.
       
    26 
       
    27 A client will not be notified of a change if it has register with the CCalSession.
       
    28 
       
    29 @publishedAll
       
    30 @prototype
       
    31 */
       
    32 class MCalFileChangeObserver
       
    33 	{
       
    34 public:
       
    35 
       
    36 	/** An enum to describe the types of file changes that may occur */
       
    37 	enum TChangeType
       
    38 		{
       
    39 		/** A calendar file has been created */
       
    40 		ECalendarFileCreated,
       
    41 		/** A calendar file has been deleted */
       
    42 		ECalendarFileDeleted,
       
    43 		/** Calendar info has been set on a calendar file */
       
    44 		ECalendarInfoCreated,
       
    45 		/** A calendar file had its calendar info updated */
       
    46 		ECalendarInfoUpdated,
       
    47 		/** Calendar info has been deleted on a calendar file */
       
    48 		ECalendarInfoDeleted
       
    49 		};
       
    50 
       
    51 public:
       
    52 
       
    53 	/** The callback that will recieve 1 or more file change notifications */
       
    54 	virtual void CalendarInfoChangeNotificationL(RPointerArray<CCalFileChangeInfo>& aCalendarInfoChangeEntries) = 0;
       
    55 	};
       
    56 	
       
    57 /** This class provides information about the calendar file change
       
    58 
       
    59 @publishedAll
       
    60 @prototype
       
    61 */
       
    62 class CCalFileChangeInfo : public CBase
       
    63 	{
       
    64 public:
       
    65 	static CCalFileChangeInfo* NewL(CAgnFileChangeInfo* aAgnFileChangeInfo);
       
    66 	~CCalFileChangeInfo();
       
    67 	
       
    68 	/** Get the file name of the file that has changed */
       
    69 	IMPORT_C const TDesC& FileNameL() const;
       
    70 	
       
    71 	/** Get the type of change that happened to the file */
       
    72 	IMPORT_C MCalFileChangeObserver::TChangeType ChangeType() const;
       
    73 	
       
    74 private:
       
    75 	CCalFileChangeInfo(CAgnFileChangeInfo* aAgnFileChangeInfo);
       
    76 
       
    77 private:
       
    78     CAgnFileChangeInfo* iImpl;
       
    79 	};
       
    80 #endif