include/ICalConverter.h

Go to the documentation of this file.
00001 
00020 #ifndef __ICALCONVERTER_H__
00021 #define __ICALCONVERTER_H__
00022 using namespace std;
00023 extern "C" {
00024 #include <libical/ical.h>
00025 #include <libical/icalcomponent.h>
00026 #include <libical/icalenums.h>
00027 #include "stdlib.h"
00028 #include "stdio.h"
00029 }
00030 #include "CComponent.h"
00031 #include "CRecurrenceRule.h"
00032 #include "CProperties.h"
00033 #include "CParameters.h"
00034 typedef enum {
00035     ICAL_TYPE = 0,
00036     VCAL_TYPE,
00037     UNKNOWN_TYPE
00038 }FileType;
00043 class ICalConverter {
00044 
00045       public:
00056         string localToIcalVcal(CComponent *pEntry,FileType iType,int pErrorCode);
00067         CComponent *toLocal(string strIcalComp,FileType iType,int pErrorCode);
00071          ICalConverter();
00075         ~ICalConverter();
00076 
00083         string appendControlM(string szContents);
00084 
00090         string toString();
00101         vector < CComponent* > icalVcalToLocal(string strIcalComp,FileType iType,int pErrorCode);
00109         string strip(string szContents);
00122         bool checkCount(string szContents,string szBegin,string szEnd,unsigned int& iCount);
00131         string validateContents(string szContents);
00139         int getIntFromIcaltimetype(struct icaltimetype ical_time);
00140         
00141       private:
00148         float stringToFloat(string szValue);
00156         string addAlarmDateToString(string strIcalComp, string strVCalAlarmDate);
00165         string addRuleToString(string strIcalComp, vector < string > rrules,
00166                         int flag);
00174         string getIcalAlarm(CAlarm * cAlarm);
00181         void deleteWhiteSpaces(string &szSpaceString );
00192         vector<CRecurrenceRule*> getRecurrence(string strIcalComp, icalcomponent* pComp, icalproperty_kind kind,FileType iFType);
00193         
00204         CRecurrenceRule* getRecurrenceRule(string strIcalComp, int index, string strRuleType,FileType iFType);
00205         
00215         vector<string> getRecurrenceDates(string strIcalComp, icalcomponent *pComp, icalproperty_kind kind);
00216             
00217             
00218         
00227         CAlarm* getAlarm(string strIcalComp, icalcomponent  *pComp);
00228             
00229             
00236         struct tm initTime(icaltimetype time_ical);
00237 
00246         string get_line(string strIcal, int start_loc);
00247 
00255         string get_line_in_ical(string strInVcal, string strType, int index);
00256 
00264         string getTranspFromIcal(icalproperty_transp iTransp);
00265 
00272         COrganizer* getOrganizerFromIcal(icalproperty *pProp);
00273 
00281         CAttendee* getAttendeeFromIcal(icalproperty *pProp,FileType iType);
00282 
00290         int getParticipationRoleFromIcal(icalparameter_role icalRole);
00291 
00299         int getParticipationStatusFromIcal(icalparameter_partstat icalPartStat);
00300 
00308         bool getRSVPFromIcal(icalparameter_rsvp icalRSVP);
00309 
00317         int getCUTypeFromIcal(icalparameter_cutype icalCUType);
00318 
00326         string getClasFromIcal(icalproperty_class iClass);
00327         
00334         icalproperty* getIcalOrganizer(COrganizer* pOrg);
00335         
00342         string getContactFromIcal(icalproperty* pProp);
00343 
00351         icalparameter_rsvp getIcalRSVP(bool fRSVP);
00352 
00360         icalparameter_partstat getIcalPartStatus(ParticipantStatus iPartStat);
00361         
00369         icalparameter_role getIcalPartRole(ParticipantRole iRole);
00370         
00378         icalparameter_cutype getIcalCalendarUserType(CalendarUserType iCUType);
00379         
00387         icalproperty* getIcalAttendee(CAttendee* pAtten,FileType iType);
00388         
00395         CProperties* getXProperty(icalproperty *pProp);
00396         
00403         CParameters* getParameters(icalparameter *pParam);
00404         
00411         vector <CParameters*> getRelationshipParamFromICal(icalparameter* pParam);
00412 
00419         int getStatusFromIcal(icalproperty_status icalStatus);
00420         
00427         CParameters* getLanguageFromIcal(icalparameter* pParam);
00428         
00435         CParameters* getAlterFromIcal(icalparameter* pParam);
00436         
00443         vector < CParameters* > getLangAlterParam(icalproperty* pProp);
00444         
00452         int getIcalStatus(statusParam iStatus);
00460         icalparameter_reltype getIcalRelType(RelationshipType iRel);
00467         CParameters* getFMTypeFromIcal(icalparameter* pParam);
00473         icalparameter* getTZIDParam();
00474 
00475 };
00476 #endif

Generated on Tue Feb 24 16:21:31 2009 for calendar-backend by  doxygen 1.5.1