00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef __CALHELPERENTRY_H__
00031 #define __CALHELPERENTRY_H__
00032
00033
00034
00035 #include "CalendarAPIexample.hrh"
00036 #include <e32base.h>
00037
00038 class CCalEntry;
00039 class CCalInstance;
00040 class CCalAlarm;
00041
00046 class CCalHelperEntry : public CBase
00047 {
00048 public:
00052 static CCalHelperEntry* NewL(CCalEntry* aAnniv);
00053 static CCalHelperEntry* NewLC(CCalEntry* aAnniv);
00054
00055 static CCalHelperEntry* NewL(CCalInstance* aAnniv);
00056 static CCalHelperEntry* NewLC(CCalInstance* aAnniv);
00057
00061 ~CCalHelperEntry();
00062
00063 public:
00064
00071 CCalEntry* NewAnnivLC();
00072
00082 void SaveValuesL();
00083
00099 TBool SetValues( const TDesC& aName,
00100 const TDateTime& aDate,
00101 const TBool& aAlarm,
00102 const TDateTime& aAlarmTime,
00103 const TInt& aSynchronizationMethod);
00104
00105
00106 TBuf<KMaxNameLength> Name() const;
00107 TDateTime Date() const;
00108 TBool Alarm() const;
00109 TDateTime AlarmTime() const;
00110 TInt SynchronizationMethod() const;
00111 CCalEntry* Anniv();
00112 TBool Modified() const;
00113 TBool DateHasChanged() const;
00114
00115 private:
00119 CCalHelperEntry();
00120 void ConstructL(CCalEntry* aAnniv);
00121 void ConstructL(CCalInstance* aAnniv);
00122
00128 CCalEntry* CreateAnnivL();
00129
00136 void ResetTimeL(TDateTime& aDate) const;
00137
00147 void GetDaysAndMinutesL(const TDateTime& aTime,
00148 const TDateTime& aFromTime,
00149 TTimeIntervalDays& aDays,
00150 TTimeIntervalMinutes& aMinutes) const;
00151
00152
00159 void SetName(const TDesC& aName);
00160 void SetDate(const TDateTime& aDate);
00161 void SetAlarm(const TBool& aAlarm);
00162 void SetSynchronizationMethod(const TInt& aSynchronizationMethod);
00163
00164 void SaveValuesToAnnivL(CCalEntry* aAnniv);
00165
00166
00167 private:
00168
00169 TBuf<KMaxNameLength> iName;
00170 TDateTime iDate;
00171 CCalAlarm* iAlarmPtr;
00172 TBool iAlarm;
00173 TDateTime iAlarmTime;
00174 TInt iSynchronizationMethod;
00175 TTimeIntervalDays iAlarmDays;
00176 TTimeIntervalMinutes iAlarmMinutes;
00177 TBool iModified;
00178 TBool iDateModified;
00179
00180 CCalEntry* iAnniv;
00181 CCalInstance* iInstance;
00182 };
00183 #endif //__CALHELPERENTRY_H__