+// 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);
};