#include <netviewer.h>
Inheritance diagram for NetViewer:

Public Slots | |
| void | showWindow () |
| void | loadConnections () |
| void | addCircuit (const Circuit &circuit) |
| void | addStream (const Stream &stream) |
| void | clear () |
Public Member Functions | |
| NetViewer (QWidget *parent=0) | |
Protected Member Functions | |
| void | customEvent (QEvent *event) |
Private Slots | |
| void | help () |
| void | refresh () |
| void | circuitSelected (const Circuit &circuit) |
| void | resolved (int id, const QList< GeoIp > &geoips) |
| void | routerSelected (const RouterDescriptor &router) |
| void | onAuthenticated () |
| void | onDisconnected () |
| void | resolve () |
Private Member Functions | |
| void | addToResolveQueue (const QHostAddress &ip, const QString &id) |
| void | loadNetworkStatus () |
| void | loadAddressMap () |
| void | addRouter (const RouterDescriptor &rd) |
| void | newDescriptors (const QStringList &ids) |
Private Attributes | |
| TorControl * | _torControl |
| QTimer | _refreshTimer |
| TorMapWidget * | _map |
| GeoIpResolver | _geoip |
| QList< QHostAddress > | _resolveQueue |
| QHash< QString, QString > | _resolveMap |
| AddressMap | _addressMap |
| QTimer | _minResolveQueueTimer |
| QTimer | _maxResolveQueueTimer |
| Ui::NetViewer | ui |
Definition at line 33 of file netviewer.h.
| NetViewer::NetViewer | ( | QWidget * | parent = 0 |
) |
Default constructor
Definition at line 39 of file netviewer.cpp.
References _geoip, _map, _maxResolveQueueTimer, _minResolveQueueTimer, _refreshTimer, _torControl, TorEvents::AddressMap, circuitSelected(), TorEvents::CircuitStatus, CircuitListWidget::ConnectionColumn, RouterListWidget::CountryColumn, Vidalia::createShortcut(), help(), TorEvents::NewDescriptor, onAuthenticated(), onDisconnected(), refresh(), resolve(), resolved(), routerSelected(), TorControl::setEvent(), RouterListWidget::StatusColumn, TorEvents::StreamStatus, Vidalia::torControl(), and ui.
| void NetViewer::addCircuit | ( | const Circuit & | circuit | ) | [slot] |
Adds circuit to the list and the map
Definition at line 247 of file netviewer.cpp.
References _map, TorMapWidget::addCircuit(), Circuit::id(), Circuit::routerIDs(), and ui.
Referenced by customEvent(), and loadConnections().
| void NetViewer::addRouter | ( | const RouterDescriptor & | rd | ) | [private] |
Adds a router to our list of servers and retrieves geographic location information for the server.
Definition at line 301 of file netviewer.cpp.
References _torControl, addToResolveQueue(), TorControl::getDescriptorAnnotations(), TorControl::getTorVersion(), RouterDescriptor::id(), RouterDescriptor::ip(), and ui.
Referenced by loadNetworkStatus(), and newDescriptors().
| void NetViewer::addStream | ( | const Stream & | stream | ) | [slot] |
Adds stream to the list of circuits, under the appropriate circuit.
Definition at line 257 of file netviewer.cpp.
References _addressMap, Stream::circuitId(), Stream::id(), AddressMap::isMapped(), AddressMap::mappedTo(), Stream::status(), Stream::targetAddress(), Stream::targetPort(), and ui.
Referenced by customEvent(), and loadConnections().
| void NetViewer::addToResolveQueue | ( | const QHostAddress & | ip, | |
| const QString & | id | |||
| ) | [private] |
Adds an IP address to the resolve queue and updates the queue timers.
Definition at line 334 of file netviewer.cpp.
References _geoip, _maxResolveQueueTimer, _minResolveQueueTimer, _resolveMap, _resolveQueue, MAX_RESOLVE_QUEUE_DELAY, MIN_RESOLVE_QUEUE_DELAY, and GeoIpResolver::resolveFromCache().
Referenced by addRouter().
| void NetViewer::circuitSelected | ( | const Circuit & | circuit | ) | [private, slot] |
Called when the user selects a circuit on the circuit list
Definition at line 362 of file netviewer.cpp.
References _map, TorMapWidget::deselectAll(), Circuit::id(), Circuit::routerIDs(), TorMapWidget::selectCircuit(), and ui.
Referenced by NetViewer().
| void NetViewer::clear | ( | ) | [slot] |
Clears all known information
Definition at line 201 of file netviewer.cpp.
References _addressMap, _map, _resolveMap, _resolveQueue, TorMapWidget::clear(), and ui.
Referenced by onDisconnected(), and refresh().
| void NetViewer::customEvent | ( | QEvent * | event | ) | [protected] |
Called to deliver a NEWDESC event from Tor.
Definition at line 151 of file netviewer.cpp.
References _addressMap, _map, AddressMap::add(), addCircuit(), CustomEventType::AddressMapEvent, addStream(), CircuitEvent::circuit(), CustomEventType::CircuitEvent, NewDescriptorEvent::descriptorIDs(), AddressMapEvent::expires(), AddressMapEvent::from(), CustomEventType::NewDescriptorEvent, newDescriptors(), StreamEvent::stream(), CustomEventType::StreamEvent, and AddressMapEvent::to().
| void NetViewer::help | ( | ) | [private, slot] |
Called when the user selects the "Help" action on the toolbar.
Definition at line 277 of file netviewer.cpp.
References VidaliaWindow::helpRequested().
Referenced by NetViewer().
| void NetViewer::loadAddressMap | ( | ) | [private] |
Loads a list of address mappings from Tor.
Definition at line 219 of file netviewer.cpp.
References _addressMap, _torControl, TorControl::getAddressMap(), and AddressMap::reverse().
Referenced by refresh().
| void NetViewer::loadConnections | ( | ) | [slot] |
Loads a list of current circuits and streams.
Definition at line 228 of file netviewer.cpp.
References _map, _torControl, addCircuit(), addStream(), TorControl::getCircuits(), and TorControl::getStreams().
Referenced by refresh().
| void NetViewer::loadNetworkStatus | ( | ) | [private] |
Retrieves a list of all running routers from Tor and their descriptors, and adds them to the RouterListWidget.
Definition at line 285 of file netviewer.cpp.
References _torControl, addRouter(), TorControl::getNetworkStatus(), TorControl::getRouterDescriptor(), RouterStatus::id(), RouterDescriptor::isEmpty(), and RouterStatus::isRunning().
Referenced by refresh().
| void NetViewer::newDescriptors | ( | const QStringList & | ids | ) | [private] |
Called when a NEWDESC event arrives. Retrieves new router descriptors for the router identities given in ids and updates the router list and network map.
Definition at line 323 of file netviewer.cpp.
References _torControl, addRouter(), TorControl::getRouterDescriptor(), and RouterDescriptor::isEmpty().
Referenced by customEvent().
| void NetViewer::onAuthenticated | ( | ) | [private, slot] |
Handles when we get connected to Tor network
Definition at line 131 of file netviewer.cpp.
References _geoip, _refreshTimer, _torControl, TorControl::getSocksAddress(), TorControl::getSocksPort(), refresh(), GeoIpResolver::setSocksHost(), and ui.
Referenced by NetViewer().
| void NetViewer::onDisconnected | ( | ) | [private, slot] |
Handles when we get disconnected from Tor network
Definition at line 142 of file netviewer.cpp.
References _refreshTimer, clear(), and ui.
Referenced by NetViewer().
| void NetViewer::refresh | ( | ) | [private, slot] |
Called when the user selects the "Refresh" action on the toolbar
Definition at line 180 of file netviewer.cpp.
References clear(), loadAddressMap(), loadConnections(), loadNetworkStatus(), and ui.
Referenced by NetViewer(), and onAuthenticated().
| void NetViewer::resolve | ( | ) | [private, slot] |
Resolves IP addresses in the resolve queue to geographic information.
Definition at line 396 of file netviewer.cpp.
References _geoip, _maxResolveQueueTimer, _minResolveQueueTimer, _resolveQueue, GeoIpResolver::resolve(), ui, and vInfo.
Referenced by NetViewer().
| void NetViewer::resolved | ( | int | id, | |
| const QList< GeoIp > & | geoips | |||
| ) | [private, slot] |
Called when an IP has been resolved to geographic information.
Definition at line 418 of file netviewer.cpp.
References _map, _resolveMap, TorMapWidget::addCircuit(), TorMapWidget::addRouter(), Circuit::id(), RouterListItem::id(), GeoIp::ip(), GeoIp::isUnknown(), Circuit::routerIDs(), RouterListItem::setLocation(), and ui.
Referenced by NetViewer().
| void NetViewer::routerSelected | ( | const RouterDescriptor & | router | ) | [private, slot] |
Called when the user selects a router in the list.
Definition at line 386 of file netviewer.cpp.
References _map, TorMapWidget::deselectAll(), RouterDescriptor::id(), TorMapWidget::selectRouter(), and ui.
Referenced by NetViewer().
| void NetViewer::showWindow | ( | ) | [virtual, slot] |
Displays the network map window.
Reimplemented from VidaliaWindow.
Definition at line 120 of file netviewer.cpp.
References _maxResolveQueueTimer, _minResolveQueueTimer, _resolveQueue, MAX_RESOLVE_QUEUE_DELAY, MIN_RESOLVE_QUEUE_DELAY, and VidaliaWindow::showWindow().
AddressMap NetViewer::_addressMap [private] |
Stores a list of address mappings from Tor.
Definition at line 105 of file netviewer.h.
Referenced by addStream(), clear(), customEvent(), and loadAddressMap().
GeoIpResolver NetViewer::_geoip [private] |
GeoIpResolver used to geolocate routers by IP address.
Definition at line 99 of file netviewer.h.
Referenced by addToResolveQueue(), NetViewer(), onAuthenticated(), and resolve().
TorMapWidget* NetViewer::_map [private] |
TorMapWidget that displays the map.
Definition at line 97 of file netviewer.h.
Referenced by addCircuit(), circuitSelected(), clear(), customEvent(), loadConnections(), NetViewer(), resolved(), and routerSelected().
QTimer NetViewer::_maxResolveQueueTimer [private] |
Timer used to limit the delay of GeoIP requests to MAX_RESOLVE_QUEUE_DELAY milliseconds after inserting the first item into the queue.
Definition at line 112 of file netviewer.h.
Referenced by addToResolveQueue(), NetViewer(), resolve(), and showWindow().
QTimer NetViewer::_minResolveQueueTimer [private] |
Timer used to delay GeoIP requests for MIN_RESOLVE_QUEUE_DELAY milliseconds after we've inserted the last item into the queue.
Definition at line 108 of file netviewer.h.
Referenced by addToResolveQueue(), NetViewer(), resolve(), and showWindow().
QTimer NetViewer::_refreshTimer [private] |
Timer that fires once an hour to update the router list.
Definition at line 95 of file netviewer.h.
Referenced by NetViewer(), onAuthenticated(), and onDisconnected().
QHash<QString, QString> NetViewer::_resolveMap [private] |
Maps pending GeoIP requests to server IDs.
Definition at line 103 of file netviewer.h.
Referenced by addToResolveQueue(), clear(), and resolved().
QList<QHostAddress> NetViewer::_resolveQueue [private] |
Queue for IPs pending resolution to geographic information.
Definition at line 101 of file netviewer.h.
Referenced by addToResolveQueue(), clear(), resolve(), and showWindow().
TorControl* NetViewer::_torControl [private] |
TorControl object used to talk to Tor.
Definition at line 93 of file netviewer.h.
Referenced by addRouter(), loadAddressMap(), loadConnections(), loadNetworkStatus(), NetViewer(), newDescriptors(), and onAuthenticated().
Ui::NetViewer NetViewer::ui [private] |
Qt Designer generated object
Definition at line 115 of file netviewer.h.
Referenced by addCircuit(), addRouter(), addStream(), circuitSelected(), clear(), NetViewer(), onAuthenticated(), onDisconnected(), refresh(), resolve(), resolved(), and routerSelected().
1.4.7