X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fobjects%2Fcalendartimezone%2FCalendarTimezone-Save.cpp;h=127ac0037d34572ab964a0ca0813b1ac64b15cb5;hb=ba9c31f949273de8ceff83c2c16ada0e586010b3;hp=2bdadff275596706e6c5d357dad0d8e9b304ad20;hpb=e242b4367fc5b62a2eab2d6c52529bf6fbd9546c;p=xestiacalendar%2F.git diff --git a/source/objects/calendartimezone/CalendarTimezone-Save.cpp b/source/objects/calendartimezone/CalendarTimezone-Save.cpp index 2bdadff..127ac00 100644 --- a/source/objects/calendartimezone/CalendarTimezone-Save.cpp +++ b/source/objects/calendartimezone/CalendarTimezone-Save.cpp @@ -37,6 +37,316 @@ void CalendarTimezoneObject::SaveObjectData(string *SaveData){ } + // Process the LAST-MODIFIED value. + + if (LastModifiedData.size() > 0){ + + if (LastModifiedTokens.size() > 0){ + + DataLine += "LAST-MODIFIED;"; + DataLine += LastModifiedTokens; + + } else { + + DataLine += "LAST-MODIFIED"; + + } + + DataLine += ":"; + DataLine += LastModifiedData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the TZURL value. + + if (TimeZoneURLData.size() > 0){ + + if (TimeZoneURLTokens.size() > 0){ + + DataLine += "TZURL;"; + DataLine += TimeZoneURLTokens; + + } else { + + DataLine += "TZURL"; + + } + + DataLine += ":"; + DataLine += TimeZoneURLData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process Standard timezones. + + if (TimezoneStandardCollection.size() > 0){ + + for (int TimezoneStandardSeek = 0; TimezoneStandardSeek < TimezoneStandardCollection.size(); + TimezoneStandardSeek++){ + + *SaveData += "BEGIN:STANDARD\n"; + + // Process the DTSTART value. + + if (TimezoneStandardCollection[TimezoneStandardSeek].DateTimeStartData.size() > 0){ + + if (TimezoneStandardCollection[TimezoneStandardSeek].DateTimeStartTokens.size() > 0){ + + DataLine += "DTSTART;"; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].DateTimeStartTokens; + + } else { + + DataLine += "DTSTART"; + + } + + DataLine += ":"; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].DateTimeStartData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the TZOFFSETFROM value. + + if (TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneOffsetFromData.size() > 0){ + + if (TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneOffsetFromTokens.size() > 0){ + + DataLine += "TZOFFSETFROM;"; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneOffsetFromTokens; + + } else { + + DataLine += "TZOFFSETFROM"; + + } + + DataLine += ":"; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneOffsetFromData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the TZOFFSETTO value. + + if (TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneOffsetToData.size() > 0){ + + if (TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneOffsetToTokens.size() > 0){ + + DataLine += "TZOFFSETTO;"; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneOffsetToTokens; + + } else { + + DataLine += "TZOFFSETTO"; + + } + + DataLine += ":"; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneOffsetToData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the RRULE value. + + if (TimezoneStandardCollection[TimezoneStandardSeek].RecurranceRuleData.size() > 0){ + + if (TimezoneStandardCollection[TimezoneStandardSeek].RecurranceRuleDataTokens.size() > 0){ + + DataLine += "RRULE;"; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].RecurranceRuleDataTokens; + + } else { + + DataLine += "RRULE"; + + } + + DataLine += ":"; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].RecurranceRuleData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + *SaveData += "END:STANDARD\n"; + + } + + } + + // Process Daylight timezones. + + if (TimezoneDaylightCollection.size() > 0){ + + for (int TimezoneDaylightSeek = 0; TimezoneDaylightSeek < TimezoneDaylightCollection.size(); + TimezoneDaylightSeek++){ + + *SaveData += "BEGIN:DAYLIGHT\n"; + + // Process the DTSTART value. + + if (TimezoneDaylightCollection[TimezoneDaylightSeek].DateTimeStartData.size() > 0){ + + if (TimezoneStandardCollection[TimezoneDaylightSeek].DateTimeStartTokens.size() > 0){ + + DataLine += "DTSTART;"; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].DateTimeStartTokens; + + } else { + + DataLine += "DTSTART"; + + } + + DataLine += ":"; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].DateTimeStartData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the TZOFFSETFROM value. + + if (TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneOffsetFromData.size() > 0){ + + if (TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneOffsetFromTokens.size() > 0){ + + DataLine += "TZOFFSETFROM;"; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneOffsetFromTokens; + + } else { + + DataLine += "TZOFFSETFROM"; + + } + + DataLine += ":"; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneOffsetFromData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the TZOFFSETTO value. + + if (TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneOffsetToData.size() > 0){ + + if (TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneOffsetToTokens.size() > 0){ + + DataLine += "TZOFFSETTO;"; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneOffsetToTokens; + + } else { + + DataLine += "TZOFFSETTO"; + + } + + DataLine += ":"; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneOffsetToData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the RRULE value. + + if (TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceRuleData.size() > 0){ + + if (TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceRuleDataTokens.size() > 0){ + + DataLine += "RRULE;"; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceRuleDataTokens; + + } else { + + DataLine += "RRULE"; + + } + + DataLine += ":"; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceRuleData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + *SaveData += "END:DAYLIGHT\n"; + + } + + } + *SaveData += "END:VTIMEZONE\n"; } \ No newline at end of file