epoc32/include/app/calfilechangenotification.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     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