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);