[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[vidalia-svn] r2045: Make the TorControl* parameter optional for AbstractTorSetti (in trunk: . src/config)



Author: edmanm
Date: 2007-10-20 18:37:26 -0400 (Sat, 20 Oct 2007)
New Revision: 2045

Modified:
   trunk/
   trunk/src/config/abstracttorsettings.cpp
   trunk/src/config/abstracttorsettings.h
   trunk/src/config/networksettings.cpp
   trunk/src/config/serversettings.cpp
Log:
 r2151@lysithea:  edmanm | 2007-10-20 17:49:10 -0400
 Make the TorControl* parameter optional for AbstractTorSettings subclasses and
 make its corresponding member variable private.



Property changes on: trunk
___________________________________________________________________
 svk:merge ticket from /local/vidalia/trunk [r2151] on dc66be73-d13e-47ba-a267-8dc7cda68c65

Modified: trunk/src/config/abstracttorsettings.cpp
===================================================================
--- trunk/src/config/abstracttorsettings.cpp	2007-10-20 07:05:05 UTC (rev 2044)
+++ trunk/src/config/abstracttorsettings.cpp	2007-10-20 22:37:26 UTC (rev 2045)
@@ -110,7 +110,7 @@
   QString confValue;
 
   defaultVal = defaultValue(key);
-  if (_torControl->getConf(key, confValue)) {
+  if (_torControl && _torControl->getConf(key, confValue)) {
     value.setValue(confValue);
     value.convert(defaultVal.type());
   }
@@ -123,7 +123,7 @@
 QVariant
 AbstractTorSettings::value(const QString &key)
 {
-  if (_torControl->isConnected() && !changedSinceLastApply())
+  if (_torControl && _torControl->isConnected() && !changedSinceLastApply())
     return torValue(key);
   return localValue(key);
 }

Modified: trunk/src/config/abstracttorsettings.h
===================================================================
--- trunk/src/config/abstracttorsettings.h	2007-10-20 07:05:05 UTC (rev 2044)
+++ trunk/src/config/abstracttorsettings.h	2007-10-20 22:37:26 UTC (rev 2045)
@@ -37,7 +37,7 @@
 public:
   /** Constructor. All settings will be under the heading <b>group</b> and
    * <b>torControl</b> will be used to <i>getconf</i> values from Tor. */
-  AbstractTorSettings(const QString &group, TorControl *torControl);
+  AbstractTorSettings(const QString &group, TorControl *torControl = 0);
   
   /** Sets a value indicating that the server settings have changed since
    * apply() was last called. */
@@ -72,9 +72,17 @@
    * an empty string. */
   bool isEmptyValue(const QVariant &value);
 
-  TorControl* _torControl;
+protected:
+  /** Returns the TorControl object used for reading settings from or writing
+   * settings to Tor, if one was specified. Returns 0 if no TorControl object
+   * was given. */
+  TorControl* torControl() { return _torControl; };
 
 private:
+  /** TorControl object used for reading settings from or applying settings to
+   * Tor. */
+  TorControl* _torControl;
+  /** Collection of settings values at the last time apply() was called. */
   QMap<QString, QVariant> _backupSettings;
 };
 

Modified: trunk/src/config/networksettings.cpp
===================================================================
--- trunk/src/config/networksettings.cpp	2007-10-20 07:05:05 UTC (rev 2044)
+++ trunk/src/config/networksettings.cpp	2007-10-20 22:37:26 UTC (rev 2045)
@@ -90,7 +90,7 @@
     conf.insert(SETTING_PREFER_TUNNELED_DIR_CONNS, "0");
   }
   
-  if (_torControl->getTorVersion() >= 0x020003) {
+  if (torControl()->getTorVersion() >= 0x020003) {
     /* Do the bridge stuff only on Tor >= 0.2.0.3-alpha */
     QStringList bridges = localValue(SETTING_BRIDGE_LIST).toStringList();
     if (getUseBridges() && !bridges.isEmpty()) {
@@ -105,7 +105,7 @@
       conf.insert(SETTING_UPDATE_BRIDGES, "0");
     }
   }
-  return _torControl->setConf(conf, errmsg);
+  return torControl()->setConf(conf, errmsg);
 }
 
 /** Returns true if we need to set ReachableAddresses because we're behind a

Modified: trunk/src/config/serversettings.cpp
===================================================================
--- trunk/src/config/serversettings.cpp	2007-10-20 07:05:05 UTC (rev 2044)
+++ trunk/src/config/serversettings.cpp	2007-10-20 22:37:26 UTC (rev 2045)
@@ -79,7 +79,7 @@
 ServerSettings::confValues()
 {
   QHash<QString, QString> conf;
-  quint32 torVersion = _torControl->getTorVersion();
+  quint32 torVersion = torControl()->getTorVersion();
 
   /* Server Nickname */
   conf.insert(SETTING_NICKNAME,
@@ -132,10 +132,10 @@
   bool rc;
 
   if (isServerEnabled()) {
-    rc = _torControl->setConf(confValues(), errmsg);
+    rc = torControl()->setConf(confValues(), errmsg);
   } else { 
     QStringList resetKeys;
-    quint32 torVersion = _torControl->getTorVersion();
+    quint32 torVersion = torControl()->getTorVersion();
     resetKeys << SETTING_ORPORT 
               << SETTING_NICKNAME 
               << SETTING_DIRPORT
@@ -148,7 +148,7 @@
       resetKeys << SETTING_BANDWIDTH_RATE
                 << SETTING_BANDWIDTH_BURST;
     }
-    rc = _torControl->resetConf(resetKeys, errmsg);
+    rc = torControl()->resetConf(resetKeys, errmsg);
   }
   return rc;
 }
@@ -169,8 +169,8 @@
 ServerSettings::isServerEnabled()
 {
   QString orPort;
-  if (_torControl->isConnected() && !changedSinceLastApply()) {
-    if (_torControl->getConf(SETTING_ORPORT, orPort))
+  if (torControl()->isConnected() && !changedSinceLastApply()) {
+    if (torControl()->getConf(SETTING_ORPORT, orPort))
       return (orPort.toUInt() > 0);
   }
   return localValue(SETTING_ENABLED).toBool();