// 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