Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
camelCase: Converted code in calendartask directory
[xestiacalendar/.git] / source / objects / calendartask / CalendarTask-Save.cpp
1 // CalendarTask-Save.cpp - CalendarTask class save functions
2 //
3 // (c) 2016-2017 Xestia Software Development.
4 //
5 // This file is part of Xestia Calendar.
6 //
7 // Xestia Calendar is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by the
9 // Free Software Foundation, version 3 of the license.
10 //
11 // Xestia Calendar is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License along
17 // with Xestia Calendar. If not, see <http://www.gnu.org/licenses/>
19 #include "CalendarTask.h"
21 using namespace std;
23 void CalendarTaskObject::SaveObjectData(string *SaveData){
25         string dataLine = "";
26         string dataLineProcessed = "";
27         
28         *saveData += "BEGIN:VTODO\n";
29         
30         // Process the UID.
31         
32         if (uniqueID.size() > 0){
33                 
34                 if (uniqueIDTokens.size() > 0){
35                 
36                         dataLine += "UID;";
37                         dataLine += uniqueIDTokens;
38                         
39                 } else {
41                         dataLine += "UID";
42                         
43                 }
45                 dataLine += ":";
46                 dataLine += uniqueID;
47                 dataLine += "\n";
48                 
49                 dataLineProcessed = OutputText(&dataLine);
50                 
51                 *saveData += dataLineProcessed;
52                 
53                 dataLine.clear();
54                 dataLineProcessed.clear();
55                 
56         }
57         
58         // Process the DTSTAMP.
59         
60         if (dateTimeStampData.size() > 0){
61                 
62                 if (dateTimeStampTokens.size() > 0){
63                 
64                         dataLine += "DTSTAMP;";
65                         dataLine += dateTimeStampTokens;
66                         
67                 } else {
69                         dataLine += "DTSTAMP";
70                         
71                 }
73                 dataLine += ":";
74                 dataLine += dateTimeStampData;
75                 dataLine += "\n";
76                 
77                 dataLineProcessed = OutputText(&dataLine);
78                 
79                 *saveData += dataLineProcessed;
80                 
81                 dataLine.clear();
82                 dataLineProcessed.clear();
83                 
84         }
85         
86         // Process the CLASS value.
87         
88         if (classData.size() > 0){
89                 
90                 if (classDataTokens.size() > 0){
91                 
92                         dataLine += "CLASS;";
93                         dataLine += classDataTokens;
94                         
95                 } else {
97                         dataLine += "CLASS";
98                         
99                 }
101                 dataLine += ":";
102                 dataLine += classData;
103                 dataLine += "\n";
104                 
105                 dataLineProcessed = OutputText(&dataLine);
106                 
107                 *saveData += dataLineProcessed;
108                 
109                 dataLine.clear();
110                 dataLineProcessed.clear();
111                 
112         }
113         
114         // Process the COMPLETED value.
115         
116         if (completedData.size() > 0){
117                 
118                 if (completedDataTokens.size() > 0){
119                 
120                         dataLine += "COMPLETED;";
121                         dataLine += completedDataTokens;
122                         
123                 } else {
125                         dataLine += "COMPLETED";
126                         
127                 }
129                 dataLine += ":";
130                 dataLine += completedData;
131                 dataLine += "\n";
132                 
133                 dataLineProcessed = OutputText(&dataLine);
134                 
135                 *saveData += dataLineProcessed;
136                 
137                 dataLine.clear();
138                 dataLineProcessed.clear();
139                 
140         }
142         // Process the CREATED value.
143         
144         if (dateTimeCreatedData.size() > 0){
145                 
146                 if (dateTimeCreatedTokens.size() > 0){
147                 
148                         dataLine += "CREATED;";
149                         dataLine += dateTimeCreatedTokens;
150                         
151                 } else {
153                         dataLine += "CREATED";
154                         
155                 }
157                 dataLine += ":";
158                 dataLine += dateTimeCreatedData;
159                 dataLine += "\n";
160                 
161                 dataLineProcessed = OutputText(&dataLine);
162                 
163                 *saveData += dataLineProcessed;
164                 
165                 dataLine.clear();
166                 dataLineProcessed.clear();
167                 
168         }
169         
170         // Process the DESCRIPTION values. Write out the
171         // first DESCRPITION only as per RFC5545 specifcation.
172         
173         if (descriptionList.size() > 0){
174                 
175                 dataLine += "DESCRIPTION";
176                 
177                 if (descriptionListAltRep[0].size() > 0){
178                 
179                         dataLine += ";ALTREP=\"";
180                         dataLine += descriptionListAltRep[0];
181                         dataLine += "\"";
182                         
183                 }
184                 
185                 if (descriptionListLanguage[0].size() > 0){
186                 
187                         dataLine += ";LANGUAGE=";
188                         dataLine += descriptionListLanguage[0];
189                         
190                 }
191                 
192                 if (descriptionListTokens[0].size() > 0){
193                 
194                         dataLine += ";";
195                         dataLine += descriptionListTokens[0];
196                         
197                 }
199                 dataLine += ":";
200                 dataLine += descriptionList[0];
201                 dataLine += "\n";
202                 
203                 dataLineProcessed = OutputText(&dataLine);
204                 
205                 *SaveData += dataLineProcessed;
206                 
207                 dataLine.clear();
208                 dataLineProcessed.clear();
209                 
210         }
211         
212         // Process the DTSTART.
213         
214         if (dateTimeStartData.size() > 0){
215                 
216                 dataLine += "DTSTART";
217                 
218                 if (dateTimeStartDataValue.size() > 0){
219                 
220                         dataLine += ";VALUE=";
221                         dataLine += dateTimeStartDataValue;                     
222                         
223                 }
224                 
225                 if (dateTimeStartDataTimeZoneID.size() > 0){
226                 
227                         dataLine += ";TZID=";
228                         dataLine += dateTimeStartDataTimeZoneID;                        
229                         
230                 }
231                 
232                 if (dateTimeStartDataTokens.size() > 0){
233                 
234                         dataLine += ";";
235                         dataLine += dateTimeStartDataTokens;
236                         
237                 }
239                 dataLine += ":";
240                 dataLine += dateTimeStartData;
241                 dataLine += "\n";
242                 
243                 dataLineProcessed = OutputText(&dataLine);
244                 
245                 *SaveData += dataLineProcessed;
246                 
247                 dataLine.clear();
248                 dataLineProcessed.clear();
249                 
250         }
251         
252         // Process the GEO value.
253         
254         if (geographicData.size() > 0){
255                 
256                 if (geographicTokens.size() > 0){
257                 
258                         dataLine += "GEO;";
259                         dataLine += geographicTokens;
260                         
261                 } else {
263                         dataLine += "GEO";
264                         
265                 }
267                 dataLine += ":";
268                 dataLine += geographicData;
269                 dataLine += "\n";
270                 
271                 dataLineProcessed = OutputText(&dataLine);
272                 
273                 *SaveData += dataLineProcessed;
274                 
275                 dataLine.clear();
276                 dataLineProcessed.clear();
277                 
278         }
279         
280         // Process the LAST-MODIFIED value.
281         
282         if (lastModifiedData.size() > 0){
283                 
284                 if (lastModifiedTokens.size() > 0){
285                 
286                         dataLine += "LAST-MODIFIED;";
287                         dataLine += lastModifiedTokens;
288                         
289                 } else {
291                         dataLine += "LAST-MODIFIED";
292                         
293                 }
295                 dataLine += ":";
296                 dataLine += lastModifiedData;
297                 dataLine += "\n";
298                 
299                 dataLineProcessed = OutputText(&dataLine);
300                 
301                 *SaveData += dataLineProcessed;
302                 
303                 dataLine.clear();
304                 dataLineProcessed.clear();
305                 
306         }
307         
308         // Process the LOCATION value.
310         if (locationData.size() > 0){
311                 
312                 dataLine += "LOCATION";
313                 
314                 if (locationDataAltRep.size() > 0){
315                 
316                         dataLine += ";ALTREP=\"";
317                         dataLine += locationDataAltRep;
318                         dataLine += "\"";
319                         
320                 }
321                 
322                 if (locationDataLanguage.size() > 0){
323                 
324                         dataLine += ";LANGUAGE=";
325                         dataLine += locationDataLanguage;                       
326                         
327                 }
328                 
329                 if (locationDataTokens.size() > 0){
330                 
331                         dataLine += ";";
332                         dataLine += locationDataTokens;
333                         
334                 }
335                 
336                 dataLine += ":";
337                 dataLine += locationData;
338                 dataLine += "\n";
339                 
340                 dataLineProcessed = OutputText(&dataLine);
341                 
342                 *SaveData += dataLineProcessed;
344                 dataLine.clear();
345                 dataLineProcessed.clear();
346                 
347         }
348         
349         // Process the ORGANIZER value.
350         
351         if (organiserData.size() > 0){
352                 
353                 dataLine += "ORGANIZER";
354                 
355                 if (organiserDataCommonName.size() > 0){
356                 
357                         dataLine += ";CN=";
358                         dataLine += organiserDataCommonName;
359                         
360                 }
362                 if (organiserDataDirectoryEntry.size() > 0){
363                 
364                         dataLine += ";DIR=\"";
365                         dataLine += organiserDataDirectoryEntry;
366                         dataLine += "\"";
367                         
368                 }
369                 
370                 if (organiserDataSentByParam.size() > 0){
371                 
372                         dataLine += ";SENT-BY=\"";
373                         dataLine += organiserDataSentByParam;                   
374                         dataLine += "\"";
375                         
376                 }
377                 
378                 if (organiserDataLanguage.size() > 0){
379                 
380                         dataLine += ";LANGUAGE=";
381                         dataLine += organiserDataLanguage;                      
382                         
383                 }
384                 
385                 if (organiserDataTokens.size() > 0){
386                 
387                         dataLine += ";";
388                         dataLine += organiserDataTokens;
389                         
390                 }
391                 
392                 dataLine += ":";
393                 dataLine += organiserData;
394                 dataLine += "\n";
395                 
396                 dataLineProcessed = OutputText(&dataLine);
397                 
398                 *SaveData += dataLineProcessed;
400                 dataLine.clear();
401                 dataLineProcessed.clear();
402                 
403         }
404         
405         // Process the PERCENT-COMPLETE value.
406         
407         if (percentCompleteData.size() > 0){
408                 
409                 if (percentCompleteTokens.size() > 0){
410                 
411                         dataLine += "PERCENT-COMPLETE;";
412                         dataLine += percentCompleteTokens;
413                         
414                 } else {
416                         dataLine += "PERCENT-COMPLETE";
417                         
418                 }
420                 dataLine += ":";
421                 dataLine += percentCompleteData;
422                 dataLine += "\n";
423                 
424                 dataLineProcessed = OutputText(&dataLine);
425                 
426                 *SaveData += dataLineProcessed;
427                 
428                 dataLine.clear();
429                 dataLineProcessed.clear();
430                 
431         }
432         
433         // Process the DURATION value.
434         
435         if (durationData.size() > 0){
436                 
437                 dataLine += "DURATION";
439                 if (durationDataTokens.size() > 0){
440                 
441                         dataLine += ";";
442                         dataLine += durationDataTokens;
443                         
444                 }
445                 
446                 dataLine += ":";
447                 dataLine += durationData;
448                 dataLine += "\n";
449                 
450                 dataLineProcessed = OutputText(&dataLine);
451                 
452                 *SaveData += dataLineProcessed;
454                 dataLine.clear();
455                 dataLineProcessed.clear();
456                 
457         }
458         
459         // Process the PRIORITY value.
460         
461         if (priorityData > -1 && priorityData < 10){
462                 
463                 dataLine += "PRIORITY";
464                 
465                 if (PriorityTokens.size() > 0){
466                 
467                         dataLine += ";";
468                         dataLine += priorityTokens;
469                         
470                 }
471                 
472                 dataLine += ":";
473                 dataLine += to_string(priorityData);
474                 dataLine += "\n";
475                 
476                 dataLineProcessed = OutputText(&dataLine);
477                 
478                 *SaveData += dataLineProcessed;
480                 dataLine.clear();
481                 dataLineProcessed.clear();
482                 
483         }
484         
485         // Process the RECURRENCE-ID value.
486         
487         if (recurranceIDData.size() > 0){
488                 
489                 dataLine += "RECURRENCE-ID";
491                 if (recurranceIDDataTimeZoneParam.size() > 0){
492                 
493                         dataLine += ";TZID=";
494                         dataLine += recurranceIDDataTimeZoneParam;                      
495                         
496                 }
497                 
498                 if (recurranceIDDataRangeParam.size() > 0){
499                 
500                         dataLine += ";RANGE=";
501                         dataLine += recurranceIDDataRangeParam;                 
502                         
503                 }
504                 
505                 if (recurranceIDDataValue.size() > 0){
506                 
507                         dataLine += ";VALUE=";
508                         dataLine += recurranceIDDataValue;                      
509                         
510                 }
511                 
512                 if (recurranceIDDataTokens.size() > 0){
513                 
514                         dataLine += ";";
515                         dataLine += recurranceIDDataTokens;
516                         
517                 }
518                 
519                 dataLine += ":";
520                 dataLine += recurranceIDData;
521                 dataLine += "\n";
522                 
523                 dataLineProcessed = OutputText(&dataLine);
524                 
525                 *SaveData += dataLineProcessed;
527                 dataLine.clear();
528                 dataLineProcessed.clear();
529                 
530         }
531         
532         // Process the SEQUENCE value.
533         
534         if (sequenceData > -1 && sequenceData < 10){
535                 
536                 dataLine += "SEQUENCE";
537                 
538                 if (sequenceTokens.size() > 0){
539                 
540                         dataLine += ";";
541                         dataLine += sequenceTokens;
542                         
543                 }
544                 
545                 dataLine += ":";
546                 dataLine += to_string(sequenceData);
547                 dataLine += "\n";
548                 
549                 dataLineProcessed = OutputText(&dataLine);
550                 
551                 *SaveData += dataLineProcessed;
553                 dataLine.clear();
554                 dataLineProcessed.clear();
555                 
556         }
557         
558         // Process the STATUS value.
559         
560         if (statusData.size() > 0){
561                 
562                 dataLine += "STATUS";
563                 
564                 if (statusLanguage.size() > 0){
565                 
566                         dataLine += ";LANGUAGE=";
567                         dataLine += statusLanguage;
568                         
569                 }
570                 
571                 if (statusTokens.size() > 0){
572                 
573                         dataLine += ";";
574                         dataLine += statusTokens;
575                         
576                 }
577                 
578                 dataLine += ":";
579                 dataLine += statusData;
580                 dataLine += "\n";
581                 
582                 dataLineProcessed = OutputText(&dataLine);
583                 
584                 *saveData += dataLineProcessed;
586                 dataLine.clear();
587                 dataLineProcessed.clear();
588                 
589         }
590         
591         // Process the SUMMARY.
592         
593         if (summaryData.size() > 0){
594                 
595                 dataLine += "SUMMARY";
596                 
597                 if (summaryDataAltRep.size() > 0){
598                 
599                         dataLine += ";ALTREP=\"";
600                         dataLine += summaryDataAltRep;
601                         dataLine += "\"";
602                         
603                 }
604                 
605                 if (summaryDataLanguage.size() > 0){
606                 
607                         dataLine += ";LANGUAGE=";
608                         dataLine += summaryDataLanguage;
609                         
610                 }
611                 
612                 if (summaryDataTokens.size() > 0){
613                 
614                         dataLine += ";";
615                         dataLine += summaryDataTokens;
616                         
617                 }
618                 
619                 dataLine += ":";
620                 dataLine += summaryData;
621                 dataLine += "\n";
622                 
623                 dataLineProcessed = OutputText(&dataLine);
624                 
625                 *saveData += dataLineProcessed;
627                 dataLine.clear();
628                 dataLineProcessed.clear();
629                 
630         }
631         
632         // Process the URL value.
633         
634         if (urlData.size() > 0){
635                 
636                 dataLine += "URL";
638                 if (urlDataTokens.size() > 0){
639                 
640                         dataLine += ";";
641                         dataLine += urlDataTokens;
642                         
643                 }
644                 
645                 dataLine += ":";
646                 dataLine += urlData;
647                 dataLine += "\n";
648                 
649                 dataLineProcessed = OutputText(&dataLine);
650                 
651                 *saveData += dataLineProcessed;
653                 dataLine.clear();
654                 dataLineProcessed.clear();
655                 
656         }
657         
658         // Process the RRULE value.
659         
660         if (recurranceRuleData.size() > 0){
661                 
662                 dataLine += "RRULE";
664                 if (recurranceRuleDataTokens.size() > 0){
665                 
666                         dataLine += ";";
667                         dataLine += recurranceRuleDataTokens;
668                         
669                 }
670                 
671                 dataLine += ":";
672                 dataLine += recurranceRuleData;
673                 dataLine += "\n";
674                 
675                 dataLineProcessed = OutputText(&dataLine);
676                 
677                 *SaveData += dataLineProcessed;
679                 dataLine.clear();
680                 dataLineProcessed.clear();
681                 
682         }
683         
684         // Process the DUE value.
685         
686         if (dueData.size() > 0){
687                 
688                 dataLine += "DUE";
689                 
690                 if (dueDataTimeZoneID.size() > 0){
691                 
692                         dataLine += ";TZID=";
693                         dataLine += dueDataTimeZoneID;
694                         
695                 }
696                 
697                 if (dueDataValue.size() > 0){
698                 
699                         dataLine += ";VALUE=";
700                         dataLine += dueDataValue;
701                         
702                 }
703                 
704                 if (dueDataTokens.size() > 0){
705                 
706                         dataLine += ";";
707                         dataLine += dueDataTokens;
708                         
709                 }
710                 
711                 dataLine += ":";
712                 dataLine += dueData;
713                 dataLine += "\n";
714                 
715                 dataLineProcessed = OutputText(&dataLine);
716                 
717                 *SaveData += dataLineProcessed;
719                 dataLine.clear();
720                 dataLineProcessed.clear();
721                 
722         }
723         
724         // Process the ATTACH values.
725         
726         if (attachList.size() > 0){
727                 
728                 for (int attachListSeek = 0; attachListSeek < attachList.size();
729                         attachListSeek++){
730                         
731                         dataLine += "ATTACH";
733                         if (attachListFormatType[attachListSeek].size() > 0){
734                 
735                                 dataLine += ";FMTTYPE=";
736                                 dataLine += attachListFormatType[attachListSeek];
737                         
738                         }
739                                 
740                         if (attachListValue[attachListSeek].size() > 0){
741                 
742                                 dataLine += ";VALUE=";
743                                 dataLine += attachListValue[attachListSeek];
744                         
745                         }
746                                 
747                         if (attachListEncoding[attachListSeek].size() > 0){
748                 
749                                 dataLine += ";ENCODING=";
750                                 dataLine += attachListEncoding[attachListSeek];
751                         
752                         }
753                                 
754                         if (attachListTokens[attachListSeek].size() > 0){
755                 
756                                 dataLine += ";";
757                                 dataLine += attachListTokens[attachListSeek];
758                         
759                         }
760                 
761                         dataLine += ":";
762                         dataLine += attachList[attachListSeek];
763                         dataLine += "\n";
764                 
765                         dataLineProcessed = OutputText(&dataLine);
766                 
767                         *SaveData += dataLineProcessed;
769                         dataLine.clear();
770                         dataLineProcessed.clear();
771                                 
772                 }
773                 
774         }
775         
776         // Process the ATTENDEE value.
777         
778         if (attendeeList.size() > 0){
779                 
780                 for (int attendeeListSeek = 0; attendeeListSeek < attendeeList.size();
781                         attendeeListSeek++){
782         
783                         dataLine += "ATTENDEE";
785                         if (attendeeListMember[attendeeListSeek].size() > 0){
786                 
787                                 dataLine += ";MEMBER=\"";
788                                 dataLine += attendeeListMember[attendeeListSeek];
789                                 dataLine += "\"";
790                         
791                         }
792                                 
793                         if (attendeeListDelegatedFrom[attendeeListSeek].size() > 0){
794                 
795                                 dataLine += ";DELEGATED-FROM=\"";
796                                 dataLine += attendeeListDelegatedFrom[attendeeListSeek];
797                                 dataLine += "\"";
798                         
799                         }
801                         if (attendeeListDelegatedTo[attendeeListSeek].size() > 0){
802                 
803                                 dataLine += ";DELEGATED-TO=\"";
804                                 dataLine += attendeeListDelegatedTo[attendeeListSeek];
805                                 dataLine += "\"";
806                         
807                         }
809                         if (attendeeListRole[attendeeListSeek].size() > 0){
810                 
811                                 dataLine += ";ROLE=";
812                                 dataLine += attendeeListRole[attendeeListSeek];
813                         
814                         }
815                         
816                         if (attendeeListRSVP[attendeeListSeek].size() > 0){
817                 
818                                 dataLine += ";RSVP=";
819                                 dataLine += attendeeListRSVP[attendeeListSeek];
820                         
821                         }
822                         
823                         if (attendeeListDirectoryEntry[attendeeListSeek].size() > 0){
824                 
825                                 dataLine += ";DIR=\"";
826                                 dataLine += attendeeListDirectoryEntry[attendeeListSeek];
827                                 dataLine += "\"";
828                         
829                         }
830                         
831                         if (attendeeListSentBy[attendeeListSeek].size() > 0){
832                                 
833                                 dataLine += ";SENT-BY=\"";
834                                 dataLine += attendeeListSentBy[attendeeListSeek];
835                                 dataLine += "\"";
836                                 
837                         }
839                         if (attendeeListCommonName[attendeeListSeek].size() > 0){
840                                 
841                                 dataLine += ";CN=\"";
842                                 dataLine += attendeeListCommonName[attendeeListSeek];
843                                 dataLine += "\"";
844                                 
845                         }
847                         if (attendeeListCalendarUserType[attendeeListSeek].size() > 0){
848                                 
849                                 dataLine += ";CUTYPE=";
850                                 dataLine += attendeeListCalendarUserType[attendeeListSeek];
851                                 
852                         }
853                         
854                         if (attendeeListParticipationStatus[attendeeListSeek].size() > 0){
855                                 
856                                 dataLine += ";PARTSTAT=";
857                                 dataLine += attendeeListParticipationStatus[attendeeListSeek];
858                                 
859                         }
860                         
861                         if (attendeeListLanguage[attendeeListSeek].size() > 0){
862                                 
863                                 dataLine += ";LANGUAGE=";
864                                 dataLine += attendeeListLanguage[attendeeListSeek];
865                                 
866                         }
867                         
868                         if (attendeeListTokens[attendeeListSeek].size() > 0){
869                 
870                                 dataLine += ";";
871                                 dataLine += attendeeListTokens[attendeeListSeek];
872                         
873                         }
874                                 
875                         dataLine += ":";
876                         dataLine += attendeeList[attendeeListSeek];
877                         dataLine += "\n";
878                 
879                         dataLineProcessed = OutputText(&dataLine);
880                 
881                         *SaveData += dataLineProcessed;
883                         dataLine.clear();
884                         dataLineProcessed.clear();
885                                 
886                 }
887                         
888         }
889         
890         // Process the CATEGORIES value.
891         
892         if (categoriesList.size() > 0){
893                 
894                 for (int categoriesListSeek = 0; categoriesListSeek < categoriesList.size();
895                         categoriesListSeek++){
896         
897                         dataLine += "CATEGORIES";
898                                 
899                         if (categoriesListLanguage[categoriesListSeek].size() > 0){
900                 
901                                 dataLine += ";LANGUAGE=";
902                                 dataLine += categoriesListLanguage[categoriesListSeek];
903                         
904                         }                       
905                         
906                         if (categoriesListTokens[categoriesListSeek].size() > 0){
907                 
908                                 dataLine += ";";
909                                 dataLine += categoriesListTokens[categoriesListSeek];
910                         
911                         }
912                                 
913                         dataLine += ":";
914                         dataLine += categoriesList[categoriesListSeek];
915                         dataLine += "\n";
916                 
917                         dataLineProcessed = OutputText(&dataLine);
918                 
919                         *SaveData += dataLineProcessed;
921                         dataLine.clear();
922                         dataLineProcessed.clear();
923                                 
924                 }
925                 
926         }
927         
928         // Process the COMMENT value.
929         
930         if (commentList.size() > 0){
931                 
932                 for (int commentListSeek = 0; commentListSeek < commentList.size();
933                         commentListSeek++){
934         
935                         dataLine += "COMMENT";
936                         
937                         if (commentListAltRep[commentListSeek].size() > 0){
938                 
939                                 dataLine += ";ALTREP=\"";
940                                 dataLine += commentListAltRep[commentListSeek];
941                                 dataLine += "\"";
942                         
943                         }
944                                 
945                         if (commentListLanguage[commentListSeek].size() > 0){
946                 
947                                 dataLine += ";LANGUAGE=";
948                                 dataLine += commentListLanguage[commentListSeek];
949                         
950                         }
951                         
952                         if (commentListTokens[commentListSeek].size() > 0){
953                 
954                                 dataLine += ";";
955                                 dataLine += commentListTokens[commentListSeek];
956                         
957                         }
958                                 
959                         dataLine += ":";
960                         dataLine += commentList[commentListSeek];
961                         dataLine += "\n";
962                 
963                         dataLineProcessed = OutputText(&dataLine);
964                 
965                         *SaveData += dataLineProcessed;
967                         dataLine.clear();
968                         dataLineProcessed.clear();
969                                 
970                 }
971                 
972         }
973         
974         // Process the CONTACT value.
975         
976         if (contactList.size() > 0){
977                 
978                 for (int contactListSeek = 0; contactListSeek < contactList.size();
979                         contactListSeek++){
980         
981                         dataLine += "CONTACT";
982                         
983                         if (contactListAltRep[contactListSeek].size() > 0){
984                 
985                                 dataLine += ";ALTREP=\"";
986                                 dataLine += contactListAltRep[contactListSeek];
987                                 dataLine += "\"";
988                         
989                         }
990                                 
991                         if (contactListLanguage[contactListSeek].size() > 0){
992                 
993                                 dataLine += ";LANGUAGE=";
994                                 dataLine += contactListLanguage[contactListSeek];
995                         
996                         }
997                         
998                         if (contactListTokens[contactListSeek].size() > 0){
999                 
1000                                 dataLine += ";";
1001                                 dataLine += contactListTokens[contactListSeek];
1002                         
1003                         }
1004                                 
1005                         dataLine += ":";
1006                         dataLine += contactList[contactListSeek];
1007                         dataLine += "\n";
1008                 
1009                         dataLineProcessed = OutputText(&dataLine);
1010                 
1011                         *SaveData += dataLineProcessed;
1013                         dataLine.clear();
1014                         dataLineProcessed.clear();
1015                                 
1016                 }
1017                 
1018         }
1019         
1020         // Process the EXDATE value.
1021         
1022         if (excludeDateData.size() > 0){
1023                 
1024                 for (int excludeDateDataSeek = 0; excludeDateDataSeek < excludeDateData.size();
1025                         excludeDateDataSeek++){
1026         
1027                         dataLine += "EXDATE";
1028                                 
1029                         if (excludeDateDataTimeZoneParam[excludeDateDataSeek].size() > 0){
1030                 
1031                                 dataLine += ";TZID=";
1032                                 dataLine += excludeDateDataTimeZoneParam[excludeDateDataSeek];
1033                         
1034                         }
1035                         
1036                         if (excludeDateDataValue[excludeDateDataSeek].size() > 0){
1037                 
1038                                 dataLine += ";VALUE=";
1039                                 dataLine += excludeDateDataValue[excludeDateDataSeek];
1040                         
1041                         }
1042                         
1043                         if (excludeDateDataTokens[excludeDateDataSeek].size() > 0){
1044                 
1045                                 dataLine += ";";
1046                                 dataLine += excludeDateDataTokens[excludeDateDataSeek];
1047                         
1048                         }
1049                                 
1050                         dataLine += ":";
1051                         dataLine += excludeDateData[excludeDateDataSeek];
1052                         dataLine += "\n";
1053                 
1054                         dataLineProcessed = OutputText(&dataLine);
1055                 
1056                         *SaveData += dataLineProcessed;
1058                         dataLine.clear();
1059                         dataLineProcessed.clear();
1060                                 
1061                 }
1062                 
1063         }
1064         
1065         // Process the REQUEST-STATUS value.
1066         
1067         if (requestStatusData.size() > 0){
1068                 
1069                 for (int requestStatusDataSeek = 0; requestStatusDataSeek < requestStatusData.size();
1070                         requestStatusDataSeek++){
1071         
1072                         dataLine += "REQUEST-STATUS";
1073                         
1074                         if (requestStatusLanguage[requestStatusDataSeek].size() > 0){
1075                 
1076                                 dataLine += ";LANGUAGE=";
1077                                 dataLine += requestStatusLanguage[requestStatusDataSeek];
1078                         
1079                         }
1080                         
1081                         if (requestStatusTokens[requestStatusDataSeek].size() > 0){
1082                 
1083                                 dataLine += ";";
1084                                 dataLine += requestStatusTokens[requestStatusDataSeek];
1085                         
1086                         }
1087                                 
1088                         dataLine += ":";
1089                         dataLine += requestStatusData[requestStatusDataSeek];
1090                         dataLine += "\n";
1091                 
1092                         dataLineProcessed = OutputText(&dataLine);
1093                 
1094                         *SaveData += dataLineProcessed;
1096                         dataLine.clear();
1097                         dataLineProcessed.clear();
1098                                 
1099                 }
1100                 
1101         }
1102         
1103         // Process the RELATED-TO value.
1104         
1105         if (RelatedToData.size() > 0){
1106                 
1107                 for (int requestToDataSeek = 0; requestToDataSeek < RelatedToData.size();
1108                         requestToDataSeek++){
1109         
1110                         dataLine += "RELATED-TO";
1111                         
1112                         if (RelatedToDataRelationType[requestToDataSeek].size() > 0){
1113                 
1114                                 dataLine += ";RELTYPE=";
1115                                 dataLine += RelatedToDataRelationType[requestToDataSeek];
1116                         
1117                         }
1118                         
1119                         if (RelatedToDataTokens[requestToDataSeek].size() > 0){
1120                 
1121                                 dataLine += ";";
1122                                 dataLine += RelatedToDataTokens[requestToDataSeek];
1123                         
1124                         }
1125                                 
1126                         dataLine += ":";
1127                         dataLine += RelatedToData[requestToDataSeek];
1128                         dataLine += "\n";
1129                 
1130                         dataLineProcessed = OutputText(&dataLine);
1131                 
1132                         *SaveData += dataLineProcessed;
1134                         dataLine.clear();
1135                         dataLineProcessed.clear();
1136                                 
1137                 }
1138                 
1139         }
1140         
1141         // Process the RESOURCES value.
1142         
1143         if (resourcesData.size() > 0){
1144                 
1145                 for (int resourcesDataSeek = 0; resourcesDataSeek < resourcesData.size();
1146                         resourcesDataSeek++){
1147         
1148                         dataLine += "RESOURCES";
1149                         
1150                         if (resourcesDataAltRep[resourcesDataSeek].size() > 0){
1151                 
1152                                 dataLine += ";ALTREP=\"";
1153                                 dataLine += resourcesDataAltRep[resourcesDataSeek];
1154                                 dataLine += "\"";
1155                         
1156                         }
1157                                 
1158                         if (resourcesDataLanguage[resourcesDataSeek].size() > 0){
1159                 
1160                                 dataLine += ";LANGUAGE=";
1161                                 dataLine += resourcesDataLanguage[resourcesDataSeek];
1162                         
1163                         }
1164                         
1165                         if (resourcesDataTokens[resourcesDataSeek].size() > 0){
1166                 
1167                                 dataLine += ";";
1168                                 dataLine += resourcesDataTokens[resourcesDataSeek];
1169                         
1170                         }
1171                                 
1172                         dataLine += ":";
1173                         dataLine += resourcesData[resourcesDataSeek];
1174                         dataLine += "\n";
1175                 
1176                         dataLineProcessed = OutputText(&dataLine);
1177                 
1178                         *SaveData += dataLineProcessed;
1180                         dataLine.clear();
1181                         dataLineProcessed.clear();
1182                                 
1183                 }
1184                 
1185         }
1186         
1187         // Process the RDATE value.
1188         
1189         if (recurranceDateData.size() > 0){
1190                 
1191                 for (int recurranceDateDataSeek = 0; recurranceDateDataSeek < recurranceDateData.size();
1192                         recurranceDateDataSeek++){
1193         
1194                         dataLine += "RDATE";
1195                         
1196                         if (recurranceDateDataValue[recurranceDateDataSeek].size() > 0){
1197                 
1198                                 dataLine += ";VALUE=";
1199                                 dataLine += recurranceDateDataValue[recurranceDateDataSeek];
1200                         
1201                         }
1202                                 
1203                         if (recurranceDateDataTimeZoneParam[recurranceDateDataSeek].size() > 0){
1204                 
1205                                 dataLine += ";TZID=";
1206                                 dataLine += recurranceDateDataTimeZoneParam[recurranceDateDataSeek];
1207                         
1208                         }
1209                         
1210                         if (recurranceDateDataTokens[recurranceDateDataSeek].size() > 0){
1211                 
1212                                 dataLine += ";";
1213                                 dataLine += recurranceDateDataTokens[recurranceDateDataSeek];
1214                         
1215                         }
1216                                 
1217                         dataLine += ":";
1218                         dataLine += recurranceDateData[recurranceDateDataSeek];
1219                         dataLine += "\n";
1220                 
1221                         dataLineProcessed = OutputText(&dataLine);
1222                 
1223                         *SaveData += dataLineProcessed;
1225                         dataLine.clear();
1226                         dataLineProcessed.clear();
1227                                 
1228                 }
1229                 
1230         }
1231         
1232         // Process the VALARMS.
1233         
1234         if (calendarAlarmData.size() > 0){
1235                 
1236                 for (int calendarAlarmDataSeek = 0; calendarAlarmDataSeek < calendarAlarmData.size();
1237                         calendarAlarmDataSeek++){
1238                         
1239                         *SaveData += "BEGIN:VALARM\n";
1240                         
1241                         // Process the ACTION VALARM value.
1242                                 
1243                         dataLine += "ACTION";
1245                         if (calendarAlarmData[calendarAlarmDataSeek].alarmActionTokens.size() > 0){
1246                 
1247                                 dataLine += ";";
1248                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].alarmActionTokens;
1249                         
1250                         }
1251                                 
1252                         dataLine += ":";
1253                         dataLine += calendarAlarmData[calendarAlarmDataSeek].alarmAction;
1254                         dataLine += "\n";
1255                 
1256                         dataLineProcessed = OutputText(&dataLine);
1257                 
1258                         *SaveData += dataLineProcessed;
1260                         dataLine.clear();
1261                         dataLineProcessed.clear();
1262                         
1263                         // Process the TRIGGER VALARM value.
1264                         
1265                         if (calendarAlarmData[calendarAlarmDataSeek].triggerData.size() > 0){
1266                                 
1267                                 dataLine += "TRIGGER";
1268                                 
1269                                 if (calendarAlarmData[calendarAlarmDataSeek].triggerRelated.size() > 0){
1270                 
1271                                         dataLine += ";RELATED=";
1272                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].triggerRelated;
1273                         
1274                                 }
1275                                 
1276                                 if (calendarAlarmData[calendarAlarmDataSeek].triggerValue.size() > 0){
1277                 
1278                                         dataLine += ";VALUE=";
1279                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].triggerValue;
1280                         
1281                                 }
1282                                 
1283                                 if (calendarAlarmData[calendarAlarmDataSeek].triggerTokens.size() > 0){
1284                 
1285                                         dataLine += ";";
1286                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].triggerTokens;
1287                         
1288                                 }
1289                                 
1290                                 dataLine += ":";
1291                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].triggerData;
1292                                 dataLine += "\n";
1293                 
1294                                 dataLineProcessed = OutputText(&dataLine);
1295                 
1296                                 *SaveData += dataLineProcessed;
1298                                 dataLine.clear();
1299                                 dataLineProcessed.clear();                              
1300                                 
1301                         }
1302                         
1303                         // Process the DURATION VALARM value.
1304                         
1305                         if (calendarAlarmData[calendarAlarmDataSeek].durationData.size() > 0){
1306                                 
1307                                 dataLine += "DURATION";
1308                                 
1309                                 if (calendarAlarmData[calendarAlarmDataSeek].durationTokens.size() > 0){
1310                 
1311                                         dataLine += ";";
1312                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].durationTokens;
1313                         
1314                                 }
1315                                 
1316                                 dataLine += ":";
1317                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].durationData;
1318                                 dataLine += "\n";
1319                 
1320                                 dataLineProcessed = OutputText(&dataLine);
1321                 
1322                                 *SaveData += dataLineProcessed;
1324                                 dataLine.clear();
1325                                 dataLineProcessed.clear();                              
1326                                 
1327                         }
1328                         
1329                         // Process the DESCRIPTION VALARM value.
1330                         
1331                         if (calendarAlarmData[calendarAlarmDataSeek].descriptionData.size() > 0){
1332                                 
1333                                 dataLine += "DESCRIPTION";
1335                                 if (calendarAlarmData[calendarAlarmDataSeek].descriptionAltRep.size() > 0){
1336                 
1337                                         dataLine += ";ALTREP=\"";
1338                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].descriptionAltRep;
1339                                         dataLine += "\"";
1340                         
1341                                 }
1342                                 
1343                                 if (calendarAlarmData[calendarAlarmDataSeek].descriptionLanguage.size() > 0){
1344                 
1345                                         dataLine += ";LANGUAGE=";
1346                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].descriptionLanguage;
1347                         
1348                                 }
1349                                 
1350                                 if (calendarAlarmData[calendarAlarmDataSeek].descriptionTokens.size() > 0){
1351                 
1352                                         dataLine += ";";
1353                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].descriptionTokens;
1354                         
1355                                 }
1356                                 
1357                                 dataLine += ":";
1358                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].descriptionData;
1359                                 dataLine += "\n";
1360                 
1361                                 dataLineProcessed = OutputText(&dataLine);
1362                 
1363                                 *SaveData += dataLineProcessed;
1365                                 dataLine.clear();
1366                                 dataLineProcessed.clear();                              
1367                                 
1368                         }
1369                         
1370                         // Process the SUMMARY VALARM value.
1371                         
1372                         if (calendarAlarmData[calendarAlarmDataSeek].summaryData.size() > 0){
1373                                 
1374                                 dataLine += "SUMMARY";
1376                                 if (calendarAlarmData[calendarAlarmDataSeek].summaryAltRep.size() > 0){
1377                 
1378                                         dataLine += ";ALTREP=\"";
1379                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].summaryAltRep;
1380                                         dataLine += "\"";
1381                         
1382                                 }
1383                                 
1384                                 if (calendarAlarmData[calendarAlarmDataSeek].summaryLanguage.size() > 0){
1385                 
1386                                         dataLine += ";LANGUAGE=";
1387                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].summaryLanguage;
1388                         
1389                                 }
1390                                 
1391                                 if (calendarAlarmData[calendarAlarmDataSeek].summaryTokens.size() > 0){
1392                 
1393                                         dataLine += ";";
1394                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].summaryTokens;
1395                         
1396                                 }
1397                                 
1398                                 dataLine += ":";
1399                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].summaryData;
1400                                 dataLine += "\n";
1401                 
1402                                 dataLineProcessed = OutputText(&dataLine);
1403                 
1404                                 *SaveData += dataLineProcessed;
1406                                 dataLine.clear();
1407                                 dataLineProcessed.clear();                              
1408                                 
1409                         }
1410                         
1411                         // Process the REPEAT VALARM value.
1412                         
1413                         if (calendarAlarmData[calendarAlarmDataSeek].repeatData.size() > 0){
1414                                 
1415                                 dataLine += "REPEAT";
1416                                 
1417                                 if (calendarAlarmData[calendarAlarmDataSeek].repeatTokens.size() > 0){
1418                 
1419                                         dataLine += ";";
1420                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].repeatTokens;
1421                         
1422                                 }
1423                                 
1424                                 dataLine += ":";
1425                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].repeatData;
1426                                 dataLine += "\n";
1427                 
1428                                 dataLineProcessed = OutputText(&dataLine);
1429                 
1430                                 *SaveData += dataLineProcessed;
1432                                 dataLine.clear();
1433                                 dataLineProcessed.clear();                              
1434                                 
1435                         }
1436                         
1437                         // Process the ATTENDEE VALARM values.
1438                         
1439                         if (calendarAlarmData[calendarAlarmDataSeek].attendeeList.size() > 0){
1440                 
1441                                 for (int attendeeListSeek = 0; attendeeListSeek < calendarAlarmData[calendarAlarmDataSeek].attendeeList.size();
1442                                         attendeeListSeek++){
1443         
1444                                         dataLine += "ATTENDEE";
1446                                         if (calendarAlarmData[calendarAlarmDataSeek].attendeeListMember[attendeeListSeek].size() > 0){
1447                 
1448                                                 dataLine += ";MEMBER=\"";
1449                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attendeeListMember[attendeeListSeek];
1450                                                 dataLine += "\"";
1451                         
1452                                         }
1453                         
1454                                         if (calendarAlarmData[calendarAlarmDataSeek].attendeeListDelegatedFrom[attendeeListSeek].size() > 0){
1455                 
1456                                                 dataLine += ";DELEGATED-FROM=\"";
1457                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attendeeListDelegatedFrom[attendeeListSeek];
1458                                                 dataLine += "\"";
1459                         
1460                                         }
1462                                         if (calendarAlarmData[calendarAlarmDataSeek].attendeeListDelegatedTo[attendeeListSeek].size() > 0){
1463                 
1464                                                 dataLine += ";DELEGATED-TO=\"";
1465                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attendeeListDelegatedTo[attendeeListSeek];
1466                                                 dataLine += "\"";
1467                         
1468                                         }
1470                                         if (calendarAlarmData[calendarAlarmDataSeek].attendeeListRole[attendeeListSeek].size() > 0){
1471                 
1472                                                 dataLine += ";ROLE=";
1473                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attendeeListRole[attendeeListSeek];
1474                         
1475                                         }
1476                         
1477                                         if (calendarAlarmData[calendarAlarmDataSeek].attendeeListRSVP[attendeeListSeek].size() > 0){
1478                 
1479                                                 dataLine += ";RSVP=";
1480                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attendeeListRSVP[attendeeListSeek];
1481                         
1482                                         }
1483                         
1484                                         if (calendarAlarmData[calendarAlarmDataSeek].attendeeListDirectoryEntry[attendeeListSeek].size() > 0){
1485                 
1486                                                 dataLine += ";DIR=\"";
1487                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attendeeListDirectoryEntry[attendeeListSeek];
1488                                                 dataLine += "\"";
1489                         
1490                                         }
1491                         
1492                                         if (calendarAlarmData[calendarAlarmDataSeek].attendeeListSentBy[attendeeListSeek].size() > 0){
1493                                 
1494                                                 dataLine += ";SENT-BY=\"";
1495                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attendeeListSentBy[attendeeListSeek];
1496                                                 dataLine += "\"";
1497                                 
1498                                         }
1500                                         if (calendarAlarmData[calendarAlarmDataSeek].attendeeListCommonName[attendeeListSeek].size() > 0){
1501                                 
1502                                                 dataLine += ";CN=\"";
1503                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attendeeListCommonName[attendeeListSeek];
1504                                                 dataLine += "\"";
1505                                 
1506                                         }
1508                                         if (calendarAlarmData[calendarAlarmDataSeek].attendeeListCalendarUserType[attendeeListSeek].size() > 0){
1509                                 
1510                                                 dataLine += ";CUTYPE=";
1511                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attendeeListCalendarUserType[attendeeListSeek];
1512                                 
1513                                         }
1514                         
1515                                         if (calendarAlarmData[calendarAlarmDataSeek].attendeeListParticipationStatus[attendeeListSeek].size() > 0){
1516                                 
1517                                                 dataLine += ";PARTSTAT=";
1518                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attendeeListParticipationStatus[attendeeListSeek];
1519                                 
1520                                         }
1521                         
1522                                         if (calendarAlarmData[calendarAlarmDataSeek].attendeeListLanguage[attendeeListSeek].size() > 0){
1523                                 
1524                                                 dataLine += ";LANGUAGE=";
1525                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attendeeListLanguage[attendeeListSeek];
1526                                 
1527                                         }
1528                         
1529                                         if (calendarAlarmData[calendarAlarmDataSeek].attendeeListTokens[attendeeListSeek].size() > 0){
1530                 
1531                                                 dataLine += ";";
1532                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attendeeListTokens[attendeeListSeek];
1533                         
1534                                         }
1535                                 
1536                                         dataLine += ":";
1537                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].attendeeList[attendeeListSeek];
1538                                         dataLine += "\n";
1539                 
1540                                         dataLineProcessed = OutputText(&dataLine);
1541                 
1542                                         *SaveData += dataLineProcessed;
1544                                         dataLine.clear();
1545                                         dataLineProcessed.clear();
1546                                 
1547                                 }
1548                         
1549                         }
1550                         
1551                         // Process the ATTACH VALARM values.
1552                         
1553                         if (calendarAlarmData[calendarAlarmDataSeek].attachList.size() > 0){
1554                 
1555                                 for (int attachListSeek = 0; attachListSeek < calendarAlarmData[calendarAlarmDataSeek].attachList.size();
1556                                         attachListSeek++){
1557         
1558                                         dataLine += "ATTACH";
1559                                                 
1560                                         if (calendarAlarmData[calendarAlarmDataSeek].attachListFormatType[attachListSeek].size() > 0){
1561                 
1562                                                 dataLine += ";FMTTYPE=";
1563                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attachListFormatType[attachListSeek];
1564                         
1565                                         }
1566                                 
1567                                         if (calendarAlarmData[calendarAlarmDataSeek].attachListValue[attachListSeek].size() > 0){
1568                 
1569                                                 dataLine += ";VALUE=";
1570                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attachListValue[attachListSeek];
1571                         
1572                                         }
1573                                 
1574                                         if (calendarAlarmData[calendarAlarmDataSeek].attachListEncoding[attachListSeek].size() > 0){
1575                 
1576                                                 dataLine += ";ENCODING=";
1577                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attachListEncoding[attachListSeek];
1578                         
1579                                         }
1580                                 
1581                                         if (calendarAlarmData[calendarAlarmDataSeek].attachListTokens[attachListSeek].size() > 0){
1582                 
1583                                                 dataLine += ";";
1584                                                 dataLine += calendarAlarmData[calendarAlarmDataSeek].attachListTokens[attachListSeek];
1585                         
1586                                         }
1587                 
1588                                         dataLine += ":";
1589                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].attachList[attachListSeek];
1590                                         dataLine += "\n";
1591                 
1592                                         dataLineProcessed = OutputText(&dataLine);
1593                 
1594                                         *SaveData += dataLineProcessed;
1596                                         dataLine.clear();
1597                                         dataLineProcessed.clear();
1598                                         
1599                                 }
1600                                 
1601                         }
1602                         
1603                         // Process the X-Token VALARM values.
1604                         
1605                         if (calendarAlarmData[calendarAlarmDataSeek].xTokensData.size() > 0){
1606                                 
1607                                 for (int xTokenSeek = 0; xTokenSeek < calendarAlarmData[calendarAlarmDataSeek].xTokensData.size();
1608                                         xTokenSeek++){
1609         
1610                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].xTokensDataTokens[xTokenSeek];
1611                                         dataLine += ":";
1612                                         dataLine += calendarAlarmData[calendarAlarmDataSeek].xTokensData[xTokenSeek];
1613                                         dataLine += "\n";
1614                 
1615                                         dataLineProcessed = OutputText(&dataLine);
1616                 
1617                                         *SaveData += dataLineProcessed;
1619                                         dataLine.clear();
1620                                         dataLineProcessed.clear();
1621                                         
1622                                 }
1623                                 
1624                         }
1625                         
1626                         *SaveData += "END:VALARM\n";
1627                         
1628                 }
1629                 
1630         }
1631         
1632         // Process the X-Token values.
1633         
1634         if (xTokenData.size() > 0){
1635                                 
1636                 for (int XTokenSeek = 0; XTokenSeek < xTokenData.size();
1637                         XTokenSeek++){
1638         
1639                         dataLine += xTokenDataTokens[XTokenSeek];               
1640                         dataLine += ":";
1641                         dataLine += xTokenData[XTokenSeek];
1642                         dataLine += "\n";
1643                 
1644                         dataLineProcessed = OutputText(&dataLine);
1645         
1646                         *SaveData += dataLineProcessed;
1648                         dataLine.clear();
1649                         dataLineProcessed.clear();
1650                                         
1651                 }
1652                                 
1653         }
1654         
1655         *SaveData += "END:VTODO\n";
1656         
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