Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added REQUEST-STATUS property for saving data from a CalendarEventObject.
[xestiacalendar/.git] / source / objects / calendarevent / CalendarEvent-Save.cpp
1 #include "CalendarEvent.h"
3 using namespace std;
5 void CalendarEventObject::SaveObjectData(string *SaveData){
7         string DataLine = "";
8         string DataLineProcessed = "";
9         
10         *SaveData += "BEGIN:VEVENT\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         }
68         // Process the DTSTART.
69         
70         if (DateTimeStartData.size() > 0){
71                 
72                 DataLine += "DTSTART";
73                 
74                 if (DateTimeStartDataValue.size() > 0){
75                 
76                         DataLine += ";VALUE=";
77                         DataLine += DateTimeStartDataValue;                     
78                         
79                 }
80                 
81                 if (DateTimeStartDataTimeZoneID.size() > 0){
82                 
83                         DataLine += ";TZID=";
84                         DataLine += DateTimeStartDataTimeZoneID;                        
85                         
86                 }
87                 
88                 if (DateTimeStartDataTokens.size() > 0){
89                 
90                         DataLine += ";";
91                         DataLine += DateTimeStartDataTokens;
92                         
93                 }
95                 DataLine += ":";
96                 DataLine += DateTimeStartData;
97                 DataLine += "\n";
98                 
99                 DataLineProcessed = OutputText(&DataLine);
100                 
101                 *SaveData += DataLineProcessed;
102                 
103                 DataLine.clear();
104                 DataLineProcessed.clear();
105                 
106         }
107         
108         // Process the DTEND.
109         
110         if (DateTimeEndData.size() > 0){
111                 
112                 DataLine += "DTEND";
113                 
114                 if (DateTimeEndDataValue.size() > 0){
115                 
116                         DataLine += ";VALUE=";
117                         DataLine += DateTimeEndDataValue;                       
118                         
119                 }
120                 
121                 if (DateTimeEndDataTimeZoneID.size() > 0){
122                 
123                         DataLine += ";TZID=";
124                         DataLine += DateTimeEndDataTimeZoneID;                  
125                         
126                 }
127                 
128                 if (DateTimeEndDataTokens.size() > 0){
129                 
130                         DataLine += ";";
131                         DataLine += DateTimeEndDataTokens;
132                         
133                 }
135                 DataLine += ":";
136                 DataLine += DateTimeEndData;
137                 DataLine += "\n";
138                 
139                 DataLineProcessed = OutputText(&DataLine);
140                 
141                 *SaveData += DataLineProcessed;
142                 
143                 DataLine.clear();
144                 DataLineProcessed.clear();
145                 
146         }
147         
148         // Process the SUMMARY.
149         
150         if (SummaryData.size() > 0){
151                 
152                 DataLine += "SUMMARY";
153                 
154                 if (SummaryDataAltRep.size() > 0){
155                 
156                         DataLine += ";ALTREP=\"";
157                         DataLine += SummaryDataAltRep;
158                         DataLine += "\"";
159                         
160                 }
161                 
162                 if (SummaryDataLanguage.size() > 0){
163                 
164                         DataLine += ";LANGUAGE=";
165                         DataLine += SummaryDataLanguage;                        
166                         
167                 }
168                 
169                 if (SummaryDataTokens.size() > 0){
170                 
171                         DataLine += ";";
172                         DataLine += SummaryDataTokens;
173                         
174                 }
175                 
176                 DataLine += ":";
177                 DataLine += SummaryData;
178                 DataLine += "\n";
179                 
180                 DataLineProcessed = OutputText(&DataLine);
181                 
182                 *SaveData += DataLineProcessed;
184                 DataLine.clear();
185                 DataLineProcessed.clear();
186                 
187         }
189         // Process the CLASS value.
190         
191         if (ClassData.size() > 0){
192                 
193                 if (ClassDataTokens.size() > 0){
194                 
195                         DataLine += "CLASS;";
196                         DataLine += ClassDataTokens;
197                         
198                 } else {
200                         DataLine += "CLASS";
201                         
202                 }
204                 DataLine += ":";
205                 DataLine += ClassData;
206                 DataLine += "\n";
207                 
208                 DataLineProcessed = OutputText(&DataLine);
209                 
210                 *SaveData += DataLineProcessed;
211                 
212                 DataLine.clear();
213                 DataLineProcessed.clear();
214                 
215         }
216         
217         // Process the CREATED value.
218         
219         if (DateTimeCreatedData.size() > 0){
220                 
221                 if (DateTimeCreatedTokens.size() > 0){
222                 
223                         DataLine += "CREATED;";
224                         DataLine += DateTimeCreatedTokens;
225                         
226                 } else {
228                         DataLine += "CREATED";
229                         
230                 }
232                 DataLine += ":";
233                 DataLine += DateTimeCreatedData;
234                 DataLine += "\n";
235                 
236                 DataLineProcessed = OutputText(&DataLine);
237                 
238                 *SaveData += DataLineProcessed;
239                 
240                 DataLine.clear();
241                 DataLineProcessed.clear();
242                 
243         }
244         
245         // Process the DESCRIPTION values. Write out the
246         // first DESCRPITION only as per RFC5545 specifcation.
247         
248         if (DescriptionList.size() > 0){
249                 
250                 DataLine += "DESCRIPTION";
251                 
252                 if (DescriptionListAltRep[0].size() > 0){
253                 
254                         DataLine += ";ALTREP=\"";
255                         DataLine += DescriptionListAltRep[0];
256                         DataLine += "\"";
257                         
258                 }
259                 
260                 if (DescriptionListLanguage[0].size() > 0){
261                 
262                         DataLine += ";LANGUAGE=";
263                         DataLine += DescriptionListLanguage[0];
264                         
265                 }
266                 
267                 if (DescriptionListTokens[0].size() > 0){
268                 
269                         DataLine += ";";
270                         DataLine += DescriptionListTokens[0];
271                         
272                 }
274                 DataLine += ":";
275                 DataLine += DescriptionList[0];
276                 DataLine += "\n";
277                 
278                 DataLineProcessed = OutputText(&DataLine);
279                 
280                 *SaveData += DataLineProcessed;
281                 
282                 DataLine.clear();
283                 DataLineProcessed.clear();
284                 
285         }
286         
287         // Process the GEO value.
288         
289         if (GeographicData.size() > 0){
290                 
291                 if (GeographicTokens.size() > 0){
292                 
293                         DataLine += "GEO;";
294                         DataLine += GeographicTokens;
295                         
296                 } else {
298                         DataLine += "GEO";
299                         
300                 }
302                 DataLine += ":";
303                 DataLine += GeographicData;
304                 DataLine += "\n";
305                 
306                 DataLineProcessed = OutputText(&DataLine);
307                 
308                 *SaveData += DataLineProcessed;
309                 
310                 DataLine.clear();
311                 DataLineProcessed.clear();
312                 
313         }
314         
315         // Process the LAST-MODIFIED value.
316         
317         if (LastModifiedData.size() > 0){
318                 
319                 if (LastModifiedTokens.size() > 0){
320                 
321                         DataLine += "LAST-MODIFIED;";
322                         DataLine += LastModifiedTokens;
323                         
324                 } else {
326                         DataLine += "LAST-MODIFIED";
327                         
328                 }
330                 DataLine += ":";
331                 DataLine += LastModifiedData;
332                 DataLine += "\n";
333                 
334                 DataLineProcessed = OutputText(&DataLine);
335                 
336                 *SaveData += DataLineProcessed;
337                 
338                 DataLine.clear();
339                 DataLineProcessed.clear();
340                 
341         }
342         
343         // Process the LOCATION value.
345         if (LocationData.size() > 0){
346                 
347                 DataLine += "LOCATION";
348                 
349                 if (LocationDataAltRep.size() > 0){
350                 
351                         DataLine += ";ALTREP=\"";
352                         DataLine += LocationDataAltRep;
353                         DataLine += "\"";
354                         
355                 }
356                 
357                 if (LocationDataLanguage.size() > 0){
358                 
359                         DataLine += ";LANGUAGE=";
360                         DataLine += LocationDataLanguage;                       
361                         
362                 }
363                 
364                 if (LocationDataTokens.size() > 0){
365                 
366                         DataLine += ";";
367                         DataLine += LocationDataTokens;
368                         
369                 }
370                 
371                 DataLine += ":";
372                 DataLine += LocationData;
373                 DataLine += "\n";
374                 
375                 DataLineProcessed = OutputText(&DataLine);
376                 
377                 *SaveData += DataLineProcessed;
379                 DataLine.clear();
380                 DataLineProcessed.clear();
381                 
382         }
383         
384         // Process the ORGANIZER value.
385         
386         if (OrganiserData.size() > 0){
387                 
388                 DataLine += "ORGANIZER";
389                 
390                 if (OrganiserDataCommonName.size() > 0){
391                 
392                         DataLine += ";CN=";
393                         DataLine += OrganiserDataCommonName;
394                         
395                 }
397                 if (OrganiserDataDirectoryEntry.size() > 0){
398                 
399                         DataLine += ";DIR=\"";
400                         DataLine += OrganiserDataDirectoryEntry;
401                         DataLine += "\"";
402                         
403                 }
404                 
405                 if (OrganiserDataSentByParam.size() > 0){
406                 
407                         DataLine += ";SENT-BY=\"";
408                         DataLine += OrganiserDataSentByParam;                   
409                         DataLine += "\"";
410                         
411                 }
412                 
413                 if (OrganiserDataLanguage.size() > 0){
414                 
415                         DataLine += ";LANGUAGE=";
416                         DataLine += OrganiserDataLanguage;                      
417                         
418                 }
419                 
420                 if (OrganiserDataTokens.size() > 0){
421                 
422                         DataLine += ";";
423                         DataLine += OrganiserDataTokens;
424                         
425                 }
426                 
427                 DataLine += ":";
428                 DataLine += OrganiserData;
429                 DataLine += "\n";
430                 
431                 DataLineProcessed = OutputText(&DataLine);
432                 
433                 *SaveData += DataLineProcessed;
435                 DataLine.clear();
436                 DataLineProcessed.clear();
437                 
438         }
439         
440         // Process the PRIORITY value.
441         
442         if (PriorityData > -1 && PriorityData < 10){
443                 
444                 DataLine += "PRIORITY";
445                 
446                 if (PriorityTokens.size() > 0){
447                 
448                         DataLine += ";";
449                         DataLine += PriorityTokens;
450                         
451                 }
452                 
453                 DataLine += ":";
454                 DataLine += to_string(PriorityData);
455                 DataLine += "\n";
456                 
457                 DataLineProcessed = OutputText(&DataLine);
458                 
459                 *SaveData += DataLineProcessed;
461                 DataLine.clear();
462                 DataLineProcessed.clear();
463                 
464         }
465         
466         // Process the SEQUENCE value.
467         
468         if (SequenceData > -1 && SequenceData < 10){
469                 
470                 DataLine += "SEQUENCE";
471                 
472                 if (SequenceTokens.size() > 0){
473                 
474                         DataLine += ";";
475                         DataLine += SequenceTokens;
476                         
477                 }
478                 
479                 DataLine += ":";
480                 DataLine += to_string(SequenceData);
481                 DataLine += "\n";
482                 
483                 DataLineProcessed = OutputText(&DataLine);
484                 
485                 *SaveData += DataLineProcessed;
487                 DataLine.clear();
488                 DataLineProcessed.clear();
489                 
490         }
491         
492         // Process the STATUS value.
493         
494         if (StatusData.size() > 0){
495                 
496                 DataLine += "STATUS";
497                 
498                 if (StatusLanguage.size() > 0){
499                 
500                         DataLine += ";LANGUAGE=";
501                         DataLine += StatusLanguage;                     
502                         
503                 }
504                 
505                 if (StatusTokens.size() > 0){
506                 
507                         DataLine += ";";
508                         DataLine += StatusTokens;
509                         
510                 }
511                 
512                 DataLine += ":";
513                 DataLine += StatusData;
514                 DataLine += "\n";
515                 
516                 DataLineProcessed = OutputText(&DataLine);
517                 
518                 *SaveData += DataLineProcessed;
520                 DataLine.clear();
521                 DataLineProcessed.clear();
522                 
523         }
524         
525         // Process the TRANSP value.
526         
527         if (TimeTransparencyData.size() > 0){
528                 
529                 DataLine += "TRANSP";
531                 if (TimeTransparencyDataTokens.size() > 0){
532                 
533                         DataLine += ";";
534                         DataLine += TimeTransparencyDataTokens;
535                         
536                 }
537                 
538                 DataLine += ":";
539                 DataLine += TimeTransparencyData;
540                 DataLine += "\n";
541                 
542                 DataLineProcessed = OutputText(&DataLine);
543                 
544                 *SaveData += DataLineProcessed;
546                 DataLine.clear();
547                 DataLineProcessed.clear();
548                 
549         }
550         
551         // Process the URL value.
552         
553         if (URLData.size() > 0){
554                 
555                 DataLine += "URL";
557                 if (URLDataTokens.size() > 0){
558                 
559                         DataLine += ";";
560                         DataLine += URLDataTokens;
561                         
562                 }
563                 
564                 DataLine += ":";
565                 DataLine += URLData;
566                 DataLine += "\n";
567                 
568                 DataLineProcessed = OutputText(&DataLine);
569                 
570                 *SaveData += DataLineProcessed;
572                 DataLine.clear();
573                 DataLineProcessed.clear();
574                 
575         }
576         
577         // Process the RECURRENCE-ID value.
578         
579         if (RecurranceIDData.size() > 0){
580                 
581                 DataLine += "RECURRENCE-ID";
583                 if (RecurranceIDDataTimeZoneParam.size() > 0){
584                 
585                         DataLine += ";TZID=";
586                         DataLine += RecurranceIDDataTimeZoneParam;                      
587                         
588                 }
589                 
590                 if (RecurranceIDDataRangeParam.size() > 0){
591                 
592                         DataLine += ";RANGE=";
593                         DataLine += RecurranceIDDataRangeParam;                 
594                         
595                 }
596                 
597                 if (RecurranceIDDataValue.size() > 0){
598                 
599                         DataLine += ";VALUE=";
600                         DataLine += RecurranceIDDataValue;                      
601                         
602                 }
603                 
604                 if (RecurranceIDDataTokens.size() > 0){
605                 
606                         DataLine += ";";
607                         DataLine += RecurranceIDDataTokens;
608                         
609                 }
610                 
611                 DataLine += ":";
612                 DataLine += RecurranceIDData;
613                 DataLine += "\n";
614                 
615                 DataLineProcessed = OutputText(&DataLine);
616                 
617                 *SaveData += DataLineProcessed;
619                 DataLine.clear();
620                 DataLineProcessed.clear();
621                 
622         }
623         
624         // Process the RRULE value.
625         
626         if (RecurranceRuleData.size() > 0){
627                 
628                 DataLine += "RRULE";
630                 if (RecurranceRuleDataTokens.size() > 0){
631                 
632                         DataLine += ";";
633                         DataLine += RecurranceRuleDataTokens;
634                         
635                 }
636                 
637                 DataLine += ":";
638                 DataLine += RecurranceRuleData;
639                 DataLine += "\n";
640                 
641                 DataLineProcessed = OutputText(&DataLine);
642                 
643                 *SaveData += DataLineProcessed;
645                 DataLine.clear();
646                 DataLineProcessed.clear();
647                 
648         }
649         
650         // Process the ATTACH values.
651         
652         if (AttachList.size() > 0){
653                 
654                 for (int AttachListSeek = 0; AttachListSeek < AttachList.size();
655                         AttachListSeek++){
656                         
657                         DataLine += "ATTACH";
659                         if (AttachListFormatType[AttachListSeek].size() > 0){
660                 
661                                 DataLine += ";FMTTYPE=";
662                                 DataLine += AttachListFormatType[AttachListSeek];
663                         
664                         }
665                                 
666                         if (AttachListValue[AttachListSeek].size() > 0){
667                 
668                                 DataLine += ";VALUE=";
669                                 DataLine += AttachListValue[AttachListSeek];
670                         
671                         }
672                                 
673                         if (AttachListEncoding[AttachListSeek].size() > 0){
674                 
675                                 DataLine += ";ENCODING=";
676                                 DataLine += AttachListEncoding[AttachListSeek];
677                         
678                         }
679                                 
680                         if (AttachListTokens[AttachListSeek].size() > 0){
681                 
682                                 DataLine += ";";
683                                 DataLine += AttachListTokens[AttachListSeek];
684                         
685                         }
686                 
687                         DataLine += ":";
688                         DataLine += AttachList[AttachListSeek];
689                         DataLine += "\n";
690                 
691                         DataLineProcessed = OutputText(&DataLine);
692                 
693                         *SaveData += DataLineProcessed;
695                         DataLine.clear();
696                         DataLineProcessed.clear();
697                                 
698                 }
699                 
700         }
701         
702         // Process the ATTENDEE value.
703         
704         if (AttendeeList.size() > 0){
705                 
706                 for (int AttendeeListSeek = 0; AttendeeListSeek < AttendeeList.size();
707                         AttendeeListSeek++){
708         
709                         DataLine += "ATTENDEE";
711                         if (AttendeeListMember[AttendeeListSeek].size() > 0){
712                 
713                                 DataLine += ";MEMBER=\"";
714                                 DataLine += AttendeeListMember[AttendeeListSeek];
715                                 DataLine += "\"";
716                         
717                         }
718                                 
719                         if (AttendeeListDelegatedFrom[AttendeeListSeek].size() > 0){
720                 
721                                 DataLine += ";DELEGATED-FROM=\"";
722                                 DataLine += AttendeeListDelegatedFrom[AttendeeListSeek];
723                                 DataLine += "\"";
724                         
725                         }
727                         if (AttendeeListDelegatedTo[AttendeeListSeek].size() > 0){
728                 
729                                 DataLine += ";DELEGATED-TO=\"";
730                                 DataLine += AttendeeListDelegatedTo[AttendeeListSeek];
731                                 DataLine += "\"";
732                         
733                         }
735                         if (AttendeeListRole[AttendeeListSeek].size() > 0){
736                 
737                                 DataLine += ";ROLE=";
738                                 DataLine += AttendeeListRole[AttendeeListSeek];
739                         
740                         }
741                         
742                         if (AttendeeListRSVP[AttendeeListSeek].size() > 0){
743                 
744                                 DataLine += ";RSVP=";
745                                 DataLine += AttendeeListRSVP[AttendeeListSeek];
746                         
747                         }
748                         
749                         if (AttendeeListDirectoryEntry[AttendeeListSeek].size() > 0){
750                 
751                                 DataLine += ";DIR=\"";
752                                 DataLine += AttendeeListDirectoryEntry[AttendeeListSeek];
753                                 DataLine += "\"";
754                         
755                         }
756                         
757                         if (AttendeeListSentBy[AttendeeListSeek].size() > 0){
758                                 
759                                 DataLine += ";SENT-BY=\"";
760                                 DataLine += AttendeeListSentBy[AttendeeListSeek];
761                                 DataLine += "\"";
762                                 
763                         }
765                         if (AttendeeListCommonName[AttendeeListSeek].size() > 0){
766                                 
767                                 DataLine += ";CN=\"";
768                                 DataLine += AttendeeListCommonName[AttendeeListSeek];
769                                 DataLine += "\"";
770                                 
771                         }
773                         if (AttendeeListCalendarUserType[AttendeeListSeek].size() > 0){
774                                 
775                                 DataLine += ";CUTYPE=";
776                                 DataLine += AttendeeListCalendarUserType[AttendeeListSeek];
777                                 
778                         }
779                         
780                         if (AttendeeListParticipationStatus[AttendeeListSeek].size() > 0){
781                                 
782                                 DataLine += ";PARTSTAT=";
783                                 DataLine += AttendeeListParticipationStatus[AttendeeListSeek];
784                                 
785                         }
786                         
787                         if (AttendeeListLanguage[AttendeeListSeek].size() > 0){
788                                 
789                                 DataLine += ";LANGUAGE=";
790                                 DataLine += AttendeeListLanguage[AttendeeListSeek];
791                                 
792                         }
793                         
794                         if (AttendeeListTokens[AttendeeListSeek].size() > 0){
795                 
796                                 DataLine += ";";
797                                 DataLine += AttendeeListTokens[AttendeeListSeek];
798                         
799                         }
800                                 
801                         DataLine += ":";
802                         DataLine += AttendeeList[AttendeeListSeek];
803                         DataLine += "\n";
804                 
805                         DataLineProcessed = OutputText(&DataLine);
806                 
807                         *SaveData += DataLineProcessed;
809                         DataLine.clear();
810                         DataLineProcessed.clear();
811                                 
812                 }
813                         
814         }
815         
816         // Process the CATEGORIES value.
817         
818         if (CategoriesList.size() > 0){
819                 
820                 for (int CategoriesListSeek = 0; CategoriesListSeek < CategoriesList.size();
821                         CategoriesListSeek++){
822         
823                         DataLine += "CATEGORIES";
824                                 
825                         if (CategoriesListLanguage[CategoriesListSeek].size() > 0){
826                 
827                                 DataLine += ";LANGUAGE=";
828                                 DataLine += CategoriesListLanguage[CategoriesListSeek];
829                         
830                         }                       
831                         
832                         if (CategoriesListTokens[CategoriesListSeek].size() > 0){
833                 
834                                 DataLine += ";";
835                                 DataLine += CategoriesListTokens[CategoriesListSeek];
836                         
837                         }
838                                 
839                         DataLine += ":";
840                         DataLine += CategoriesList[CategoriesListSeek];
841                         DataLine += "\n";
842                 
843                         DataLineProcessed = OutputText(&DataLine);
844                 
845                         *SaveData += DataLineProcessed;
847                         DataLine.clear();
848                         DataLineProcessed.clear();
849                                 
850                 }
851                 
852         }
853         
854         // Process the COMMENT value.
855         
856         if (CommentList.size() > 0){
857                 
858                 for (int CommentListSeek = 0; CommentListSeek < CommentList.size();
859                         CommentListSeek++){
860         
861                         DataLine += "COMMENT";
862                         
863                         if (CommentListAltRep[CommentListSeek].size() > 0){
864                 
865                                 DataLine += ";ALTREP=\"";
866                                 DataLine += CommentListAltRep[CommentListSeek];
867                                 DataLine += "\"";
868                         
869                         }
870                                 
871                         if (CommentListLanguage[CommentListSeek].size() > 0){
872                 
873                                 DataLine += ";LANGUAGE=";
874                                 DataLine += CommentListLanguage[CommentListSeek];
875                         
876                         }
877                         
878                         if (CommentListTokens[CommentListSeek].size() > 0){
879                 
880                                 DataLine += ";";
881                                 DataLine += CommentListTokens[CommentListSeek];
882                         
883                         }
884                                 
885                         DataLine += ":";
886                         DataLine += CommentList[CommentListSeek];
887                         DataLine += "\n";
888                 
889                         DataLineProcessed = OutputText(&DataLine);
890                 
891                         *SaveData += DataLineProcessed;
893                         DataLine.clear();
894                         DataLineProcessed.clear();
895                                 
896                 }
897                 
898         }
899         
900         // Process the CONTACT value.
901         
902         if (ContactList.size() > 0){
903                 
904                 for (int ContactListSeek = 0; ContactListSeek < ContactList.size();
905                         ContactListSeek++){
906         
907                         DataLine += "CONTACT";
908                         
909                         if (ContactListAltRep[ContactListSeek].size() > 0){
910                 
911                                 DataLine += ";ALTREP=\"";
912                                 DataLine += ContactListAltRep[ContactListSeek];
913                                 DataLine += "\"";
914                         
915                         }
916                                 
917                         if (ContactListLanguage[ContactListSeek].size() > 0){
918                 
919                                 DataLine += ";LANGUAGE=";
920                                 DataLine += ContactListLanguage[ContactListSeek];
921                         
922                         }
923                         
924                         if (ContactListTokens[ContactListSeek].size() > 0){
925                 
926                                 DataLine += ";";
927                                 DataLine += ContactListTokens[ContactListSeek];
928                         
929                         }
930                                 
931                         DataLine += ":";
932                         DataLine += ContactList[ContactListSeek];
933                         DataLine += "\n";
934                 
935                         DataLineProcessed = OutputText(&DataLine);
936                 
937                         *SaveData += DataLineProcessed;
939                         DataLine.clear();
940                         DataLineProcessed.clear();
941                                 
942                 }
943                 
944         }
945         
946         // Process the EXDATE value.
947         
948         if (ExcludeDateData.size() > 0){
949                 
950                 for (int ExcludeDateDataSeek = 0; ExcludeDateDataSeek < ExcludeDateData.size();
951                         ExcludeDateDataSeek++){
952         
953                         DataLine += "EXDATE";
954                                 
955                         if (ExcludeDateDataTimeZoneParam[ExcludeDateDataSeek].size() > 0){
956                 
957                                 DataLine += ";TZID=";
958                                 DataLine += ExcludeDateDataTimeZoneParam[ExcludeDateDataSeek];
959                         
960                         }
961                         
962                         if (ExcludeDateDataValue[ExcludeDateDataSeek].size() > 0){
963                 
964                                 DataLine += ";VALUE=";
965                                 DataLine += ExcludeDateDataValue[ExcludeDateDataSeek];
966                         
967                         }
968                         
969                         if (ExcludeDateDataTokens[ExcludeDateDataSeek].size() > 0){
970                 
971                                 DataLine += ";";
972                                 DataLine += ExcludeDateDataTokens[ExcludeDateDataSeek];
973                         
974                         }
975                                 
976                         DataLine += ":";
977                         DataLine += ExcludeDateData[ExcludeDateDataSeek];
978                         DataLine += "\n";
979                 
980                         DataLineProcessed = OutputText(&DataLine);
981                 
982                         *SaveData += DataLineProcessed;
984                         DataLine.clear();
985                         DataLineProcessed.clear();
986                                 
987                 }
988                 
989         }
990         
991         // Process the REQUEST-STATUS value.
992         
993         if (RequestStatusData.size() > 0){
994                 
995                 for (int RequestStatusDataSeek = 0; RequestStatusDataSeek < RequestStatusData.size();
996                         RequestStatusDataSeek++){
997         
998                         DataLine += "REQUEST-STATUS";
999                         
1000                         if (RequestStatusLanguage[RequestStatusDataSeek].size() > 0){
1001                 
1002                                 DataLine += ";LANGUAGE=";
1003                                 DataLine += RequestStatusLanguage[RequestStatusDataSeek];
1004                         
1005                         }
1006                         
1007                         if (RequestStatusTokens[RequestStatusDataSeek].size() > 0){
1008                 
1009                                 DataLine += ";";
1010                                 DataLine += RequestStatusTokens[RequestStatusDataSeek];
1011                         
1012                         }
1013                                 
1014                         DataLine += ":";
1015                         DataLine += RequestStatusData[RequestStatusDataSeek];
1016                         DataLine += "\n";
1017                 
1018                         DataLineProcessed = OutputText(&DataLine);
1019                 
1020                         *SaveData += DataLineProcessed;
1022                         DataLine.clear();
1023                         DataLineProcessed.clear();
1024                                 
1025                 }
1026                 
1027         }
1028         
1029         *SaveData += "END:VEVENT\n";
1030         
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