+// CalendarTimezone.h - CalendarTimezone class header
+//
+// (c) 2016-2017 Xestia Software Development.
+//
+// This file is part of Xestia Calendar.
+//
+// Xestia Calendar is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by the
+// Free Software Foundation, version 3 of the license.
+//
+// Xestia Calendar is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with Xestia Calendar. If not, see <http://www.gnu.org/licenses/>
+
#ifndef __OBJECTS_CALENDARTIMEZONE_CALENDARTIMEZONE_H__
#define __OBJECTS_CALENDARTIMEZONE_CALENDARTIMEZONE_H__
#include "../calendarobject/CalendarObject.h"
+using namespace std;
+
+struct TimezoneDataStruct{
+ string DateTimeStartData;
+ string DateTimeStartTokens;
+ string TimeZoneOffsetToData;
+ string TimeZoneOffsetToTokens;
+ string TimeZoneOffsetFromData;
+ string TimeZoneOffsetFromTokens;
+
+ string RecurranceRuleData;
+ string RecurranceRuleDataTokens;
+
+ vector<string> CommentList;
+ vector<string> CommentListAltRep;
+ vector<string> CommentListLanguage;
+ vector<string> CommentListTokens;
+
+ vector<string> RecurranceDateData;
+ vector<string> RecurranceDateDataValue;
+ vector<string> RecurranceDateDataTimeZoneParam;
+ vector<string> RecurranceDateDataTokens;
+
+ vector<string> TimeZoneNameData;
+ vector<string> TimeZoneNameLanguage;
+ vector<string> TimeZoneNameTokens;
+
+ vector<string> XTokensData;
+ vector<string> XTokensDataTokens;
+};
+
class CalendarTimezoneObject: public CalendarObject{
CalendarObjectValidResult ValidObject();
+ public:
+ vector<vector<string>> TimezoneStandardName;
+ vector<vector<string>> TimezoneStandardData;
+ vector<vector<string>> TimezoneDaylightName;
+ vector<vector<string>> TimezoneDaylightData;
+
+ vector<TimezoneDataStruct> TimezoneStandardCollection;
+ vector<TimezoneDataStruct> TimezoneDaylightCollection;
+
private:
void ProcessData();
+ void ProcessStandardDaylight();
+ void SaveObjectData(string *SaveData);
};