00001 00020 #ifndef INCL_ICALENDAR_CALENDAR 00021 #define INCL_ICALENDAR_CALENDAR 00022 00024 #define ICALENDAR_BUFFER 30000 00025 00026 #include "vocl/VProperty.h" 00027 #include "vocl/iCalendar/iCalProperty.h" 00028 #include "vocl/iCalendar/Event.h" 00029 #include "vocl/iCalendar/ToDo.h" 00030 00031 class Calendar 00032 { 00033 private: 00034 iCalProperty* prodID; 00035 iCalProperty* version; 00036 iCalProperty* calScale; 00037 iCalProperty* method; 00038 ArrayList* xTags; 00039 ArrayList* events; 00040 ArrayList* todos; 00041 void set(iCalProperty** oldProperty, iCalProperty& newProperty); 00042 iCalProperty* getiCalPropertyFromVProperty(VProperty* vp); 00043 VProperty* getVPropertyFromiCalProperty(WCHAR* name, iCalProperty* prop); 00044 00045 public: 00046 Calendar(); 00047 ~Calendar(); 00048 void setProdID(iCalProperty& p); 00049 void setVersion(iCalProperty& p); 00050 void setCalScale(iCalProperty& p); 00051 void setMethod(iCalProperty& p); 00052 void setXTags(ArrayList& list); 00053 void setEvents(ArrayList& list); 00054 void setToDos(ArrayList& list); 00055 void addEvent(Event* ev); 00056 void addToDo(ToDo* task); 00057 iCalProperty* getProdID(); 00058 iCalProperty* getVersion(); 00059 iCalProperty* getCalScale(); 00060 iCalProperty* getMethod(); 00061 ArrayList* getXTags(); 00062 ArrayList* getEvents(); 00063 ArrayList* getToDos(); 00064 WCHAR* toString(); 00065 00066 ArrayElement* clone(); 00067 }; 00068 00070 #endif