KHolidays 5.109.0
holidayregion.h
1/*
2 This file is part of the kholidays library.
3
4 SPDX-FileCopyrightText: 2001 Cornelius Schumacher <schumacher@kde.org>
5 SPDX-FileCopyrightText: 2004 Allen Winter <winter@kde.org>
6 SPDX-FileCopyrightText: 2008 David Jarvie <djarvie@kde.org>
7 SPDX-FileCopyrightText: 2010 John Layt <john@layt.net>
8
9 SPDX-License-Identifier: LGPL-2.0-or-later
10*/
11
12#ifndef KHOLIDAYS_HOLIDAYREGION_H
13#define KHOLIDAYS_HOLIDAYREGION_H
14
15#include "kholidays_export.h"
16
17#include <QSharedDataPointer>
18#include <QString>
19#include <QStringList>
20
21#include "holiday.h"
22
23class QDate;
24class QFileInfo;
25
26namespace KHolidays
27{
28class HolidayRegionPrivate;
29
31class KHOLIDAYS_EXPORT HolidayRegion
32{
33public:
40 explicit HolidayRegion(const QString &regionCode = QString());
41
48 explicit HolidayRegion(const QFileInfo &regionFile);
49
58
63
72
84 static QStringList regionCodes();
85
100 static QString defaultRegionCode(const QString &country = QString(), const QString &language = QString());
101
112 QString regionCode() const;
113
126 QString countryCode() const;
127
143 static QString countryCode(const QString &regionCode);
144
155 QString languageCode() const;
156
170 static QString languageCode(const QString &regionCode);
171
180 QString name() const;
181
190 static QString name(const QString &regionCode);
191
199 QString description() const;
200
208 static QString description(const QString &regionCode);
209
210#if KHOLIDAYS_ENABLE_DEPRECATED_SINCE(5, 95)
218 KHOLIDAYS_DEPRECATED_VERSION(5, 95, "use rawHolidaysWithAstroSeasons() instead")
219 Holiday::List holidays(const QDate &startDate, const QDate &endDate) const;
220#endif
221
228 Holiday::List rawHolidaysWithAstroSeasons(const QDate &startDate, const QDate &endDate) const;
229
235 Holiday::List rawHolidays(const QDate &startDate, const QDate &endDate) const;
236
237#if KHOLIDAYS_ENABLE_DEPRECATED_SINCE(5, 95)
245 KHOLIDAYS_DEPRECATED_VERSION(5, 95, "use rawHolidaysWithAstroSeasons() instead")
246 Holiday::List holidays(const QDate &date) const;
247#endif
248
255
256#if KHOLIDAYS_ENABLE_DEPRECATED_SINCE(5, 95)
264 KHOLIDAYS_DEPRECATED_VERSION(5, 95, "use rawHolidaysWithAstroSeasons() instead")
265 Holiday::List holidays(int calendarYear) const;
266#endif
267
274
280 Holiday::List rawHolidays(const QDate &startDate, const QDate &endDate, const QString &category) const;
281
285 bool isHoliday(const QDate &date) const;
286
290 bool isValid() const;
291
297 static bool isValid(const QString &regionCode);
298
299private:
300 QExplicitlySharedDataPointer<HolidayRegionPrivate> d;
301};
302
303}
304
305#endif // KHOLIDAYS_HOLIDAYREGION_H
Represents a holiday region.
Definition holidayregion.h:32
QString name() const
static QString countryCode(const QString &regionCode)
bool isValid() const
Returns whether the instance contains any holiday data.
static QString languageCode(const QString &regionCode)
bool isHoliday(const QDate &date) const
Checks whether there is any holiday defined for a date.
static QString description(const QString &regionCode)
Holiday::List rawHolidays(const QDate &startDate, const QDate &endDate) const
HolidayRegion(HolidayRegion &&)
Move constructor.
Holiday::List rawHolidays(const QDate &startDate, const QDate &endDate, const QString &category) const
HolidayRegion(const QString &regionCode=QString())
Creates a new Holiday Region object for a given standard Region Code.
static QStringList regionCodes()
~HolidayRegion()
Destroys the holidays object.
QString regionCode() const
HolidayRegion(const HolidayRegion &)
Copy constructor.
HolidayRegion & operator=(const HolidayRegion &)
Assignment operator.
QString description() const
QString countryCode() const
QString languageCode() const
static QString name(const QString &regionCode)
Holiday::List rawHolidaysWithAstroSeasons(const QDate &startDate, const QDate &endDate) const
Holiday::List rawHolidaysWithAstroSeasons(const QDate &date) const
Holiday::List rawHolidaysWithAstroSeasons(int calendarYear) const
HolidayRegion(const QFileInfo &regionFile)
Creates a new Holiday Region object from a given holiday file.
static bool isValid(const QString &regionCode)
static QString defaultRegionCode(const QString &country=QString(), const QString &language=QString())
HolidayRegion & operator=(HolidayRegion &&)
Move Assignment operator.
Represents a holiday event.
Definition holiday.h:30
QList< Holiday > List
A list of holiday descriptions.
Definition holiday.h:40