reworked UI for conference editing
[toast/confclerk.git] / src / sql / sqlengine.h
index 272865f..9bee268 100644 (file)
@@ -1,3 +1,21 @@
+/*
+ * Copyright (C) 2010 Ixonos Plc.
+ *
+ * This file is part of fosdem-schedule.
+ *
+ * fosdem-schedule is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * fosdem-schedule is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * fosdem-schedule.  If not, see <http://www.gnu.org/licenses/>.
+ */
 #ifndef SQLENGINE_H
 #define SQLENGINE_H
 
@@ -12,19 +30,23 @@ class SqlEngine : public QObject
     public:
         SqlEngine(QObject *aParent = NULL);
         ~SqlEngine();
-        void initialize();
-        void addConferenceToDB(QHash<QString,QString> &aConference);
-        void addEventToDB(QHash<QString,QString> &aEvent);
-        void addPersonToDB(QHash<QString,QString> &aPerson);
-        void addLinkToDB(QHash<QString,QString> &aLink);
-        void addRoomToDB(QHash<QString,QString> &aRoom);
+        static void initialize();
+        static void addConferenceToDB(QHash<QString,QString> &aConference);
+        static void addEventToDB(QHash<QString,QString> &aEvent);
+        static void addPersonToDB(QHash<QString,QString> &aPerson);
+        static void addLinkToDB(QHash<QString,QString> &aLink);
+        static void addRoomToDB(QHash<QString,QString> &aRoom);
+        static void deleteConference(int id);
+
+        static bool beginTransaction();
+        static bool commitTransaction();
 
         // search Events for ....
-        int searchEvent(int conferenceId, const QList<QString> &columns, const QString &keyword);
+        static int searchEvent(int conferenceId, const QHash<QString,QString> &columns, const QString &keyword);
     private:
-        QString login(const QString &aDatabaseType, const QString &aDatabaseName);
-        bool createTables(QSqlDatabase &aDatabase);
-        bool execQuery(QSqlDatabase &aDatabase, const QString &aQuery);
+        static QString login(const QString &aDatabaseType, const QString &aDatabaseName);
+        static bool execQuery(QSqlDatabase &aDatabase, const QString &aQuery);
+        static bool execQueryWithParameter(QSqlDatabase &aDatabase, const QString &aQuery, const QHash<QString, QVariant>& params);
 };
 
 #endif /* SQLENGINE_H */