00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef KHOLIDAYS_HOLIDAYREGION_H
00026 #define KHOLIDAYS_HOLIDAYREGION_H
00027
00028 #include "kholidays_export.h"
00029
00030 #include <QtCore/QList>
00031 #include <QtCore/QSharedDataPointer>
00032 #include <QtCore/QString>
00033
00034 #include "holiday.h"
00035
00036 class QDate;
00037 class QStringList;
00038 class QFileInfo;
00039
00040 namespace KHolidays {
00041
00042 class KHOLIDAYS_EXPORT HolidayRegion
00043 {
00044 public:
00055 explicit HolidayRegion( const QString ®ionCode = QString() );
00056
00063 explicit HolidayRegion( const QFileInfo ®ionFile );
00064
00068 ~HolidayRegion();
00069
00080 static QStringList locations();
00081
00095 QString location() const;
00096
00108 static QStringList regionCodes();
00109
00120 QString regionCode() const;
00121
00134 QString countryCode() const;
00135
00149 static QString countryCode( const QString ®ionCode );
00150
00161 QString languageCode() const;
00162
00174 static QString languageCode( const QString ®ionCode );
00175
00184 QString name() const;
00185
00194 static QString name( const QString ®ionCode );
00195
00203 QString description() const;
00204
00212 static QString description( const QString ®ionCode );
00213
00219 Holiday::List holidays( const QDate &startDate, const QDate &endDate ) const;
00220
00224 Holiday::List holidays( const QDate &date ) const;
00225
00231 Holiday::List holidays( int calendarYear, const QString &calendarType ) const;
00232
00236 bool isHoliday( const QDate &date ) const;
00237
00241 bool isValid() const;
00242
00248 static bool isValid( const QString ®ionCode );
00249
00250 private:
00251 Q_DISABLE_COPY( HolidayRegion )
00252
00253 class Private;
00254 Private *const d;
00255 };
00256
00257 }
00258
00259 #endif // KHOLIDAYS_HOLIDAYREGION_H