1// Copyright (C) 2020 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QJALALI_CALENDAR_P_H
5#define QJALALI_CALENDAR_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists for the convenience
12// of calendar implementations. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include "qcalendarbackend_p.h"
19
20QT_REQUIRE_CONFIG(jalalicalendar);
21
22QT_BEGIN_NAMESPACE
23
24class Q_CORE_EXPORT QJalaliCalendar : public QCalendarBackend
25{
26public:
27 // Calendar properties:
28 QString name() const override;
29 static QStringList nameList();
30 // Date queries:
31 int daysInMonth(int month, int year = QCalendar::Unspecified) const override;
32 bool isLeapYear(int year) const override;
33 // Properties of the calendar
34 bool isLunar() const override;
35 bool isLuniSolar() const override;
36 bool isSolar() const override;
37 // Julian Day conversions:
38 bool dateToJulianDay(int year, int month, int day, qint64 *jd) const override;
39 QCalendar::YearMonthDay julianDayToDate(qint64 jd) const override;
40
41protected:
42 // locale support:
43 const QCalendarLocale *localeMonthIndexData() const override;
44 const char16_t *localeMonthData() const override;
45};
46
47QT_END_NAMESPACE
48
49#endif // QJALALI_CALENDAR_P_H
50

source code of qtbase/src/corelib/time/qjalalicalendar_p.h