X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fobjects%2Fcalendarfreebusy%2FCalendarFreeBusy-Save.cpp;h=1d398f8501d00fd50620cc194316fcdd55a2c6ea;hb=568aa1ebd96fbb8b680ee2d5e515c6d5703a63e9;hp=1fabb01c341152207f28bb81d895671d5db1d563;hpb=f35b02119d8cc81fb5c3409b4a093b2854e5a12f;p=xestiacalendar%2F.git diff --git a/source/objects/calendarfreebusy/CalendarFreeBusy-Save.cpp b/source/objects/calendarfreebusy/CalendarFreeBusy-Save.cpp index 1fabb01..1d398f8 100644 --- a/source/objects/calendarfreebusy/CalendarFreeBusy-Save.cpp +++ b/source/objects/calendarfreebusy/CalendarFreeBusy-Save.cpp @@ -150,6 +150,387 @@ void CalendarFreeBusyObject::SaveObjectData(string *SaveData){ } + // Process the DTEND. + + if (DateTimeEndData.size() > 0){ + + DataLine += "DTEND"; + + if (DateTimeEndDataValue.size() > 0){ + + DataLine += ";VALUE="; + DataLine += DateTimeEndDataValue; + + } + + if (DateTimeEndDataTimeZoneID.size() > 0){ + + DataLine += ";TZID="; + DataLine += DateTimeEndDataTimeZoneID; + + } + + if (DateTimeEndDataTokens.size() > 0){ + + DataLine += ";"; + DataLine += DateTimeEndDataTokens; + + } + + DataLine += ":"; + DataLine += DateTimeEndData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the ORGANIZER value. + + if (OrganiserData.size() > 0){ + + DataLine += "ORGANIZER"; + + if (OrganiserDataCommonName.size() > 0){ + + DataLine += ";CN="; + DataLine += OrganiserDataCommonName; + + } + + if (OrganiserDataDirectoryEntry.size() > 0){ + + DataLine += ";DIR=\""; + DataLine += OrganiserDataDirectoryEntry; + DataLine += "\""; + + } + + if (OrganiserDataSentByParam.size() > 0){ + + DataLine += ";SENT-BY=\""; + DataLine += OrganiserDataSentByParam; + DataLine += "\""; + + } + + if (OrganiserDataLanguage.size() > 0){ + + DataLine += ";LANGUAGE="; + DataLine += OrganiserDataLanguage; + + } + + if (OrganiserDataTokens.size() > 0){ + + DataLine += ";"; + DataLine += OrganiserDataTokens; + + } + + DataLine += ":"; + DataLine += OrganiserData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the URL value. + + if (URLData.size() > 0){ + + DataLine += "URL"; + + if (URLDataTokens.size() > 0){ + + DataLine += ";"; + DataLine += URLDataTokens; + + } + + DataLine += ":"; + DataLine += URLData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the ATTENDEE value. + + if (AttendeeList.size() > 0){ + + for (int AttendeeListSeek = 0; AttendeeListSeek < AttendeeList.size(); + AttendeeListSeek++){ + + DataLine += "ATTENDEE"; + + if (AttendeeListMember[AttendeeListSeek].size() > 0){ + + DataLine += ";MEMBER=\""; + DataLine += AttendeeListMember[AttendeeListSeek]; + DataLine += "\""; + + } + + if (AttendeeListDelegatedFrom[AttendeeListSeek].size() > 0){ + + DataLine += ";DELEGATED-FROM=\""; + DataLine += AttendeeListDelegatedFrom[AttendeeListSeek]; + DataLine += "\""; + + } + + if (AttendeeListDelegatedTo[AttendeeListSeek].size() > 0){ + + DataLine += ";DELEGATED-TO=\""; + DataLine += AttendeeListDelegatedTo[AttendeeListSeek]; + DataLine += "\""; + + } + + if (AttendeeListRole[AttendeeListSeek].size() > 0){ + + DataLine += ";ROLE="; + DataLine += AttendeeListRole[AttendeeListSeek]; + + } + + if (AttendeeListRSVP[AttendeeListSeek].size() > 0){ + + DataLine += ";RSVP="; + DataLine += AttendeeListRSVP[AttendeeListSeek]; + + } + + if (AttendeeListDirectoryEntry[AttendeeListSeek].size() > 0){ + + DataLine += ";DIR=\""; + DataLine += AttendeeListDirectoryEntry[AttendeeListSeek]; + DataLine += "\""; + + } + + if (AttendeeListSentBy[AttendeeListSeek].size() > 0){ + + DataLine += ";SENT-BY=\""; + DataLine += AttendeeListSentBy[AttendeeListSeek]; + DataLine += "\""; + + } + + if (AttendeeListCommonName[AttendeeListSeek].size() > 0){ + + DataLine += ";CN=\""; + DataLine += AttendeeListCommonName[AttendeeListSeek]; + DataLine += "\""; + + } + + if (AttendeeListCalendarUserType[AttendeeListSeek].size() > 0){ + + DataLine += ";CUTYPE="; + DataLine += AttendeeListCalendarUserType[AttendeeListSeek]; + + } + + if (AttendeeListParticipationStatus[AttendeeListSeek].size() > 0){ + + DataLine += ";PARTSTAT="; + DataLine += AttendeeListParticipationStatus[AttendeeListSeek]; + + } + + if (AttendeeListLanguage[AttendeeListSeek].size() > 0){ + + DataLine += ";LANGUAGE="; + DataLine += AttendeeListLanguage[AttendeeListSeek]; + + } + + if (AttendeeListTokens[AttendeeListSeek].size() > 0){ + + DataLine += ";"; + DataLine += AttendeeListTokens[AttendeeListSeek]; + + } + + DataLine += ":"; + DataLine += AttendeeList[AttendeeListSeek]; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + } + + // Process the COMMENT value. + + if (CommentList.size() > 0){ + + for (int CommentListSeek = 0; CommentListSeek < CommentList.size(); + CommentListSeek++){ + + DataLine += "COMMENT"; + + if (CommentListAltRep[CommentListSeek].size() > 0){ + + DataLine += ";ALTREP=\""; + DataLine += CommentListAltRep[CommentListSeek]; + DataLine += "\""; + + } + + if (CommentListLanguage[CommentListSeek].size() > 0){ + + DataLine += ";LANGUAGE="; + DataLine += CommentListLanguage[CommentListSeek]; + + } + + if (CommentListTokens[CommentListSeek].size() > 0){ + + DataLine += ";"; + DataLine += CommentListTokens[CommentListSeek]; + + } + + DataLine += ":"; + DataLine += CommentList[CommentListSeek]; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + } + + // Process the FREEBUSY value. + + if (FreeBusyList.size() > 0){ + + for (int FreeBusyListSeek = 0; FreeBusyListSeek < FreeBusyList.size(); + FreeBusyListSeek++){ + + DataLine += "FREEBUSY"; + + if (FreeBusyListType[FreeBusyListSeek].size() > 0){ + + DataLine += ";FBTYPE="; + DataLine += FreeBusyListType[FreeBusyListSeek]; + + } + + if (FreeBusyListTokens[FreeBusyListSeek].size() > 0){ + + DataLine += ";"; + DataLine += FreeBusyListTokens[FreeBusyListSeek]; + + } + + DataLine += ":"; + DataLine += FreeBusyList[FreeBusyListSeek]; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + } + + // Process the REQUEST-STATUS value. + + if (RequestStatusData.size() > 0){ + + for (int RequestStatusDataSeek = 0; RequestStatusDataSeek < RequestStatusData.size(); + RequestStatusDataSeek++){ + + DataLine += "REQUEST-STATUS"; + + if (RequestStatusLanguage[RequestStatusDataSeek].size() > 0){ + + DataLine += ";LANGUAGE="; + DataLine += RequestStatusLanguage[RequestStatusDataSeek]; + + } + + if (RequestStatusTokens[RequestStatusDataSeek].size() > 0){ + + DataLine += ";"; + DataLine += RequestStatusTokens[RequestStatusDataSeek]; + + } + + DataLine += ":"; + DataLine += RequestStatusData[RequestStatusDataSeek]; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + } + + // Process the X-Token values. + + if (XTokensData.size() > 0){ + + for (int XTokenSeek = 0; XTokenSeek < XTokensData.size(); + XTokenSeek++){ + + DataLine += XTokensDataTokens[XTokenSeek]; + DataLine += ":"; + DataLine += XTokensData[XTokenSeek]; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + } + *SaveData += "END:VFREEBUSY\n"; } \ No newline at end of file