1 | /* |
---|
2 | * Copyright (C) 2010 Ixonos Plc. |
---|
3 | * |
---|
4 | * This file is part of fosdem-schedule. |
---|
5 | * |
---|
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) |
---|
9 | * any later version. |
---|
10 | * |
---|
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 |
---|
14 | * more details. |
---|
15 | * |
---|
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/>. |
---|
18 | */ |
---|
19 | #ifndef SQLENGINE_H |
---|
20 | #define SQLENGINE_H |
---|
21 | |
---|
22 | #include <QObject> |
---|
23 | #include <QHash> |
---|
24 | |
---|
25 | class QSqlDatabase; |
---|
26 | |
---|
27 | class SqlEngine : public QObject |
---|
28 | { |
---|
29 | Q_OBJECT |
---|
30 | public: |
---|
31 | SqlEngine(QObject *aParent = NULL); |
---|
32 | ~SqlEngine(); |
---|
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); |
---|
40 | |
---|
41 | static bool beginTransaction(); |
---|
42 | static bool commitTransaction(); |
---|
43 | |
---|
44 | // search Events for .... |
---|
45 | static int searchEvent(int conferenceId, const QHash<QString,QString> &columns, const QString &keyword); |
---|
46 | private: |
---|
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); |
---|
50 | }; |
---|
51 | |
---|
52 | #endif /* SQLENGINE_H */ |
---|
53 | |
---|