Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added RECURRENCE-ID property for saving data from a CalendarEventObject.
authorSteve Brokenshire <sbrokenshire@xestia.co.uk>
Sat, 4 Jun 2016 07:58:41 +0000 (08:58 +0100)
committerSteve Brokenshire <sbrokenshire@xestia.co.uk>
Sat, 4 Jun 2016 07:58:41 +0000 (08:58 +0100)
Added the code and unit tests for the RECURRENCE-ID property.

source/objects/calendarevent/CalendarEvent-Save.cpp
source/tests/xestiacalendar_icaleventsave.h

index e652d7a..e7d78d8 100644 (file)
@@ -574,6 +574,53 @@ void CalendarEventObject::SaveObjectData(string *SaveData){
                
        }
        
+       // 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();
+               
+       }
+       
        *SaveData += "END:VEVENT\n";
        
 }
\ No newline at end of file
index e64e02c..8d19378 100644 (file)
@@ -92,6 +92,8 @@ TEST(iCalendarSaveEvent, SaveEventTests){
        "STATUS;LANGUAGE=kw;FAVOURITE=RICHTEA;NOTLIKE=UNKNOWN:2.0;Success\n"
        "TRANSP;OPAQUE=NOTYET:TRANSPARENT\n"
        "URL;EXTERNAL=YES:http://www.example.com/\n"
+       "RECURRENCE-ID;TZID=Europe/Truro;RANGE=THISANDFUTURE;VALUE=DATE;EXAMPLE=DATA:2\n"
+       " 0160124\n"
        "END:VEVENT\n"
        "END:VCARD";
 
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy