Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added SaveObjectData for 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         // TODO: Replace SaveData with DataLine, DataLineProcessed
13         // and use the new OutputText function.
14         
15         // Process the UID.
16         
17         if (UniqueID.size() > 0){
18                 
19                 if (UniqueIDTokens.size() > 0){
20                 
21                         DataLine += "UID;";
22                         DataLine += UniqueIDTokens;
23                         
24                 } else {
26                         DataLine += "UID";
27                         
28                 }
30                 DataLine += ":";
31                 DataLine += UniqueID;
32                 DataLine += "\n";
33                 
34                 DataLineProcessed = OutputText(&DataLine);
35                 
36                 *SaveData += DataLineProcessed;
37                 
38                 DataLine.clear();
39                 DataLineProcessed.clear();
40                 
41         }
42         
43         // Process the DTSTAMP.
44         
45         if (DateTimeStampData.size() > 0){
46                 
47                 if (DateTimeStampTokens.size() > 0){
48                 
49                         DataLine += "DTSTAMP;";
50                         DataLine += DateTimeStampTokens;
51                         
52                 } else {
54                         DataLine += "DTSTAMP";
55                         
56                 }
58                 DataLine += ":";
59                 DataLine += DateTimeStampData;
60                 DataLine += "\n";
61                 
62                 DataLineProcessed = OutputText(&DataLine);
63                 
64                 *SaveData += DataLineProcessed;
65                 
66                 DataLine.clear();
67                 DataLineProcessed.clear();
68                 
69         }
71         // Process the DTSTART.
72         
73         if (DateTimeStartData.size() > 0){
74                 
75                 DataLine += "DTSTART";
76                 
77                 if (DateTimeStartDataValue.size() > 0){
78                 
79                         DataLine += ";VALUE=";
80                         DataLine += DateTimeStartDataValue;                     
81                         
82                 }
83                 
84                 if (DateTimeStartDataTimeZoneID.size() > 0){
85                 
86                         DataLine += ";TZID=";
87                         DataLine += DateTimeStartDataTimeZoneID;                        
88                         
89                 }
90                 
91                 if (DateTimeStartDataTokens.size() > 0){
92                 
93                         DataLine += ";";
94                         DataLine += DateTimeStartDataTokens;
95                         
96                 }
98                 DataLine += ":";
99                 DataLine += DateTimeStartData;
100                 DataLine += "\n";
101                 
102                 DataLineProcessed = OutputText(&DataLine);
103                 
104                 *SaveData += DataLineProcessed;
105                 
106                 DataLine.clear();
107                 DataLineProcessed.clear();
108                 
109         }
110         
111         // Process the DTEND.
112         
113         if (DateTimeStartData.size() > 0){
114                 
115                 DataLine += "DTEND";
116                 
117                 if (DateTimeStartDataValue.size() > 0){
118                 
119                         DataLine += ";VALUE=";
120                         DataLine += DateTimeStartDataValue;                     
121                         
122                 }
123                 
124                 if (DateTimeStartDataTimeZoneID.size() > 0){
125                 
126                         DataLine += ";TZID=";
127                         DataLine += DateTimeStartDataTimeZoneID;                        
128                         
129                 }
130                 
131                 if (DateTimeStartDataTokens.size() > 0){
132                 
133                         DataLine += ";";
134                         DataLine += DateTimeStartDataTokens;
135                         
136                 }
138                 DataLine += ":";
139                 DataLine += DateTimeStartData;
140                 DataLine += "\n";
141                 
142                 DataLineProcessed = OutputText(&DataLine);
143                 
144                 *SaveData += DataLineProcessed;
145                 
146                 DataLine.clear();
147                 DataLineProcessed.clear();
148                 
149         }
150         
151         // Process the SUMMARY.
152         
153         if (SummaryData.size() > 0){
154                 
155                 DataLine += "SUMMARY";
156                 
157                 if (SummaryDataAltRep.size() > 0){
158                 
159                         DataLine += ";ALTREP=";
160                         DataLine += SummaryDataAltRep;
161                         
162                 }
163                 
164                 if (SummaryDataLanguage.size() > 0){
165                 
166                         DataLine += ";TZID=";
167                         DataLine += SummaryDataLanguage;                        
168                         
169                 }
170                 
171                 if (SummaryDataTokens.size() > 0){
172                 
173                         DataLine += ";";
174                         DataLine += SummaryDataTokens;
175                         
176                 }
177                 
178                 DataLine += ":";
179                 DataLine += SummaryData;
180                 DataLine += "\n";
181                 
182                 DataLineProcessed = OutputText(&DataLine);
183                 
184                 *SaveData += DataLineProcessed;
186                 DataLine.clear();
187                 DataLineProcessed.clear();
188                 
189         }
190         
191         *SaveData += "END:VEVENT\n";
192         
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