00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __RECURRENCE_H__
00025 #define __RECURRENCE_H__
00026
00027
00028 #include<vector>
00029 #include <string>
00030 using std::string;
00031 using std::vector;
00032
00033 #include "CRecurrenceRule.h"
00034
00040 class CRecurrence {
00041
00042 public:
00043
00051 bool setRecurrenceRule(vector < CRecurrenceRule * >VRRuleList);
00052
00060 vector < CRecurrenceRule * >getRecurrenceRule();
00061
00070 vector < string > getErule();
00071
00081 vector < string > getRrule();
00082
00087 CRecurrence(CRecurrence & ref);
00088
00097 bool setRrule(vector < string > vRRuleList);
00098
00108 bool setErule(vector < string > vERuleList);
00109
00119 bool setRDays(vector < string > vRecRuleList);
00120
00130 vector < string > getRDays();
00131
00140 bool setEDays(vector < string > vExceptionDateList);
00141
00151 vector < string > getEDays();
00152
00161 bool setRecurId(int iRId);
00162
00171 int getRecurId();
00184 bool setRtype(int iRType);
00197 int getRtype();
00198
00207 CRecurrence(vector < string > vRRuleList, int iRId);
00217 vector < time_t > generateInstanceTimes(time_t iViewBegin,
00218 time_t iViewEnd,
00219 time_t iDateStart,
00220 int eventSpan,
00221 int is_day,
00222 string sTzid);
00232 bool checkInstances(time_t iViewBegin,
00233 time_t iViewEnd,
00234 time_t iDateStart,
00235 int eventSpan,
00236 int is_day,
00237 string sTzid);
00238
00245 CRecurrence();
00246
00247
00248
00249 CRecurrence & operator=(const CRecurrence & right);
00250
00257 ~CRecurrence();
00261 string toString();
00262
00263
00264 private:
00265
00266 vector < CRecurrenceRule * >vRecrRuleList;
00268 vector < string > vExceptionDateList;
00270 vector < string > vRecRuleList;
00272 int iRType;
00274 int iRecurId;
00277 };
00278
00279 #endif