ServerPage Class Reference

#include <serverpage.h>

Inheritance diagram for ServerPage:

ConfigPage List of all members.

Public Member Functions

 ServerPage (QWidget *parent=0)
 ~ServerPage ()
bool save (QString &errmsg)
void load ()
bool apply (QString &errmsg)
void revert ()
bool changedSinceLastApply ()

Private Types

 CableDsl256 = 0
 CableDsl512
 CableDsl768
 T1CableDsl1500
 GreaterThan1500
 CustomBwLimits
enum  BwRateIndex {
  CableDsl256 = 0, CableDsl512, CableDsl768, T1CableDsl1500,
  GreaterThan1500, CustomBwLimits
}

Private Slots

void serverModeChanged (bool enabled)
void bandwidthHelp ()
void exitPolicyHelp ()
void rateChanged (int rate)
void customRateChanged ()
void onAuthenticated ()
void onDisconnected ()
void copyBridgeIdentity ()
void testUpnp ()
void upnpHelp ()

Private Member Functions

int selectedIndex ()
void saveBandwidthLimits ()
void loadBandwidthLimits ()
void saveExitPolicies ()
void loadExitPolicies ()
void loadBridgeIdentity ()

Private Attributes

ServerSettings_settings
Ui::ServerPage ui

Detailed Description

Definition at line 31 of file serverpage.h.


Member Enumeration Documentation

enum ServerPage::BwRateIndex [private]

Index values of rate values in the bandwidth limits dropdown box.

Enumerator:
CableDsl256  Cable/DSL 256 Kbps
CableDsl512  Cable/DSL 512 Kbps
CableDsl768  Cable/DSL 768 Kbps
T1CableDsl1500  T1/Cable/DSL 1.5 Mbps
GreaterThan1500  > 1.5 Mbps
CustomBwLimits  Custom bandwidth limits

Definition at line 84 of file serverpage.h.


Constructor & Destructor Documentation

ServerPage::ServerPage ( QWidget *  parent = 0  ) 

Default Constructor

Definition at line 67 of file serverpage.cpp.

References _settings, bandwidthHelp(), copyBridgeIdentity(), customRateChanged(), exitPolicyHelp(), MAX_BANDWIDTH_RATE, MIN_BANDWIDTH_RATE, onAuthenticated(), onDisconnected(), rateChanged(), serverModeChanged(), testUpnp(), Vidalia::torControl(), ui, and upnpHelp().

ServerPage::~ServerPage (  ) 

Default Destructor

Definition at line 117 of file serverpage.cpp.

References _settings.


Member Function Documentation

bool ServerPage::apply ( QString &  errmsg  )  [virtual]

Applies the server configuration settings to Tor. Returns true if the settings were applied successfully. Otherwise, errmsg is set and false is returned.

Reimplemented from ConfigPage.

Definition at line 232 of file serverpage.cpp.

References _settings, and ServerSettings::apply().

void ServerPage::bandwidthHelp (  )  [private, slot]

Called when the user clicks the bandwidth help button

Definition at line 325 of file serverpage.cpp.

References ConfigPage::helpRequested().

Referenced by ServerPage().

bool ServerPage::changedSinceLastApply (  )  [virtual]

Returns true if the user has changed their server settings since the last time they were applied to Tor.

Reimplemented from ConfigPage.

Definition at line 223 of file serverpage.cpp.

References _settings, and AbstractTorSettings::changedSinceLastApply().

void ServerPage::copyBridgeIdentity (  )  [private, slot]

Copies the user's bridge relay identity to the clipboard.

Definition at line 160 of file serverpage.cpp.

References ui, and vApp.

Referenced by ServerPage().

void ServerPage::customRateChanged (  )  [private, slot]

Called when the user edits the max or average bandwidth limits.

Definition at line 483 of file serverpage.cpp.

References MAX_BANDWIDTH_RATE, MIN_BANDWIDTH_RATE, and ui.

Referenced by save(), and ServerPage().

void ServerPage::exitPolicyHelp (  )  [private, slot]

Called when the user clicks the exit policy help button

Definition at line 318 of file serverpage.cpp.

References ConfigPage::helpRequested().

Referenced by ServerPage().

void ServerPage::load (  )  [virtual]

Loads the settings for this page

Implements ConfigPage.

Definition at line 292 of file serverpage.cpp.

References _settings, ServerSettings::getContactInfo(), ServerSettings::getDirPort(), ServerSettings::getNickname(), ServerSettings::getORPort(), ServerSettings::isBridgeEnabled(), ServerSettings::isDirectoryMirror(), ServerSettings::isServerEnabled(), ServerSettings::isUpnpEnabled(), loadBandwidthLimits(), loadBridgeIdentity(), loadExitPolicies(), and ui.

void ServerPage::loadBandwidthLimits (  )  [private]

Loads the server's bandwidth average and burst limits.

Definition at line 332 of file serverpage.cpp.

References _settings, CABLE256_AVG_RATE, CABLE256_MAX_RATE, CABLE512_AVG_RATE, CABLE512_MAX_RATE, CABLE768_AVG_RATE, CABLE768_MAX_RATE, CableDsl256, CableDsl512, CableDsl768, CustomBwLimits, ServerSettings::getBandwidthAvgRate(), ServerSettings::getBandwidthBurstRate(), GreaterThan1500, HIGHBW_AVG_RATE, HIGHBW_MAX_RATE, T1_AVG_RATE, T1_MAX_RATE, T1CableDsl1500, and ui.

Referenced by load().

void ServerPage::loadBridgeIdentity (  )  [private]

