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

GeoIpRequestcreateRequest (QList< QHostAddress > ips)

Private Attributes

GeoIpCache _cache
QHash< QAbstractSocket *,
GeoIpRequest * > 
_requestList
QHostAddress _socksAddr
quint16 _socksPort


Detailed Description

Definition at line 32 of file geoipresolver.h.


Constructor & Destructor Documentation

GeoIpResolver::GeoIpResolver (  ) 

Default constructor.

Definition at line 37 of file geoipresolver.cpp.

References _socksAddr, _socksPort, and vWarn.


Member Function Documentation

void GeoIpResolver::connected (  )  [private, slot]

Called when the socket has connected to the Geo IP host.

Definition at line 103 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.

Definition at line 207 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 120 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 219 of file geoipresolver.cpp.

References _requestList, _socksAddr, _socksPort, connected(), TorSocket::connectToRemoteHost(), createRequest(), disconnected(), GEOIP_HOST, GEOIP_PORT, 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 96 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.

Definition at line 74 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.

Definition at line 62 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 52 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.

Definition at line 183 of file geoipresolver.cpp.

References _requestList, resolveFailed(), and vWarn.

Referenced by resolve().


Member Data Documentation

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


The documentation for this class was generated from the following files:
Generated on Tue Jul 7 16:58:12 2009 for Vidalia by  doxygen 1.4.7