#include <geoipresolver.h>
Signals | |
void | resolved (int id, QList< GeoIp > geoips) |
void | resolveFailed (int id, QString errorString) |
Public Member Functions | |
GeoIpResolver () | |
void | setSocksHost (QHostAddress addr, quint16 port) |
int | resolve (QHostAddress ip) |
int | resolve (QList< QHostAddress > ips) |
bool | resolveFromCache (QHostAddress ip) |
QList< QHostAddress > | resolveFromCache (QList< QHostAddress > ips) |
Private Slots | |
void | connected () |
void | disconnected () |
void | socketError (QString errorString) |
Private Member Functions | |
GeoIpRequest * | createRequest (QList< QHostAddress > ips) |
Private Attributes | |
GeoIpCache | _cache |
QHash< QAbstractSocket *, GeoIpRequest * > | _requestList |
QHostAddress | _socksAddr |
quint16 | _socksPort |
Definition at line 32 of file geoipresolver.h.
GeoIpResolver::GeoIpResolver | ( | ) |
Default constructor.
Definition at line 33 of file geoipresolver.cpp.
References _socksAddr, _socksPort, and vWarn.
void GeoIpResolver::connected | ( | ) | [private, slot] |
Called when the socket has connected to the Geo IP host.
Definition at line 97 of file geoipresolver.cpp.
References _requestList, GeoIpRequest::id(), GeoIpRequest::request(), GeoIpRequest::size(), and vInfo.
Referenced by resolve().
GeoIpRequest * GeoIpResolver::createRequest | ( | QList< QHostAddress > | ips | ) | [private] |
Creates an HTTP request for Geo IP information. Cached GeoIp objects.
Creates an HTTP request for Geo IP information.
Definition at line 201 of file geoipresolver.cpp.
References GEOIP_HOST, GEOIP_PAGE, GeoIpRequest::setHost(), GeoIpRequest::setPage(), and GeoIpRequest::setRequest().
Referenced by resolve().
void GeoIpResolver::disconnected | ( | ) | [private, slot] |
Called when the socket has disconnected from the Geo IP host.
Definition at line 114 of file geoipresolver.cpp.
References _cache, _requestList, GeoIpCache::cache(), GeoIpCache::contains(), GeoIpRequest::contains(), GeoIpResponse::geoIps(), i(), GeoIpRequest::id(), GeoIp::ip(), resolved(), resolveFailed(), GeoIpCache::saveToDisk(), GeoIpResponse::statusCode(), GeoIpResponse::statusMessage(), vInfo, and vWarn.
Referenced by resolve().
int GeoIpResolver::resolve | ( | QList< QHostAddress > | ips | ) |
Resolves a list of IPs to a geographic location.
Definition at line 213 of file geoipresolver.cpp.
References _requestList, _socksAddr, _socksPort, connected(), TorSslSocket::connectToRemoteHost(), createRequest(), disconnected(), GEOIP_HOST, GEOIP_SSL_PORT, GeoIpRequest::id(), resolveFromCache(), socketError(), and vInfo.
int GeoIpResolver::resolve | ( | QHostAddress | ip | ) |
Resolves a single IP to a geographic location.
Definition at line 90 of file geoipresolver.cpp.
Referenced by NetViewer::resolve().
void GeoIpResolver::resolved | ( | int | id, | |
QList< GeoIp > | geoips | |||
) | [signal] |
Emitted when a list of IPs have been resolved to lat/long.
Referenced by disconnected(), and resolveFromCache().
void GeoIpResolver::resolveFailed | ( | int | id, | |
QString | errorString | |||
) | [signal] |
Emitted when a resolve has failed.
Referenced by disconnected(), and socketError().
QList< QHostAddress > GeoIpResolver::resolveFromCache | ( | QList< QHostAddress > | ips | ) |
Resolves a list of IPs to a geographic location, but only those which are cached. Returns a list of which IPs were not cached.
Resolves a list of IPs to a geographic location, but only those which are cached. Returns a list of IPs that were not in the cache.
Definition at line 68 of file geoipresolver.cpp.
References _cache, GeoIpCache::contains(), GeoIpCache::geoip(), resolved(), and vInfo.
bool GeoIpResolver::resolveFromCache | ( | QHostAddress | ip | ) |
Resolves ip to geographic information only if it is cached.
Resolves ip to geographic information if it is cached. A resolved() signal will be emitted and true returned if we have cached geographic information for ip. Otherwise, this returns false.
Definition at line 56 of file geoipresolver.cpp.
References _cache, GeoIpCache::contains(), GeoIpCache::geoip(), and resolved().
Referenced by NetViewer::addToResolveQueue(), and resolve().
void GeoIpResolver::setSocksHost | ( | QHostAddress | addr, | |
quint16 | port | |||
) |
Sets the address and port of Tor, through which GeoIP requests will be made.
Definition at line 46 of file geoipresolver.cpp.
References _socksAddr, and _socksPort.
Referenced by NetViewer::onAuthenticated().
void GeoIpResolver::socketError | ( | QString | errorString | ) | [private, slot] |
Called when an error has occurred getting the Geo IP information.
Called when an error has occurred requesting Geo IP information.
Definition at line 177 of file geoipresolver.cpp.
References _requestList, GeoIpRequest::id(), resolveFailed(), and vWarn.
Referenced by resolve().
GeoIpCache GeoIpResolver::_cache [private] |
List of sockets used for requests.
Definition at line 73 of file geoipresolver.h.
Referenced by disconnected(), and resolveFromCache().
QHash<QAbstractSocket *,GeoIpRequest*> GeoIpResolver::_requestList [private] |
Definition at line 74 of file geoipresolver.h.
Referenced by connected(), disconnected(), resolve(), and socketError().
QHostAddress GeoIpResolver::_socksAddr [private] |
Tor's SocksListenAddress.
Definition at line 76 of file geoipresolver.h.
Referenced by GeoIpResolver(), resolve(), and setSocksHost().
quint16 GeoIpResolver::_socksPort [private] |
Tor's SocksPort.
Definition at line 78 of file geoipresolver.h.
Referenced by GeoIpResolver(), resolve(), and setSocksHost().