1 // CalendarTimezone.h - CalendarTimezone class header
3 // (c) 2016-2017 Xestia Software Development.
5 // This file is part of Xestia Calendar.
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.
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.
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 #ifndef __OBJECTS_CALENDARTIMEZONE_CALENDARTIMEZONE_H__
20 #define __OBJECTS_CALENDARTIMEZONE_CALENDARTIMEZONE_H__
22 #include "../calendarobject/CalendarObject.h"
26 struct TimezoneDataStruct{
27 string dateTimeStartData;
28 string dateTimeStartTokens;
29 string timeZoneOffsetToData;
30 string timeZoneOffsetToTokens;
31 string timeZoneOffsetFromData;
32 string timeZoneOffsetFromTokens;
34 string recurranceRuleData;
35 string recurranceRuleDataTokens;
37 vector<string> commentList;
38 vector<string> commentListAltRep;
39 vector<string> commentListLanguage;
40 vector<string> commentListTokens;
42 vector<string> recurranceDateData;
43 vector<string> recurranceDateDataValue;
44 vector<string> recurranceDateDataTimeZoneParam;
45 vector<string> recurranceDateDataTokens;
47 vector<string> timeZoneNameData;
48 vector<string> timeZoneNameLanguage;
49 vector<string> timeZoneNameTokens;
51 vector<string> xTokensData;
52 vector<string> xTokensDataTokens;
55 class CalendarTimezoneObject: public CalendarObject{
57 CalendarObjectValidResult ValidObject();
60 vector<vector<string>> timezoneStandardName;
61 vector<vector<string>> timezoneStandardData;
62 vector<vector<string>> timezoneDaylightName;
63 vector<vector<string>> timezoneDaylightData;
65 vector<TimezoneDataStruct> timezoneStandardCollection;
66 vector<TimezoneDataStruct> timezoneDaylightCollection;
71 void ProcessStandardDaylight();
72 void SaveObjectData(string *saveData);