fix typo in comment
[toast/confclerk.git] / src / sql / sqlengine.h
1 /*
2  * Copyright (C) 2010 Ixonos Plc.
3  * Copyright (C) 2011-2012 Philipp Spitzer, gregor herrmann, Stefan Stahl
4  *
5  * This file is part of ConfClerk.
6  *
7  * ConfClerk is free software: you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by the Free
9  * Software Foundation, either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * ConfClerk is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
15  * more details.
16  *
17  * You should have received a copy of the GNU General Public License along with
18  * ConfClerk.  If not, see <http://www.gnu.org/licenses/>.
19  */
20 #ifndef SQLENGINE_H
21 #define SQLENGINE_H
22
23 #include <QObject>
24 #include <QHash>
25
26 class QSqlDatabase;
27
28 class SqlEngine : public QObject
29 {
30     Q_OBJECT
31     public:
32         SqlEngine(QObject *aParent = NULL);
33         ~SqlEngine();
34         static void initialize();
35         // if a conferenceId != 0 is given, the confernece is updated instead of inserted.
36         static void addConferenceToDB(QHash<QString,QString> &aConference, int conferenceId);
37         static void addEventToDB(QHash<QString,QString> &aEvent);
38         static void addPersonToDB(QHash<QString,QString> &aPerson);
39         static void addLinkToDB(QHash<QString,QString> &aLink);
40         static void addRoomToDB(QHash<QString,QString> &aRoom);
41         static void deleteConference(int id);
42
43         static bool beginTransaction();
44         static bool commitTransaction();
45
46         // search Events for ....
47         static int searchEvent(int conferenceId, const QHash<QString,QString> &columns, const QString &keyword);
48     private:
49         static QString login(const QString &aDatabaseType, const QString &aDatabaseName);
50         static bool execQuery(QSqlDatabase &aDatabase, const QString &aQuery);
51         static bool execQueryWithParameter(QSqlDatabase &aDatabase, const QString &aQuery, const QHash<QString, QVariant>& params);
52 };
53
54 #endif /* SQLENGINE_H */
55