openPilotLog
statistics.h
1 /*
2  *openPilotLog - A FOSS Pilot Logbook Application
3  *Copyright (C) 2020-2022 Felix Turowsky
4  *
5  *This program is free software: you can redistribute it and/or modify
6  *it under the terms of the GNU General Public License as published by
7  *the Free Software Foundation, either version 3 of the License, or
8  *(at your option) any later version.
9  *
10  *This program is distributed in the hope that it will be useful,
11  *but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  *GNU General Public License for more details.
14  *
15  *You should have received a copy of the GNU General Public License
16  *along with this program. If not, see <https://www.gnu.org/licenses/>.
17  */
18 #ifndef STAT_H
19 #define STAT_H
20 #include <QtCore>
21 #include <QSqlQuery>
22 #include <QSqlError>
23 
24 namespace OPL::Statistics {
25 
33  enum class TimeFrame {AllTime, CalendarYear, Rolling12Months, Rolling28Days};
34 
35  enum class ToLdg {Takeoff, Landing};
36 
37  int totalTime(TimeFrame time_frame);
38 
39  QVector<QVariant> countTakeOffLanding(int days = 90);
40 
41  QDate currencyTakeOffLandingExpiry(int expiration_days = 90);
42 
43  QVector<QPair<QString, QString>> totals();
44 
45 } // namespace OPL::Statistics
46 
47 #endif // STAT_H