[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[vidalia-svn] r2146: Do a tiny bit of shuffling that will make the GeoIP-over-SSL (in trunk: . src/geoip)
Author: edmanm
Date: 2007-11-30 21:47:42 -0500 (Fri, 30 Nov 2007)
New Revision: 2146
Modified:
trunk/
trunk/src/geoip/geoipresolver.cpp
trunk/src/geoip/geoipresolver.h
Log:
r2173@lysithea: edmanm | 2007-11-30 21:47:36 -0500
Do a tiny bit of shuffling that will make the GeoIP-over-SSL stuff
a bit easier to (conditionally) squeeze in.
Property changes on: trunk
___________________________________________________________________
svk:merge ticket from /local/vidalia/trunk [r2173] on 0108964c-5b0b-4c9e-969f-e2288315d100
Modified: trunk/src/geoip/geoipresolver.cpp
===================================================================
--- trunk/src/geoip/geoipresolver.cpp 2007-12-01 02:24:17 UTC (rev 2145)
+++ trunk/src/geoip/geoipresolver.cpp 2007-12-01 02:47:42 UTC (rev 2146)
@@ -25,6 +25,7 @@
* \brief Requests GeoIP information and caches the result
*/
+#include <torsocket.h>
#include "geoipresolver.h"
/** Host for the geo ip information. This hostname round-robins between
@@ -91,7 +92,7 @@
GeoIpResolver::connected()
{
/* Find the socket and request for whoever called this slot */
- TorSocket *socket = (TorSocket *)sender();
+ QAbstractSocket *socket = dynamic_cast<QAbstractSocket *>(sender());
if (!_requestList.contains(socket)) {
return;
}
@@ -106,7 +107,7 @@
GeoIpResolver::disconnected()
{
/* Find the socket and request for whoever called this slot */
- TorSocket *socket = (TorSocket *)sender();
+ QAbstractSocket *socket = dynamic_cast<QAbstractSocket *>(sender());
if (!_requestList.contains(socket)) {
return;
}
@@ -162,7 +163,7 @@
GeoIpResolver::socketError(QString errorString)
{
/* Find the socket and request for whoever called this slot */
- TorSocket *socket = (TorSocket *)sender();
+ QAbstractSocket *socket = dynamic_cast<QAbstractSocket *>(sender());
if (!_requestList.contains(socket)) {
return;
}
@@ -191,21 +192,6 @@
return request;
}
-/** Creates a TorSocket used to connect to the Geo IP host. */
-TorSocket*
-GeoIpResolver::createRequestSocket()
-{
- TorSocket *socket = new TorSocket(_socksAddr, _socksPort);
- connect(socket, SIGNAL(connectedToHost()), this, SLOT(connected()),
- Qt::QueuedConnection);
- connect(socket, SIGNAL(socketError(QString)),
- this, SLOT(socketError(QString)),
- Qt::QueuedConnection);
- connect(socket, SIGNAL(disconnected()), this, SLOT(disconnected()),
- Qt::QueuedConnection);
- return socket;
-}
-
/** Resolves a list of IPs to a geographic location. */
int
GeoIpResolver::resolve(QList<QHostAddress> ips)
@@ -218,7 +204,14 @@
}
/* Create a socket used ot request the geo ip information. */
- TorSocket *socket = createRequestSocket();
+ TorSocket *socket = new TorSocket(_socksAddr, _socksPort);
+ connect(socket, SIGNAL(connectedToHost()), this, SLOT(connected()),
+ Qt::QueuedConnection);
+ connect(socket, SIGNAL(socketError(QString)),
+ this, SLOT(socketError(QString)),
+ Qt::QueuedConnection);
+ connect(socket, SIGNAL(disconnected()), this, SLOT(disconnected()),
+ Qt::QueuedConnection);
GeoIpRequest *request = createRequest(ips);
_requestList.insert(socket, request);
Modified: trunk/src/geoip/geoipresolver.h
===================================================================
--- trunk/src/geoip/geoipresolver.h 2007-12-01 02:24:17 UTC (rev 2145)
+++ trunk/src/geoip/geoipresolver.h 2007-12-01 02:47:42 UTC (rev 2146)
@@ -33,7 +33,6 @@
#include <QHash>
#include <QString>
#include <QHostAddress>
-#include <util/torsocket.h>
#include "geoip.h"
#include "geoipcache.h"
@@ -80,13 +79,11 @@
private:
/** Creates an HTTP request for Geo IP information. */
GeoIpRequest* createRequest(QList<QHostAddress> ips);
- /** Creates a socket used to request Geo IP information over Tor. */
- TorSocket* createRequestSocket();
-
+
/**< Cached GeoIp objects. */
GeoIpCache _cache;
/**< List of sockets used for requests. */
- QHash<TorSocket *,GeoIpRequest*> _requestList;
+ QHash<QAbstractSocket *,GeoIpRequest*> _requestList;
/** Tor's SocksListenAddress. */
QHostAddress _socksAddr;
/** Tor's SocksPort. */