1 | /* === This file is part of Calamares - <http://github.com/calamares> === |
---|
2 | * |
---|
3 | * Copyright 2018, Adriaan de Groot <groot@kde.org> |
---|
4 | * |
---|
5 | * Calamares 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 | * Calamares 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 Calamares. If not, see <http://www.gnu.org/licenses/>. |
---|
17 | */ |
---|
18 | |
---|
19 | #ifndef GEOIPJSON_H |
---|
20 | #define GEOIPJSON_H |
---|
21 | |
---|
22 | #include "GeoIP.h" |
---|
23 | |
---|
24 | /** @brief GeoIP lookup for services that return JSON. |
---|
25 | * |
---|
26 | * This is the original implementation of GeoIP lookup, |
---|
27 | * (e.g. using the FreeGeoIP.net service), or similar. |
---|
28 | * |
---|
29 | * The data is assumed to be in JSON format with a time_zone attribute. |
---|
30 | */ |
---|
31 | class GeoIPJSON : public GeoIP |
---|
32 | { |
---|
33 | public: |
---|
34 | /** @brief Configure the attribute name which is selected. |
---|
35 | * |
---|
36 | * If an empty string is passed in (not a valid attribute name), |
---|
37 | * then "time_zone" is used. |
---|
38 | */ |
---|
39 | explicit GeoIPJSON( const QString& attribute = QString() ); |
---|
40 | |
---|
41 | virtual RegionZonePair processReply( const QByteArray& ); |
---|
42 | } ; |
---|
43 | |
---|
44 | #endif |
---|