1 #include "CalendarTask.h"
5 void CalendarTaskObject::SaveObjectData(string *SaveData){
8 string DataLineProcessed = "";
10 *SaveData += "BEGIN:VTODO\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 CLASS value.
70 if (ClassData.size() > 0){
72 if (ClassDataTokens.size() > 0){
75 DataLine += ClassDataTokens;
84 DataLine += ClassData;
87 DataLineProcessed = OutputText(&DataLine);
89 *SaveData += DataLineProcessed;
92 DataLineProcessed.clear();
96 // Process the COMPLETED value.
98 if (CompletedData.size() > 0){
100 if (CompletedDataTokens.size() > 0){
102 DataLine += "COMPLETED;";
103 DataLine += CompletedDataTokens;
107 DataLine += "COMPLETED";
112 DataLine += CompletedData;
115 DataLineProcessed = OutputText(&DataLine);
117 *SaveData += DataLineProcessed;
120 DataLineProcessed.clear();
124 // Process the CREATED value.
126 if (DateTimeCreatedData.size() > 0){
128 if (DateTimeCreatedTokens.size() > 0){
130 DataLine += "CREATED;";
131 DataLine += DateTimeCreatedTokens;
135 DataLine += "CREATED";
140 DataLine += DateTimeCreatedData;
143 DataLineProcessed = OutputText(&DataLine);
145 *SaveData += DataLineProcessed;
148 DataLineProcessed.clear();
152 // Process the DESCRIPTION values. Write out the
153 // first DESCRPITION only as per RFC5545 specifcation.
155 if (DescriptionList.size() > 0){
157 DataLine += "DESCRIPTION";
159 if (DescriptionListAltRep[0].size() > 0){
161 DataLine += ";ALTREP=\"";
162 DataLine += DescriptionListAltRep[0];
167 if (DescriptionListLanguage[0].size() > 0){
169 DataLine += ";LANGUAGE=";
170 DataLine += DescriptionListLanguage[0];
174 if (DescriptionListTokens[0].size() > 0){
177 DataLine += DescriptionListTokens[0];
182 DataLine += DescriptionList[0];
185 DataLineProcessed = OutputText(&DataLine);
187 *SaveData += DataLineProcessed;
190 DataLineProcessed.clear();
194 // Process the DTSTART.
196 if (DateTimeStartData.size() > 0){
198 DataLine += "DTSTART";
200 if (DateTimeStartDataValue.size() > 0){
202 DataLine += ";VALUE=";
203 DataLine += DateTimeStartDataValue;
207 if (DateTimeStartDataTimeZoneID.size() > 0){
209 DataLine += ";TZID=";
210 DataLine += DateTimeStartDataTimeZoneID;
214 if (DateTimeStartDataTokens.size() > 0){
217 DataLine += DateTimeStartDataTokens;
222 DataLine += DateTimeStartData;
225 DataLineProcessed = OutputText(&DataLine);
227 *SaveData += DataLineProcessed;
230 DataLineProcessed.clear();
234 // Process the GEO value.
236 if (GeographicData.size() > 0){
238 if (GeographicTokens.size() > 0){
241 DataLine += GeographicTokens;
250 DataLine += GeographicData;
253 DataLineProcessed = OutputText(&DataLine);
255 *SaveData += DataLineProcessed;
258 DataLineProcessed.clear();
262 // Process the LAST-MODIFIED value.
264 if (LastModifiedData.size() > 0){
266 if (LastModifiedTokens.size() > 0){
268 DataLine += "LAST-MODIFIED;";
269 DataLine += LastModifiedTokens;
273 DataLine += "LAST-MODIFIED";
278 DataLine += LastModifiedData;
281 DataLineProcessed = OutputText(&DataLine);
283 *SaveData += DataLineProcessed;
286 DataLineProcessed.clear();
290 *SaveData += "END:VTODO\n";