#include "CalendarTimezone.h" using namespace std; void CalendarTimezoneObject::SaveObjectData(string *SaveData){ string DataLine = ""; string DataLineProcessed = ""; *SaveData += "BEGIN:VTIMEZONE\n"; // Process the TZID. if (TimeZoneData.size() > 0){ if (TimeZoneDataTokens.size() > 0){ DataLine += "TZID;"; DataLine += TimeZoneDataTokens; } else { DataLine += "TZID"; } DataLine += ":"; DataLine += TimeZoneData; DataLine += "\n"; DataLineProcessed = OutputText(&DataLine); *SaveData += DataLineProcessed; DataLine.clear(); DataLineProcessed.clear(); } // 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(); } *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(); } *SaveData += "END:DAYLIGHT\n"; } } *SaveData += "END:VTIMEZONE\n"; }