[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[vidalia-svn] r2771: Whine about bootstrap problem events only if their recommand (in vidalia/trunk/src: torcontrol vidalia)
Author: edmanm
Date: 2008-06-20 19:25:20 -0400 (Fri, 20 Jun 2008)
New Revision: 2771
Modified:
vidalia/trunk/src/torcontrol/bootstrapstatusevent.cpp
vidalia/trunk/src/torcontrol/bootstrapstatusevent.h
vidalia/trunk/src/torcontrol/torevents.cpp
vidalia/trunk/src/vidalia/mainwindow.cpp
Log:
Whine about bootstrap problem events only if their recommandation is not
'ignore'.
Modified: vidalia/trunk/src/torcontrol/bootstrapstatusevent.cpp
===================================================================
--- vidalia/trunk/src/torcontrol/bootstrapstatusevent.cpp 2008-06-20 22:35:32 UTC (rev 2770)
+++ vidalia/trunk/src/torcontrol/bootstrapstatusevent.cpp 2008-06-20 23:25:20 UTC (rev 2771)
@@ -23,7 +23,8 @@
int percentComplete,
const QString &description,
const QString &warning,
- tc::ConnectionStatusReason reason)
+ tc::ConnectionStatusReason reason,
+ RecommendAction action)
: ClientStatusEvent(severity, ClientStatusEvent::BootstrapStatus)
{
_status = status;
@@ -31,6 +32,7 @@
_description = description;
_warning = warning;
_reason = reason;
+ _action = action;
}
/** Converts a string TAG value to a BootstrapStatus enum value. */
@@ -64,3 +66,13 @@
return UnrecognizedStatus;
}
+BootstrapStatusEvent::RecommendAction
+BootstrapStatusEvent::actionFromString(const QString &str)
+{
+ if (!str.compare("WARN", Qt::CaseInsensitive))
+ return RecommendWarn;
+ if (!str.compare("IGNORE", Qt::CaseInsensitive))
+ return RecommendIgnore;
+ return UnrecognizedAction;
+}
+
Modified: vidalia/trunk/src/torcontrol/bootstrapstatusevent.h
===================================================================
--- vidalia/trunk/src/torcontrol/bootstrapstatusevent.h 2008-06-20 22:35:32 UTC (rev 2770)
+++ vidalia/trunk/src/torcontrol/bootstrapstatusevent.h 2008-06-20 23:25:20 UTC (rev 2771)
@@ -43,13 +43,21 @@
EstablishingCircuit,
BootstrappingDone
};
+ /** Actions the Tor software might recommend controllers take in response to
+ * a bootstrap status problem event. */
+ enum RecommendAction {
+ UnrecognizedAction,
+ RecommendIgnore,
+ RecommendWarn
+ };
/** Constructor. */
BootstrapStatusEvent(StatusEvent::Severity severity,
BootstrapStatus status, int percentComplete,
const QString &description,
const QString &warning = QString(),
- tc::ConnectionStatusReason reason = tc::UnrecognizedReason);
+ tc::ConnectionStatusReason reason = tc::UnrecognizedReason,
+ RecommendAction action = UnrecognizedAction);
/** Returns the BootstrapStatus enum value indicated by this bootstrap
* status event. */
@@ -73,8 +81,15 @@
* tc::UnrecognizedReason. */
tc::ConnectionStatusReason reason() const { return _reason; }
+ /** Returns the action that the Tor software recommended be taken in
+ * response to this bootstrap status event. */
+ RecommendAction recommendedAction() const { return _action; }
+
/** Converts a string TAG value to a BootstrapStatus enum value. */
static BootstrapStatus statusFromString(const QString &tag);
+ /** Converts a string RECOMMENDATION value to a RecommendAction enum
+ * value. */
+ static RecommendAction actionFromString(const QString &str);
private:
/** Current bootstrapping status value.
@@ -103,6 +118,12 @@
* \sa reason
*/
tc::ConnectionStatusReason _reason;
+
+ /** RecommendAction enum value describing Tor's suggested response to this
+ * bootstrap status event.
+ * \sa recommendedAction
+ */
+ RecommendAction _action;
};
#endif
Modified: vidalia/trunk/src/torcontrol/torevents.cpp
===================================================================
--- vidalia/trunk/src/torcontrol/torevents.cpp 2008-06-20 22:35:32 UTC (rev 2770)
+++ vidalia/trunk/src/torcontrol/torevents.cpp 2008-06-20 23:25:20 UTC (rev 2771)
@@ -412,7 +412,9 @@
args.value("PROGRESS").toInt(),
args.value("SUMMARY"),
args.value("WARNING"),
- tc::connectionStatusReason(args.value("REASON")));
+ tc::connectionStatusReason(args.value("REASON")),
+ BootstrapStatusEvent::actionFromString(
+ args.value("RECOMMENDATION")));
break;
default:
Modified: vidalia/trunk/src/vidalia/mainwindow.cpp
===================================================================
--- vidalia/trunk/src/vidalia/mainwindow.cpp 2008-06-20 22:35:32 UTC (rev 2770)
+++ vidalia/trunk/src/vidalia/mainwindow.cpp 2008-06-20 23:25:20 UTC (rev 2771)
@@ -525,7 +525,8 @@
MainWindow::bootstrapStatusChanged(const BootstrapStatusEvent *bse)
{
int percentComplete = STARTUP_PROGRESS_BOOTSTRAPPING + bse->percentComplete();
- bool warn = (bse->severity() == StatusEvent::SeverityWarn);
+ bool warn = (bse->severity() == StatusEvent::SeverityWarn &&
+ bse->recommendedAction() != BootstrapStatusEvent::RecommendIgnore);
QString description;
switch (bse->status()) {