[svn-upgrade] new version fosdem-schedule (0.4.1+svn262+ds)
[debian/fosdem-schedule.git] / src / mvc / conference.h
index d8b9318d849836af99bc30278d8f3c717dc2eb37..b6283435690f8c1a4bfc05261735a60e3c863000 100644 (file)
@@ -35,6 +35,7 @@ public:
     static Conference getById(int id);
     static QList<Conference> getAll();
     static int activeConference();
+    static void deleteConference(int id);
 
 public:
     int id() const { return value("id").toInt(); }
@@ -48,7 +49,10 @@ public:
     int dayChange() const { return value("day_change").toInt(); } // in seconds from 00:00
     int timeslotDuration() const { return value("timeslot_duration").toInt(); } // in seconds
     bool isActive() const { return value("active").toBool(); }
+    QString url() const { return stringFromNullable(value("url")); }
+    QString map() const { return stringFromNullable(value("map")); }
 
+    #if 0
     void setId(int id) { setValue("id", id); }
     void setTitle(const QString& title) { setValue("title", title); }
     void setSubtitle(const QString& subtitle) { setValue("subtitle", subtitle); }
@@ -60,6 +64,22 @@ public:
     void setDayChange(int dayChange) { setValue("day_change", dayChange); }
     void setTimeslotDuration(int timeslotDuration) { setValue("timeslot_duration", timeslotDuration); }
     void setActive(bool active) { setValue("active", (int)((active))); }
+    #endif
+    void setUrl(const QString& url)
+    {
+        setValue("url", url.isNull() ? QVariant() : url);
+        update("url");
+    }
+
+private:
+    static QString stringFromNullable(const QVariant& v)
+    {
+        if (v.isValid()) {
+            return v.toString();
+        } else {
+            return QString();
+        }
+    }
 };
 
 #endif /* CONFERENCE_H */