From b4b5396cf395276a2f667f165aae450aa60cfb3c Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 5 Jun 2016 18:16:53 +0100 Subject: [PATCH] Added ORGANIZER property for saving data from a CalendarFreeBusyObject. Added the code and unit tests for the ORGANIZER property. --- .../CalendarFreeBusy-Save.cpp | 57 +++++++++++++++++++ .../tests/xestiacalendar_icalfreebusysave.h | 2 + 2 files changed, 59 insertions(+) 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"; -- 2.39.5