Vidalia
0.3.1
Main Page
Namespaces
Classes
Files
File List
File Members
src
vidalia
config
ServerPage.h
Go to the documentation of this file.
1
/*
2
** This file is part of Vidalia, and is subject to the license terms in the
3
** LICENSE file, found in the top level directory of this distribution. If you
4
** did not receive the LICENSE file with this file, you may obtain it from the
5
** Vidalia source package distributed by the Vidalia Project at
6
** http://www.torproject.org/projects/vidalia.html. No part of Vidalia,
7
** including this file, may be copied, modified, propagated, or distributed
8
** except according to the terms described in the LICENSE file.
9
*/
10
11
/*
12
** \file ServerPage.h
13
** \brief Tor server configuration options
14
*/
15
16
#ifndef _SERVERPAGE_H
17
#define _SERVERPAGE_H
18
19
#include "ui_ServerPage.h"
20
#include "
ConfigPage.h
"
21
#include "
TorControl.h
"
22
#include "
ServerSettings.h
"
23
#include "
ExitPolicy.h
"
24
#include "
HelpBrowser.h
"
25
26
#include <QMessageBox>
27
#include <QTimer>
28
29
30
class
ServerPage
:
public
ConfigPage
31
{
32
Q_OBJECT
33
34
public
:
35
/** Default Constructor */
36
ServerPage
(QWidget *parent = 0);
37
/** Default Destructor */
38
~ServerPage
();
39
/** Saves the changes on this page */
40
bool
save
(QString &errmsg);
41
/** Loads the settings for this page */
42
void
load
();
43
44
/** Applies the server configuration settings to Tor. Returns true if the
45
* settings were applied successfully. Otherwise, <b>errmsg</b> is set and
46
* false is returned. */
47
bool
apply
(QString &errmsg);
48
/** Reverts the server configuration settings to their values at the last
49
* time they were successfully applied to Tor. */
50
void
revert
();
51
/** Returns true if the user has changed their server settings since the
52
* last time they were applied to Tor. */
53
bool
changedSinceLastApply
();
54
/** Called when the user changes the UI translation. */
55
virtual
void
retranslateUi
();
56
57
private
slots:
58
/** Called when the user toggles any one of the server mode radio buttons
59
* and hides or displays the server configuration tabs appropriately. */
60
void
serverModeChanged
(
bool
enabled);
61
/** Called when the user clicks the bandwidth help button */
62
void
bandwidthHelp
();
63
/** Called when the user clicks the exit policy help button */
64
void
exitPolicyHelp
();
65
/** Called when the user selects a new value from the rate combo box */
66
void
rateChanged
(
int
rate);
67
/** Called when the user edits the max or average bandwidth limits. */
68
void
customRateChanged
();
69
/** Called when Vidalia has authenticated to Tor. If the user's Tor is not
70
* recent enough, this disables the bridge server option and displays a
71
* warning if the user had previously configured Tor as a bridge. */
72
void
onAuthenticated
();
73
/** Called when Vidalia disconnects from Tor. This method reenables the
74
* bridge server option. */
75
void
onDisconnected
();
76
/** Copies the user's bridge relay identity to the clipboard. */
77
void
copyBridgeIdentity
();
78
/** Tests automatic port forwarding with UPnP. */
79
void
testUpnp
();
80
/** Called when the user clicks the UPnP test dialog's help button. */
81
void
upnpHelp
();
82
/** Called when the user clicks on a QLabel containing a hyperlink. */
83
void
linkActivated
(
const
QString &url);
84
85
private
:
86
/** Index values of rate values in the bandwidth limits dropdown box. */
87
enum
BwRateIndex
{
88
CableDsl256
= 0,
/**< Cable/DSL 256 Kbps */
89
CableDsl512
,
/**< Cable/DSL 512 Kbps */
90
CableDsl768
,
/**< Cable/DSL 768 Kbps */
91
T1CableDsl1500
,
/**< T1/Cable/DSL 1.5 Mbps */
92
GreaterThan1500
,
/**< > 1.5 Mbps */
93
CustomBwLimits
/**< Custom bandwidth limits */
94
};
95
96
/** Returns the index of the selected item in lstExitPolicies */
97
int
selectedIndex
();
98
99
/** Saves the server's bandwidth average and burst limits. */
100
void
saveBandwidthLimits
();
101
/** Loads the server's bandwidth average and burst limits. */
102
void
loadBandwidthLimits
();
103
/** Saves the server's exit policies. */
104
void
saveExitPolicies
();
105
/** Loads the server's exit policies. */
106
void
loadExitPolicies
();
107
/** Loads the user's bridge relay identity into the appropriate widgets. If
108
* the user's bridge is not running, then "Not Running" will be
109
* displayed. Otherwise, either the bridge's "address:port", "fingerprint",
110
* or "address:port fingerprint" will be displayed, depending on whether
111
* our GETCONF and GETINFO commands are successful. */
112
void
loadBridgeIdentity
();
113
/** Retrieves bridge usage history from Tor, parses and validates it, and
114
* then displays it in a new dialog. */
115
void
displayBridgeUsage
();
116
117
/** A ServerSettings object used to get and set information about how a
118
* local Tor server is configured. */
119
ServerSettings
*
_settings
;
120
121
/** Qt Designer generated object */
122
Ui::ServerPage
ui
;
123
124
/** Used to store the dirport value and if the user wants to mirror the
125
* directory so that they can be emptied when selecting being a bridge and
126
* re-added when selecting relay */
127
QString
_tmpDirPort
;
128
bool
_tmpMirror
;
129
};
130
131
#endif
132
Generated on Mon Jan 14 2013 08:44:27 for Vidalia by
1.8.3