From 46ad700d36c60f8cedf7951b193bc8693908d02e Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Sun, 5 Jun 2016 20:02:25 +0100 Subject: [PATCH] Added X-Token property for saving data from a CalendarFreeBusyObject. Added the code and unit tests for the X-Token property. --- .../CalendarFreeBusy-Save.cpp | 23 +++++++++++++++++++ .../tests/xestiacalendar_icalfreebusysave.h | 11 ++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/source/objects/calendarfreebusy/CalendarFreeBusy-Save.cpp b/source/objects/calendarfreebusy/CalendarFreeBusy-Save.cpp index 482b99d..1d398f8 100644 --- a/source/objects/calendarfreebusy/CalendarFreeBusy-Save.cpp +++ b/source/objects/calendarfreebusy/CalendarFreeBusy-Save.cpp @@ -508,6 +508,29 @@ void CalendarFreeBusyObject::SaveObjectData(string *SaveData){ } + // Process the X-Token values. + + if (XTokensData.size() > 0){ + + for (int XTokenSeek = 0; XTokenSeek < XTokensData.size(); + XTokenSeek++){ + + DataLine += XTokensDataTokens[XTokenSeek]; + DataLine += ":"; + DataLine += XTokensData[XTokenSeek]; + 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 5964b1c..3ba4422 100644 --- a/source/tests/xestiacalendar_icalfreebusysave.h +++ b/source/tests/xestiacalendar_icalfreebusysave.h @@ -82,8 +82,17 @@ TEST(iCalendarSaveFreeBusy, SaveFreeBusyTests){ "REQUEST-STATUS;LANGUAGE=en:3.42;Really big irrecoverable error caused by the \n" " user\n" "REQUEST-STATUS;USER=MISSING:3.7;Invalid calendar user\n" + "X-EXAMPLE1:Moo\n" + "X-EXAMPLE1;ANIMAL=NOPE:Meep\n" + "X-EXAMPLE1;ANIMAL=CAT:Meow\n" + "X-EXAMPLE2:Dish\n" + "X-EXAMPLE2;OBJECT=KITCHEN:Fork\n" + "X-EXAMPLE2;OBJECT=LIVINGROOM:Table\n" + "X-STATUS;HOLIDAY=YES:Idle\n" + "X-TRANSPORT;PUBLIC=NO:Private Hire\n" + "X-PHANTOM-STATUS;HELP=NONE:None\n" "END:VFREEBUSY\n" - "END:VCALENDAR"; + "END:VCALENDAR"; TestFreeBusy2.SaveString(&SaveData); -- 2.39.2