#include "CalendarJournal.h" using namespace std; void CalendarJournalObject::SaveObjectData(string *SaveData){ string DataLine = ""; string DataLineProcessed = ""; *SaveData += "BEGIN:VJOURNAL\n"; // Process the UID. if (UniqueID.size() > 0){ if (UniqueIDTokens.size() > 0){ DataLine += "UID;"; DataLine += UniqueIDTokens; } else { DataLine += "UID"; } DataLine += ":"; DataLine += UniqueID; DataLine += "\n"; DataLineProcessed = OutputText(&DataLine); *SaveData += DataLineProcessed; DataLine.clear(); DataLineProcessed.clear(); } // Process the DTSTAMP. if (DateTimeStampData.size() > 0){ if (DateTimeStampTokens.size() > 0){ DataLine += "DTSTAMP;"; DataLine += DateTimeStampTokens; } else { DataLine += "DTSTAMP"; } DataLine += ":"; DataLine += DateTimeStampData; DataLine += "\n"; DataLineProcessed = OutputText(&DataLine); *SaveData += DataLineProcessed; DataLine.clear(); DataLineProcessed.clear(); } // Process the SUMMARY. if (SummaryData.size() > 0){ DataLine += "SUMMARY"; if (SummaryDataAltRep.size() > 0){ DataLine += ";ALTREP=\""; DataLine += SummaryDataAltRep; DataLine += "\""; } if (SummaryDataLanguage.size() > 0){ DataLine += ";LANGUAGE="; DataLine += SummaryDataLanguage; } if (SummaryDataTokens.size() > 0){ DataLine += ";"; DataLine += SummaryDataTokens; } DataLine += ":"; DataLine += SummaryData; DataLine += "\n"; DataLineProcessed = OutputText(&DataLine); *SaveData += DataLineProcessed; DataLine.clear(); DataLineProcessed.clear(); } // Process the CLASS. if (ClassData.size() > 0){ DataLine += "CLASS"; if (ClassDataTokens.size() > 0){ DataLine += ";"; DataLine += ClassDataTokens; } DataLine += ":"; DataLine += ClassData; DataLine += "\n"; DataLineProcessed = OutputText(&DataLine); *SaveData += DataLineProcessed; DataLine.clear(); DataLineProcessed.clear(); } // Process the DTSTART. if (DateTimeStartData.size() > 0){ DataLine += "DTSTART"; if (DateTimeStartDataValue.size() > 0){ DataLine += ";VALUE="; DataLine += DateTimeStartDataValue; } if (DateTimeStartDataTimeZoneID.size() > 0){ DataLine += ";TZID="; DataLine += DateTimeStartDataTimeZoneID; } if (DateTimeStartDataTokens.size() > 0){ DataLine += ";"; DataLine += DateTimeStartDataTokens; } DataLine += ":"; DataLine += DateTimeStartData; DataLine += "\n"; DataLineProcessed = OutputText(&DataLine); *SaveData += DataLineProcessed; DataLine.clear(); DataLineProcessed.clear(); } // Process the LAST-MODIFIED value. if (LastModifiedData.size() > 0){ if (LastModifiedTokens.size() > 0){ DataLine += "LAST-MODIFIED;"; DataLine += LastModifiedTokens; } else { DataLine += "LAST-MODIFIED"; } DataLine += ":"; DataLine += LastModifiedData; 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 RECURRENCE-ID value. if (RecurranceIDData.size() > 0){ DataLine += "RECURRENCE-ID"; if (RecurranceIDDataTimeZoneParam.size() > 0){ DataLine += ";TZID="; DataLine += RecurranceIDDataTimeZoneParam; } if (RecurranceIDDataRangeParam.size() > 0){ DataLine += ";RANGE="; DataLine += RecurranceIDDataRangeParam; } if (RecurranceIDDataValue.size() > 0){ DataLine += ";VALUE="; DataLine += RecurranceIDDataValue; } if (RecurranceIDDataTokens.size() > 0){ DataLine += ";"; DataLine += RecurranceIDDataTokens; } DataLine += ":"; DataLine += RecurranceIDData; DataLine += "\n"; DataLineProcessed = OutputText(&DataLine); *SaveData += DataLineProcessed; DataLine.clear(); DataLineProcessed.clear(); } // Process the SEQUENCE value. if (SequenceData > -1 && SequenceData < 10){ DataLine += "SEQUENCE"; if (SequenceTokens.size() > 0){ DataLine += ";"; DataLine += SequenceTokens; } DataLine += ":"; DataLine += to_string(SequenceData); DataLine += "\n"; DataLineProcessed = OutputText(&DataLine); *SaveData += DataLineProcessed; DataLine.clear(); DataLineProcessed.clear(); } // Process the STATUS value. if (StatusData.size() > 0){ DataLine += "STATUS"; if (StatusLanguage.size() > 0){ DataLine += ";LANGUAGE="; DataLine += StatusLanguage; } if (StatusTokens.size() > 0){ DataLine += ";"; DataLine += StatusTokens; } DataLine += ":"; DataLine += StatusData; 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 RRULE value. if (RecurranceRuleData.size() > 0){ DataLine += "RRULE"; if (RecurranceRuleDataTokens.size() > 0){ DataLine += ";"; DataLine += RecurranceRuleDataTokens; } DataLine += ":"; DataLine += RecurranceRuleData; DataLine += "\n"; DataLineProcessed = OutputText(&DataLine); *SaveData += DataLineProcessed; DataLine.clear(); DataLineProcessed.clear(); } // Process the ATTACH values. if (AttachList.size() > 0){ for (int AttachListSeek = 0; AttachListSeek < AttachList.size(); AttachListSeek++){ DataLine += "ATTACH"; if (AttachListFormatType[AttachListSeek].size() > 0){ DataLine += ";FMTTYPE="; DataLine += AttachListFormatType[AttachListSeek]; } if (AttachListValue[AttachListSeek].size() > 0){ DataLine += ";VALUE="; DataLine += AttachListValue[AttachListSeek]; } if (AttachListEncoding[AttachListSeek].size() > 0){ DataLine += ";ENCODING="; DataLine += AttachListEncoding[AttachListSeek]; } if (AttachListTokens[AttachListSeek].size() > 0){ DataLine += ";"; DataLine += AttachListTokens[AttachListSeek]; } DataLine += ":"; DataLine += AttachList[AttachListSeek]; 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 CATEGORIES value. if (CategoriesList.size() > 0){ for (int CategoriesListSeek = 0; CategoriesListSeek < CategoriesList.size(); CategoriesListSeek++){ DataLine += "CATEGORIES"; if (CategoriesListLanguage[CategoriesListSeek].size() > 0){ DataLine += ";LANGUAGE="; DataLine += CategoriesListLanguage[CategoriesListSeek]; } if (CategoriesListTokens[CategoriesListSeek].size() > 0){ DataLine += ";"; DataLine += CategoriesListTokens[CategoriesListSeek]; } DataLine += ":"; DataLine += CategoriesList[CategoriesListSeek]; DataLine += "\n"; DataLineProcessed = OutputText(&DataLine); *SaveData += DataLineProcessed; DataLine.clear(); DataLineProcessed.clear(); } } *SaveData += "END:VJOURNAL\n"; }