Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added SEQUENCE property for saving data from a CalendarJournalObject.
[xestiacalendar/.git] / source / objects / calendarjournal / CalendarJournal-Save.cpp
1 #include "CalendarJournal.h"
3 using namespace std;
5 void CalendarJournalObject::SaveObjectData(string *SaveData){
7         string DataLine = "";
8         string DataLineProcessed = "";
9         
10         *SaveData += "BEGIN:VJOURNAL\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 SUMMARY.
69         
70         if (SummaryData.size() > 0){
71                 
72                 DataLine += "SUMMARY";
73                 
74                 if (SummaryDataAltRep.size() > 0){
75                 
76                         DataLine += ";ALTREP=\"";
77                         DataLine += SummaryDataAltRep;
78                         DataLine += "\"";
79                         
80                 }
81                 
82                 if (SummaryDataLanguage.size() > 0){
83                 
84                         DataLine += ";LANGUAGE=";
85                         DataLine += SummaryDataLanguage;                        
86                         
87                 }
88                 
89                 if (SummaryDataTokens.size() > 0){
90                 
91                         DataLine += ";";
92                         DataLine += SummaryDataTokens;
93                         
94                 }
95                 
96                 DataLine += ":";
97                 DataLine += SummaryData;
98                 DataLine += "\n";
99                 
100                 DataLineProcessed = OutputText(&DataLine);
101                 
102                 *SaveData += DataLineProcessed;
104                 DataLine.clear();
105                 DataLineProcessed.clear();
106                 
107         }
108         
109         // Process the CLASS.
110         
111         if (ClassData.size() > 0){
112                 
113                 DataLine += "CLASS";
114                 
115                 if (ClassDataTokens.size() > 0){
116                 
117                         DataLine += ";";
118                         DataLine += ClassDataTokens;
119                         
120                 }
121                 
122                 DataLine += ":";
123                 DataLine += ClassData;
124                 DataLine += "\n";
125                 
126                 DataLineProcessed = OutputText(&DataLine);
127                 
128                 *SaveData += DataLineProcessed;
130                 DataLine.clear();
131                 DataLineProcessed.clear();
132                 
133         }
134         
135         // Process the DTSTART.
136         
137         if (DateTimeStartData.size() > 0){
138                 
139                 DataLine += "DTSTART";
140                 
141                 if (DateTimeStartDataValue.size() > 0){
142                 
143                         DataLine += ";VALUE=";
144                         DataLine += DateTimeStartDataValue;                     
145                         
146                 }
147                 
148                 if (DateTimeStartDataTimeZoneID.size() > 0){
149                 
150                         DataLine += ";TZID=";
151                         DataLine += DateTimeStartDataTimeZoneID;                        
152                         
153                 }
154                 
155                 if (DateTimeStartDataTokens.size() > 0){
156                 
157                         DataLine += ";";
158                         DataLine += DateTimeStartDataTokens;
159                         
160                 }
162                 DataLine += ":";
163                 DataLine += DateTimeStartData;
164                 DataLine += "\n";
165                 
166                 DataLineProcessed = OutputText(&DataLine);
167                 
168                 *SaveData += DataLineProcessed;
169                 
170                 DataLine.clear();
171                 DataLineProcessed.clear();
172                 
173         }
174         
175         // Process the LAST-MODIFIED value.
176         
177         if (LastModifiedData.size() > 0){
178                 
179                 if (LastModifiedTokens.size() > 0){
180                 
181                         DataLine += "LAST-MODIFIED;";
182                         DataLine += LastModifiedTokens;
183                         
184                 } else {
186                         DataLine += "LAST-MODIFIED";
187                         
188                 }
190                 DataLine += ":";
191                 DataLine += LastModifiedData;
192                 DataLine += "\n";
193                 
194                 DataLineProcessed = OutputText(&DataLine);
195                 
196                 *SaveData += DataLineProcessed;
197                 
198                 DataLine.clear();
199                 DataLineProcessed.clear();
200                 
201         }
202         
203         // Process the ORGANIZER value.
204         
205         if (OrganiserData.size() > 0){
206                 
207                 DataLine += "ORGANIZER";
208                 
209                 if (OrganiserDataCommonName.size() > 0){
210                 
211                         DataLine += ";CN=";
212                         DataLine += OrganiserDataCommonName;
213                         
214                 }
216                 if (OrganiserDataDirectoryEntry.size() > 0){
217                 
218                         DataLine += ";DIR=\"";
219                         DataLine += OrganiserDataDirectoryEntry;
220                         DataLine += "\"";
221                         
222                 }
223                 
224                 if (OrganiserDataSentByParam.size() > 0){
225                 
226                         DataLine += ";SENT-BY=\"";
227                         DataLine += OrganiserDataSentByParam;                   
228                         DataLine += "\"";
229                         
230                 }
231                 
232                 if (OrganiserDataLanguage.size() > 0){
233                 
234                         DataLine += ";LANGUAGE=";
235                         DataLine += OrganiserDataLanguage;                      
236                         
237                 }
238                 
239                 if (OrganiserDataTokens.size() > 0){
240                 
241                         DataLine += ";";
242                         DataLine += OrganiserDataTokens;
243                         
244                 }
245                 
246                 DataLine += ":";
247                 DataLine += OrganiserData;
248                 DataLine += "\n";
249                 
250                 DataLineProcessed = OutputText(&DataLine);
251                 
252                 *SaveData += DataLineProcessed;
254                 DataLine.clear();
255                 DataLineProcessed.clear();
256                 
257         }
258         
259         // Process the RECURRENCE-ID value.
260         
261         if (RecurranceIDData.size() > 0){
262                 
263                 DataLine += "RECURRENCE-ID";
265                 if (RecurranceIDDataTimeZoneParam.size() > 0){
266                 
267                         DataLine += ";TZID=";
268                         DataLine += RecurranceIDDataTimeZoneParam;                      
269                         
270                 }
271                 
272                 if (RecurranceIDDataRangeParam.size() > 0){
273                 
274                         DataLine += ";RANGE=";
275                         DataLine += RecurranceIDDataRangeParam;                 
276                         
277                 }
278                 
279                 if (RecurranceIDDataValue.size() > 0){
280                 
281                         DataLine += ";VALUE=";
282                         DataLine += RecurranceIDDataValue;                      
283                         
284                 }
285                 
286                 if (RecurranceIDDataTokens.size() > 0){
287                 
288                         DataLine += ";";
289                         DataLine += RecurranceIDDataTokens;
290                         
291                 }
292                 
293                 DataLine += ":";
294                 DataLine += RecurranceIDData;
295                 DataLine += "\n";
296                 
297                 DataLineProcessed = OutputText(&DataLine);
298                 
299                 *SaveData += DataLineProcessed;
301                 DataLine.clear();
302                 DataLineProcessed.clear();
303                 
304         }
305         
306         // Process the SEQUENCE value.
307         
308         if (SequenceData > -1 && SequenceData < 10){
309                 
310                 DataLine += "SEQUENCE";
311                 
312                 if (SequenceTokens.size() > 0){
313                 
314                         DataLine += ";";
315                         DataLine += SequenceTokens;
316                         
317                 }
318                 
319                 DataLine += ":";
320                 DataLine += to_string(SequenceData);
321                 DataLine += "\n";
322                 
323                 DataLineProcessed = OutputText(&DataLine);
324                 
325                 *SaveData += DataLineProcessed;
327                 DataLine.clear();
328                 DataLineProcessed.clear();
329                 
330         }
331         
332         *SaveData += "END:VJOURNAL\n";
333         
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