// 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
#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 CommentList;
vector CommentListAltRep;
vector CommentListLanguage;
vector CommentListTokens;
vector RecurranceDateData;
vector RecurranceDateDataValue;
vector RecurranceDateDataTimeZoneParam;
vector RecurranceDateDataTokens;
vector TimeZoneNameData;
vector TimeZoneNameLanguage;
vector TimeZoneNameTokens;
vector XTokensData;
vector XTokensDataTokens;
};
class CalendarTimezoneObject: public CalendarObject{
CalendarObjectValidResult ValidObject();
public:
vector> TimezoneStandardName;
vector> TimezoneStandardData;
vector> TimezoneDaylightName;
vector> TimezoneDaylightData;
vector TimezoneStandardCollection;
vector TimezoneDaylightCollection;
private:
void ProcessData();
void ProcessStandardDaylight();
void SaveObjectData(string *SaveData);
};
#endif