+ if (locationData.size() > 0){
+
+ dataLine += "LOCATION";
+
+ if (locationDataAltRep.size() > 0){
+
+ dataLine += ";ALTREP=\"";
+ dataLine += locationDataAltRep;
+ dataLine += "\"";
+
+ }
+
+ if (locationDataLanguage.size() > 0){
+
+ dataLine += ";LANGUAGE=";
+ dataLine += locationDataLanguage;
+
+ }
+
+ if (locationDataTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += locationDataTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += locationData;
+ 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 PRIORITY value.
+
+ if (priorityData > -1 && priorityData < 10){
+
+ dataLine += "PRIORITY";
+
+ if (priorityTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += priorityTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += to_string(priorityData);
+ 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 TRANSP value.
+
+ if (timeTransparencyData.size() > 0){
+
+ dataLine += "TRANSP";
+
+ if (timeTransparencyDataTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += timeTransparencyDataTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += timeTransparencyData;
+ 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 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 DURATION value.
+
+ if (durationData.size() > 0){
+
+ dataLine += "DURATION";
+
+ if (durationDataTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += durationDataTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += durationData;
+ 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();
+
+ }