From: Steve Brokenshire <sbrokenshire@xestia.co.uk>
Date: Sun, 5 Jun 2016 17:16:53 +0000 (+0100)
Subject: Added ORGANIZER property for saving data from a CalendarFreeBusyObject.
X-Git-Tag: release-0.02~206
X-Git-Url: http://Server1/repobrowser/?a=commitdiff_plain;h=b4b5396cf395276a2f667f165aae450aa60cfb3c;p=xestiacalendar%2F.git

Added ORGANIZER property for saving data from a CalendarFreeBusyObject.

Added the code and unit tests for the ORGANIZER property.
---

diff --git a/source/objects/calendarfreebusy/CalendarFreeBusy-Save.cpp b/source/objects/calendarfreebusy/CalendarFreeBusy-Save.cpp
index ecf68e8..46c09ac 100644
--- a/source/objects/calendarfreebusy/CalendarFreeBusy-Save.cpp
+++ b/source/objects/calendarfreebusy/CalendarFreeBusy-Save.cpp
@@ -189,6 +189,63 @@ void CalendarFreeBusyObject::SaveObjectData(string *SaveData){
 		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();
+		
+	}
+	
 	*SaveData += "END:VFREEBUSY\n";
 	
 }
\ No newline at end of file
diff --git a/source/tests/xestiacalendar_icalfreebusysave.h b/source/tests/xestiacalendar_icalfreebusysave.h
index fdd5d97..6b92a0f 100644
--- a/source/tests/xestiacalendar_icalfreebusysave.h
+++ b/source/tests/xestiacalendar_icalfreebusysave.h
@@ -63,6 +63,8 @@ TEST(iCalendarSaveFreeBusy, SaveFreeBusyTests){
 	" 03000Z\n"
 	"DTEND;VALUE=DATE-TIME;TZID=Europe/Truro;PARAMFOUR=YES;PARAMTHREE=NO:20160131T\n"
 	" 183000Z\n"
+	"ORGANIZER;CN=ExampleOrganiser;DIR=\"null:nodata\";SENT-BY=\"mailto:organiser.nor\n"
+	" eply@example.com\";LANGUAGE=kw;HAPPY=DAYS:mailto:organiser@example.com\n"
 	"END:VFREEBUSY\n"
 	"END:VCALENDAR";