2 * Copyright (C) 2010 Ixonos Plc.
4 * This file is part of fosdem-schedule.
6 * fosdem-schedule is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the Free
8 * Software Foundation, either version 2 of the License, or (at your option)
11 * fosdem-schedule is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
16 * You should have received a copy of the GNU General Public License along with
17 * fosdem-schedule. If not, see <http://www.gnu.org/licenses/>.
27 class SqlEngine : public QObject
31 SqlEngine(QObject *aParent = NULL);
33 static void initialize();
34 static void addConferenceToDB(QHash<QString,QString> &aConference);
35 static void addEventToDB(QHash<QString,QString> &aEvent);
36 static void addPersonToDB(QHash<QString,QString> &aPerson);
37 static void addLinkToDB(QHash<QString,QString> &aLink);
38 static void addRoomToDB(QHash<QString,QString> &aRoom);
39 static void deleteConference(int id);
41 static bool beginTransaction();
42 static bool commitTransaction();
44 // search Events for ....
45 static int searchEvent(int conferenceId, const QHash<QString,QString> &columns, const QString &keyword);
47 static QString login(const QString &aDatabaseType, const QString &aDatabaseName);
48 static bool execQuery(QSqlDatabase &aDatabase, const QString &aQuery);
49 static bool execQueryWithParameter(QSqlDatabase &aDatabase, const QString &aQuery, const QHash<QString, QVariant>& params);
51 static void checkConferenceMap(QSqlDatabase &aDatabase);
54 #endif /* SQLENGINE_H */