Loads the user's bridge relay identity into the appropriate widgets. If the user's bridge is not running, then "Not Running" will be displayed. Otherwise, either the bridge's "address:port", "fingerprint", or "address:port fingerprint" will be displayed, depending on whether our GETCONF and GETINFO commands are successful.

Definition at line 173 of file serverpage.cpp.

References TorControl::getConf(), TorControl::getInfo(), TorControl::isConnected(), Vidalia::torControl(), and ui.

Referenced by load().

void ServerPage::loadExitPolicies (  )  [private]

Loads the server's exit policies.

Definition at line 404 of file serverpage.cpp.

References _settings, ExitPolicy::acceptsPorts(), ExitPolicy::contains(), ServerSettings::getExitPolicy(), PORTS_HTTP, PORTS_HTTPS, PORTS_IM, PORTS_IRC, PORTS_MAIL, Policy::RejectAll, ExitPolicy::rejectsPorts(), and ui.

Referenced by load().

void ServerPage::onAuthenticated (  )  [private, slot]

Called when Vidalia has authenticated to Tor. If the user's Tor is not recent enough, this disables the bridge server option and displays a warning if the user had previously configured Tor as a bridge.

Definition at line 126 of file serverpage.cpp.

References VMessageBox::Cancel, TorControl::getTorVersion(), p(), ConfigDialog::Server, VMessageBox::ShowSettings, ConfigDialog::showWindow(), Vidalia::torControl(), ui, and VMessageBox::warning().

Referenced by ServerPage().

void ServerPage::onDisconnected (  )  [private, slot]

Called when Vidalia disconnects from Tor. This method reenables the bridge server option.

Definition at line 153 of file serverpage.cpp.

References ui.

Referenced by ServerPage().

void ServerPage::rateChanged ( int  rate  )  [private, slot]

Called when the user selects a new value from the rate combo box

Definition at line 472 of file serverpage.cpp.

References CustomBwLimits, and ui.

Referenced by ServerPage().

void ServerPage::revert (  )  [virtual]

Reverts the server configuration settings to their values at the last time they were successfully applied to Tor.

Reimplemented from ConfigPage.

Definition at line 240 of file serverpage.cpp.

References _settings, and AbstractTorSettings::revert().

bool ServerPage::save ( QString &  errmsg  )  [virtual]

Saves the changes on this page

Implements ConfigPage.

Definition at line 247 of file serverpage.cpp.

References _settings, customRateChanged(), saveBandwidthLimits(), saveExitPolicies(), ServerSettings::setBridgeEnabled(), ServerSettings::setContactInfo(), ServerSettings::setDirectoryMirror(), ServerSettings::setDirPort(), ServerSettings::setNickname(), ServerSettings::setORPort(), ServerSettings::setServerEnabled(), ServerSettings::setUpnpEnabled(), and ui.

void ServerPage::saveBandwidthLimits (  )  [private]

Saves the server's bandwidth average and burst limits.

Definition at line 368 of file serverpage.cpp.

References _settings, CABLE256_AVG_RATE, CABLE256_MAX_RATE, CABLE512_AVG_RATE, CABLE512_MAX_RATE, CABLE768_AVG_RATE, CABLE768_MAX_RATE, CableDsl256, CableDsl512, CableDsl768, GreaterThan1500, HIGHBW_AVG_RATE, HIGHBW_MAX_RATE, ServerSettings::setBandwidthAvgRate(), ServerSettings::setBandwidthBurstRate(), T1_AVG_RATE, T1_MAX_RATE, T1CableDsl1500, and ui.

Referenced by save().

void ServerPage::saveExitPolicies (  )  [private]

Saves the server's exit policies.

Definition at line 431 of file serverpage.cpp.

References _settings, ExitPolicy::addAcceptedPorts(), ExitPolicy::addPolicy(), ExitPolicy::addRejectedPorts(), PORTS_HTTP, PORTS_HTTPS, PORTS_IM, PORTS_IRC, PORTS_MAIL, Policy::RejectAll, ServerSettings::setExitPolicy(), and ui.

Referenced by save().

int ServerPage::selectedIndex (  )  [private]

Returns the index of the selected item in lstExitPolicies

void ServerPage::serverModeChanged ( bool  enabled  )  [private, slot]

Called when the user toggles any one of the server mode radio buttons and hides or displays the server configuration tabs appropriately.

Definition at line 201 of file serverpage.cpp.

References ui.

Referenced by ServerPage().

void ServerPage::testUpnp (  )  [private, slot]

Tests automatic port forwarding with UPnP.

Definition at line 506 of file serverpage.cpp.

References ui, and upnpHelp().

Referenced by ServerPage().

void ServerPage::upnpHelp (  )  [private, slot]

Called when the user clicks the UPnP test dialog's help button.

Definition at line 520 of file serverpage.cpp.

References ConfigPage::helpRequested().

Referenced by ServerPage(), and testUpnp().


Member Data Documentation

ServerSettings* ServerPage::_settings [private]

A ServerSettings object used to get and set information about how a local Tor server is configured.

Definition at line 113 of file serverpage.h.

Referenced by apply(), changedSinceLastApply(), load(), loadBandwidthLimits(), loadExitPolicies(), revert(), save(), saveBandwidthLimits(), saveExitPolicies(), ServerPage(), and ~ServerPage().

Ui::ServerPage ServerPage::ui [private]

Qt Designer generated object

Definition at line 116 of file serverpage.h.

Referenced by copyBridgeIdentity(), customRateChanged(), load(), loadBandwidthLimits(), loadBridgeIdentity(), loadExitPolicies(), onAuthenticated(), onDisconnected(), rateChanged(), save(), saveBandwidthLimits(), saveExitPolicies(), serverModeChanged(), ServerPage(), and testUpnp().


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