1 #include "CalendarJournal.h"
5 void CalendarJournalObject::SaveObjectData(string *SaveData){
8 string DataLineProcessed = "";
10 *SaveData += "BEGIN:VJOURNAL\n";
14 if (UniqueID.size() > 0){
16 if (UniqueIDTokens.size() > 0){
19 DataLine += UniqueIDTokens;
31 DataLineProcessed = OutputText(&DataLine);
33 *SaveData += DataLineProcessed;
36 DataLineProcessed.clear();
40 // Process the DTSTAMP.
42 if (DateTimeStampData.size() > 0){
44 if (DateTimeStampTokens.size() > 0){
46 DataLine += "DTSTAMP;";
47 DataLine += DateTimeStampTokens;
51 DataLine += "DTSTAMP";
56 DataLine += DateTimeStampData;
59 DataLineProcessed = OutputText(&DataLine);
61 *SaveData += DataLineProcessed;
64 DataLineProcessed.clear();
68 // Process the SUMMARY.
70 if (SummaryData.size() > 0){
72 DataLine += "SUMMARY";
74 if (SummaryDataAltRep.size() > 0){
76 DataLine += ";ALTREP=\"";
77 DataLine += SummaryDataAltRep;
82 if (SummaryDataLanguage.size() > 0){
84 DataLine += ";LANGUAGE=";
85 DataLine += SummaryDataLanguage;
89 if (SummaryDataTokens.size() > 0){
92 DataLine += SummaryDataTokens;
97 DataLine += SummaryData;
100 DataLineProcessed = OutputText(&DataLine);
102 *SaveData += DataLineProcessed;
105 DataLineProcessed.clear();
109 // Process the CLASS.
111 if (ClassData.size() > 0){
115 if (ClassDataTokens.size() > 0){
118 DataLine += ClassDataTokens;
123 DataLine += ClassData;
126 DataLineProcessed = OutputText(&DataLine);
128 *SaveData += DataLineProcessed;
131 DataLineProcessed.clear();
135 // Process the DTSTART.
137 if (DateTimeStartData.size() > 0){
139 DataLine += "DTSTART";
141 if (DateTimeStartDataValue.size() > 0){
143 DataLine += ";VALUE=";
144 DataLine += DateTimeStartDataValue;
148 if (DateTimeStartDataTimeZoneID.size() > 0){
150 DataLine += ";TZID=";
151 DataLine += DateTimeStartDataTimeZoneID;
155 if (DateTimeStartDataTokens.size() > 0){
158 DataLine += DateTimeStartDataTokens;
163 DataLine += DateTimeStartData;
166 DataLineProcessed = OutputText(&DataLine);
168 *SaveData += DataLineProcessed;
171 DataLineProcessed.clear();
175 // Process the LAST-MODIFIED value.
177 if (LastModifiedData.size() > 0){
179 if (LastModifiedTokens.size() > 0){
181 DataLine += "LAST-MODIFIED;";
182 DataLine += LastModifiedTokens;
186 DataLine += "LAST-MODIFIED";
191 DataLine += LastModifiedData;
194 DataLineProcessed = OutputText(&DataLine);
196 *SaveData += DataLineProcessed;
199 DataLineProcessed.clear();
203 // Process the ORGANIZER value.
205 if (OrganiserData.size() > 0){
207 DataLine += "ORGANIZER";
209 if (OrganiserDataCommonName.size() > 0){
212 DataLine += OrganiserDataCommonName;
216 if (OrganiserDataDirectoryEntry.size() > 0){
218 DataLine += ";DIR=\"";
219 DataLine += OrganiserDataDirectoryEntry;
224 if (OrganiserDataSentByParam.size() > 0){
226 DataLine += ";SENT-BY=\"";
227 DataLine += OrganiserDataSentByParam;
232 if (OrganiserDataLanguage.size() > 0){
234 DataLine += ";LANGUAGE=";
235 DataLine += OrganiserDataLanguage;
239 if (OrganiserDataTokens.size() > 0){
242 DataLine += OrganiserDataTokens;
247 DataLine += OrganiserData;
250 DataLineProcessed = OutputText(&DataLine);
252 *SaveData += DataLineProcessed;
255 DataLineProcessed.clear();
259 // Process the RECURRENCE-ID value.
261 if (RecurranceIDData.size() > 0){
263 DataLine += "RECURRENCE-ID";
265 if (RecurranceIDDataTimeZoneParam.size() > 0){
267 DataLine += ";TZID=";
268 DataLine += RecurranceIDDataTimeZoneParam;
272 if (RecurranceIDDataRangeParam.size() > 0){
274 DataLine += ";RANGE=";
275 DataLine += RecurranceIDDataRangeParam;
279 if (RecurranceIDDataValue.size() > 0){
281 DataLine += ";VALUE=";
282 DataLine += RecurranceIDDataValue;
286 if (RecurranceIDDataTokens.size() > 0){
289 DataLine += RecurranceIDDataTokens;
294 DataLine += RecurranceIDData;
297 DataLineProcessed = OutputText(&DataLine);
299 *SaveData += DataLineProcessed;
302 DataLineProcessed.clear();
306 // Process the SEQUENCE value.
308 if (SequenceData > -1 && SequenceData < 10){
310 DataLine += "SEQUENCE";
312 if (SequenceTokens.size() > 0){
315 DataLine += SequenceTokens;
320 DataLine += to_string(SequenceData);
323 DataLineProcessed = OutputText(&DataLine);
325 *SaveData += DataLineProcessed;
328 DataLineProcessed.clear();
332 // Process the STATUS value.
334 if (StatusData.size() > 0){
336 DataLine += "STATUS";
338 if (StatusLanguage.size() > 0){
340 DataLine += ";LANGUAGE=";
341 DataLine += StatusLanguage;
345 if (StatusTokens.size() > 0){
348 DataLine += StatusTokens;
353 DataLine += StatusData;
356 DataLineProcessed = OutputText(&DataLine);
358 *SaveData += DataLineProcessed;
361 DataLineProcessed.clear();
365 // Process the URL value.
367 if (URLData.size() > 0){
371 if (URLDataTokens.size() > 0){
374 DataLine += URLDataTokens;
382 DataLineProcessed = OutputText(&DataLine);
384 *SaveData += DataLineProcessed;
387 DataLineProcessed.clear();
391 *SaveData += "END:VJOURNAL\n";