Server methods to store/get options
[qtrapids] / src / server / ServerDb.hpp
index 9bda677..fa31059 100644 (file)
@@ -34,6 +34,10 @@ public:
 
        }
 
+       static QString getTorrentsSubDir() {
+               return QString(".") + appName();
+       }
+
        QString getDownloadDir() const {
                QString default_dir(QDir::home().absolutePath());
                QString v = getParamAndStore("download/directory", default_dir).toString();
@@ -45,8 +49,30 @@ public:
                }
        }
 
-       static QString getTorrentsSubDir() {
-               return QString(".") + appName();
+       ports_range_t getListenPorts() const {
+
+               ports_range_t default_ports(13131, 13132);
+               default_ports.first = getParamAndStore("net/listen_range_begin", default_ports.first).toUInt();
+               default_ports.second = getParamAndStore("net/listen_range_end", default_ports.second).toUInt();
+               return default_ports;
+       }
+
+       /**
+          @todo deztructor: there is no check for option type yet
+        */
+       void setOptions(ParamsMapConst_t &options) {
+               for (ParamsMapConstIterator_t p = options.constBegin(); p != options.constEnd(); ++p) {
+                       settings_.setValue(p.key(), p.value());
+               }
+       }
+
+       ParamsMap_t getOptions() const {
+               ParamsMap_t options;
+               QStringList keys = settings_.allKeys();
+               for (QStringList::const_iterator p = keys.begin(); p != keys.end(); ++p) {
+                       options[*p] = settings_.value(*p).toString();
+               }
+               return options;
        }
 
 private: