File indexing completed on 2024-04-28 03:50:31
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2010 Dennis Nienhüser <nienhueser@kde.org> 0004 0005 #ifndef MARBLE_HOSTIPRUNNER_H 0006 #define MARBLE_HOSTIPRUNNER_H 0007 0008 #include "SearchRunner.h" 0009 0010 #include <QString> 0011 #include <QHostInfo> 0012 #include <QNetworkAccessManager> 0013 #include <QNetworkRequest> 0014 0015 class QNetworkReply; 0016 0017 namespace Marble 0018 { 0019 0020 class HostipRunner : public SearchRunner 0021 { 0022 Q_OBJECT 0023 public: 0024 explicit HostipRunner(QObject *parent = nullptr); 0025 0026 ~HostipRunner() override; 0027 0028 private Q_SLOTS: 0029 void get(); 0030 0031 // Http request with hostip.info done 0032 void slotRequestFinished( QNetworkReply* ); 0033 0034 // IP address lookup finished 0035 void slotLookupFinished(const QHostInfo &host); 0036 0037 // No results (or an error) 0038 void slotNoResults(); 0039 0040 void search( const QString &searchTerm, const GeoDataLatLonBox &preferred ) override; 0041 0042 private: 0043 QHostInfo m_hostInfo; 0044 0045 QNetworkAccessManager m_networkAccessManager; 0046 0047 QNetworkRequest m_request; 0048 }; 0049 0050 } 0051 0052 #endif