+ if (relatedToData.size() > 0){
+
+ for (int requestToDataSeek = 0; requestToDataSeek < relatedToData.size();
+ requestToDataSeek++){
+
+ dataLine += "RELATED-TO";
+
+ if (relatedToDataRelationType[requestToDataSeek].size() > 0){
+
+ dataLine += ";RELTYPE=";
+ dataLine += relatedToDataRelationType[requestToDataSeek];
+
+ }
+
+ if (relatedToDataTokens[requestToDataSeek].size() > 0){
+
+ dataLine += ";";
+ dataLine += relatedToDataTokens[requestToDataSeek];
+
+ }
+
+ dataLine += ":";
+ dataLine += relatedToData[requestToDataSeek];
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the RESOURCES value.
+
+ if (resourcesData.size() > 0){
+
+ for (int resourcesDataSeek = 0; resourcesDataSeek < resourcesData.size();
+ resourcesDataSeek++){
+
+ dataLine += "RESOURCES";
+
+ if (resourcesDataAltRep[resourcesDataSeek].size() > 0){
+
+ dataLine += ";ALTREP=\"";
+ dataLine += resourcesDataAltRep[resourcesDataSeek];
+ dataLine += "\"";
+
+ }
+
+ if (resourcesDataLanguage[resourcesDataSeek].size() > 0){
+
+ dataLine += ";LANGUAGE=";
+ dataLine += resourcesDataLanguage[resourcesDataSeek];
+
+ }
+
+ if (resourcesDataTokens[resourcesDataSeek].size() > 0){
+
+ dataLine += ";";
+ dataLine += resourcesDataTokens[resourcesDataSeek];
+
+ }
+
+ dataLine += ":";
+ dataLine += resourcesData[resourcesDataSeek];
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the RDATE value.
+
+ if (recurranceDateData.size() > 0){
+
+ for (int recurranceDateDataSeek = 0; recurranceDateDataSeek < recurranceDateData.size();
+ recurranceDateDataSeek++){
+
+ dataLine += "RDATE";
+
+ if (recurranceDateDataValue[recurranceDateDataSeek].size() > 0){
+
+ dataLine += ";VALUE=";
+ dataLine += recurranceDateDataValue[recurranceDateDataSeek];
+
+ }
+
+ if (recurranceDateDataTimeZoneParam[recurranceDateDataSeek].size() > 0){
+
+ dataLine += ";TZID=";
+ dataLine += recurranceDateDataTimeZoneParam[recurranceDateDataSeek];
+
+ }
+
+ if (recurranceDateDataTokens[recurranceDateDataSeek].size() > 0){
+
+ dataLine += ";";
+ dataLine += recurranceDateDataTokens[recurranceDateDataSeek];
+
+ }
+
+ dataLine += ":";
+ dataLine += recurranceDateData[recurranceDateDataSeek];
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the VALARMS.
+
+ if (calendarAlarmData.size() > 0){
+
+ for (int calendarAlarmDataSeek = 0; calendarAlarmDataSeek < calendarAlarmData.size();
+ calendarAlarmDataSeek++){
+
+ *saveData += "BEGIN:VALARM\n";
+
+ // Process the ACTION VALARM value.
+
+ dataLine += "ACTION";
+
+ if (calendarAlarmData[calendarAlarmDataSeek].alarmActionTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].alarmActionTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].alarmAction;
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ // Process the TRIGGER VALARM value.
+
+ if (calendarAlarmData[calendarAlarmDataSeek].triggerData.size() > 0){
+
+ dataLine += "TRIGGER";
+
+ if (calendarAlarmData[calendarAlarmDataSeek].triggerRelated.size() > 0){
+
+ dataLine += ";RELATED=";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].triggerRelated;
+
+ }
+
+ if (calendarAlarmData[calendarAlarmDataSeek].triggerValue.size() > 0){
+
+ dataLine += ";VALUE=";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].triggerValue;
+
+ }
+
+ if (calendarAlarmData[calendarAlarmDataSeek].triggerTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].triggerTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].triggerData;
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ // Process the DURATION VALARM value.
+
+ if (calendarAlarmData[calendarAlarmDataSeek].durationData.size() > 0){
+
+ dataLine += "DURATION";
+
+ if (calendarAlarmData[calendarAlarmDataSeek].durationTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].durationTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].durationData;
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ // Process the DESCRIPTION VALARM value.
+
+ if (calendarAlarmData[calendarAlarmDataSeek].descriptionData.size() > 0){
+
+ dataLine += "DESCRIPTION";
+
+ if (calendarAlarmData[calendarAlarmDataSeek].descriptionAltRep.size() > 0){
+
+ dataLine += ";ALTREP=\"";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].descriptionAltRep;
+ dataLine += "\"";
+
+ }
+
+ if (calendarAlarmData[calendarAlarmDataSeek].descriptionLanguage.size() > 0){
+
+ dataLine += ";LANGUAGE=";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].descriptionLanguage;
+
+ }
+
+ if (calendarAlarmData[calendarAlarmDataSeek].descriptionTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].descriptionTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].descriptionData;
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ // Process the SUMMARY VALARM value.
+
+ if (calendarAlarmData[calendarAlarmDataSeek].summaryData.size() > 0){
+
+ dataLine += "SUMMARY";
+
+ if (calendarAlarmData[calendarAlarmDataSeek].summaryAltRep.size() > 0){
+
+ dataLine += ";ALTREP=\"";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].summaryAltRep;
+ dataLine += "\"";
+
+ }
+
+ if (calendarAlarmData[calendarAlarmDataSeek].summaryLanguage.size() > 0){
+
+ dataLine += ";LANGUAGE=";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].summaryLanguage;
+
+ }
+
+ if (calendarAlarmData[calendarAlarmDataSeek].summaryTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].summaryTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].summaryData;
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ // Process the REPEAT VALARM value.
+
+ if (calendarAlarmData[calendarAlarmDataSeek].repeatData.size() > 0){
+
+ dataLine += "REPEAT";
+
+ if (calendarAlarmData[calendarAlarmDataSeek].repeatTokens.size() > 0){
+
+ dataLine += ";";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].repeatTokens;
+
+ }
+
+ dataLine += ":";
+ dataLine += calendarAlarmData[calendarAlarmDataSeek].repeatData;
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);