#include <geoipresolver.h>
Signals | |
void | resolved (int id, QList< GeoIp > geoips) |
void | resolveFailed (int id, QString errorString) |
Public Member Functions | |
GeoIpResolver () | |
int | resolve (QHostAddress ip) |
int | resolve (QList< QHostAddress > ips) |
QList< QHostAddress > | resolveFromCache (QList< QHostAddress > ips) |
Private Slots | |
void | connected () |
void | disconnected () |
void | socketError (QString errorString) |
Private Member Functions | |
GeoIpRequest * | createRequest (QList< QHostAddress > ips) |
TorSocket * | createRequestSocket () |
Private Attributes | |
GeoIpCache | _cache |
QHash< TorSocket *, GeoIpRequest * > | _requestList |
Definition at line 44 of file geoipresolver.h.
GeoIpResolver::GeoIpResolver | ( | ) | [inline] |
Default constructor.
Definition at line 50 of file geoipresolver.h.
int GeoIpResolver::resolve | ( | QHostAddress | ip | ) |
Resolves a single IP to a geographic location.
Definition at line 62 of file geoipresolver.cpp.
Referenced by NetViewer::resolve().
int GeoIpResolver::resolve | ( | QList< QHostAddress > | ips | ) |
Resolves a list of IPs to a geographic location.
Definition at line 175 of file geoipresolver.cpp.
References _requestList, TorSocket::connectToHost(), createRequest(), createRequestSocket(), GEOIP_HOST, GeoIpRequest::id(), and resolveFromCache().
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.
Definition at line 41 of file geoipresolver.cpp.
References _cache, GeoIpCache::contains(), GeoIpCache::geoip(), and resolved().
Referenced by 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().
void GeoIpResolver::connected | ( | ) | [private, slot] |
Called when the socket has connected to the Geo IP host.
Definition at line 69 of file geoipresolver.cpp.
References _requestList, and GeoIpRequest::request().
Referenced by createRequestSocket().
void GeoIpResolver::disconnected | ( | ) | [private, slot] |
Called when the socket has disconnected from the Geo IP host.
Definition at line 84 of file geoipresolver.cpp.
References _cache, _requestList, GeoIpCache::cache(), GeoIpCache::contains(), GeoIpResponse::geoIps(), GeoIpRequest::id(), GeoIp::ip(), resolved(), resolveFailed(), GeoIpCache::saveToDisk(), GeoIpResponse::statusCode(), and GeoIpResponse::statusMessage().
Referenced by createRequestSocket().
void GeoIpResolver::socketError | ( | QString | errorString | ) | [private, slot] |
Called when an error has occurred getting the Geo IP information.
Definition at line 126 of file geoipresolver.cpp.
References _requestList, and resolveFailed().
Referenced by createRequestSocket().
GeoIpRequest * GeoIpResolver::createRequest | ( | QList< QHostAddress > | ips | ) | [private] |
Creates an HTTP request for Geo IP information.
Definition at line 148 of file geoipresolver.cpp.
References GEOIP_HOST, GEOIP_PAGE, GeoIpRequest::setHost(), GeoIpRequest::setPage(), and GeoIpRequest::setRequest().
Referenced by resolve().
TorSocket * GeoIpResolver::createRequestSocket | ( | ) | [private] |
Creates a socket used to request Geo IP information over Tor. Cached GeoIp objects.
Definition at line 160 of file geoipresolver.cpp.
References connected(), disconnected(), and socketError().
Referenced by resolve().
GeoIpCache GeoIpResolver::_cache [private] |
List of sockets used for requests.
Definition at line 82 of file geoipresolver.h.
Referenced by disconnected(), and resolveFromCache().
QHash<TorSocket *,GeoIpRequest*> GeoIpResolver::_requestList [private] |
Definition at line 83 of file geoipresolver.h.
Referenced by connected(), disconnected(), resolve(), and socketError().