Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added DESCRIPTION property for saving data from a CalendarTaskObject.
[xestiacalendar/.git] / source / objects / calendartask / CalendarTask-Save.cpp
1 #include "CalendarTask.h"
3 using namespace std;
5 void CalendarTaskObject::SaveObjectData(string *SaveData){
7         string DataLine = "";
8         string DataLineProcessed = "";
9         
10         *SaveData += "BEGIN:VTODO\n";
11         
12         // Process the UID.
13         
14         if (UniqueID.size() > 0){
15                 
16                 if (UniqueIDTokens.size() > 0){
17                 
18                         DataLine += "UID;";
19                         DataLine += UniqueIDTokens;
20                         
21                 } else {
23                         DataLine += "UID";
24                         
25                 }
27                 DataLine += ":";
28                 DataLine += UniqueID;
29                 DataLine += "\n";
30                 
31                 DataLineProcessed = OutputText(&DataLine);
32                 
33                 *SaveData += DataLineProcessed;
34                 
35                 DataLine.clear();
36                 DataLineProcessed.clear();
37                 
38         }
39         
40         // Process the DTSTAMP.
41         
42         if (DateTimeStampData.size() > 0){
43                 
44                 if (DateTimeStampTokens.size() > 0){
45                 
46                         DataLine += "DTSTAMP;";
47                         DataLine += DateTimeStampTokens;
48                         
49                 } else {
51                         DataLine += "DTSTAMP";
52                         
53                 }
55                 DataLine += ":";
56                 DataLine += DateTimeStampData;
57                 DataLine += "\n";
58                 
59                 DataLineProcessed = OutputText(&DataLine);
60                 
61                 *SaveData += DataLineProcessed;
62                 
63                 DataLine.clear();
64                 DataLineProcessed.clear();
65                 
66         }
67         
68         // Process the CLASS value.
69         
70         if (ClassData.size() > 0){
71                 
72                 if (ClassDataTokens.size() > 0){
73                 
74                         DataLine += "CLASS;";
75                         DataLine += ClassDataTokens;
76                         
77                 } else {
79                         DataLine += "CLASS";
80                         
81                 }
83                 DataLine += ":";
84                 DataLine += ClassData;
85                 DataLine += "\n";
86                 
87                 DataLineProcessed = OutputText(&DataLine);
88                 
89                 *SaveData += DataLineProcessed;
90                 
91                 DataLine.clear();
92                 DataLineProcessed.clear();
93                 
94         }
95         
96         // Process the COMPLETED value.
97         
98         if (CompletedData.size() > 0){
99                 
100                 if (CompletedDataTokens.size() > 0){
101                 
102                         DataLine += "COMPLETED;";
103                         DataLine += CompletedDataTokens;
104                         
105                 } else {
107                         DataLine += "COMPLETED";
108                         
109                 }
111                 DataLine += ":";
112                 DataLine += CompletedData;
113                 DataLine += "\n";
114                 
115                 DataLineProcessed = OutputText(&DataLine);
116                 
117                 *SaveData += DataLineProcessed;
118                 
119                 DataLine.clear();
120                 DataLineProcessed.clear();
121                 
122         }
124         // Process the CREATED value.
125         
126         if (DateTimeCreatedData.size() > 0){
127                 
128                 if (DateTimeCreatedTokens.size() > 0){
129                 
130                         DataLine += "CREATED;";
131                         DataLine += DateTimeCreatedTokens;
132                         
133                 } else {
135                         DataLine += "CREATED";
136                         
137                 }
139                 DataLine += ":";
140                 DataLine += DateTimeCreatedData;
141                 DataLine += "\n";
142                 
143                 DataLineProcessed = OutputText(&DataLine);
144                 
145                 *SaveData += DataLineProcessed;
146                 
147                 DataLine.clear();
148                 DataLineProcessed.clear();
149                 
150         }
151         
152         // Process the DESCRIPTION values. Write out the
153         // first DESCRPITION only as per RFC5545 specifcation.
154         
155         if (DescriptionList.size() > 0){
156                 
157                 DataLine += "DESCRIPTION";
158                 
159                 if (DescriptionListAltRep[0].size() > 0){
160                 
161                         DataLine += ";ALTREP=\"";
162                         DataLine += DescriptionListAltRep[0];
163                         DataLine += "\"";
164                         
165                 }
166                 
167                 if (DescriptionListLanguage[0].size() > 0){
168                 
169                         DataLine += ";LANGUAGE=";
170                         DataLine += DescriptionListLanguage[0];
171                         
172                 }
173                 
174                 if (DescriptionListTokens[0].size() > 0){
175                 
176                         DataLine += ";";
177                         DataLine += DescriptionListTokens[0];
178                         
179                 }
181                 DataLine += ":";
182                 DataLine += DescriptionList[0];
183                 DataLine += "\n";
184                 
185                 DataLineProcessed = OutputText(&DataLine);
186                 
187                 *SaveData += DataLineProcessed;
188                 
189                 DataLine.clear();
190                 DataLineProcessed.clear();
191                 
192         }
193         
194         *SaveData += "END:VTODO\n";
195         
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