GeoIpResolver Class Reference

#include <geoipresolver.h>

List of all members.

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

GeoIpRequestcreateRequest (QList< QHostAddress > ips)
TorSocketcreateRequestSocket ()

Private Attributes

GeoIpCache _cache
QHash< TorSocket *, GeoIpRequest * > _requestList


Detailed Description

Definition at line 44 of file geoipresolver.h.


Constructor & Destructor Documentation

GeoIpResolver::GeoIpResolver (  )  [inline]

Default constructor.

Definition at line 50 of file geoipresolver.h.


Member Function Documentation

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().


Member Data Documentation

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().


The documentation for this class was generated from the following files:
Generated on Mon Oct 23 20:08:16 2006 for Vidalia by  doxygen 1.5.0