/* * Copyright (C) 2010 Ixonos Plc. * Copyright (C) 2011-2012 Philipp Spitzer, gregor herrmann, Stefan Stahl * * This file is part of ConfClerk. * * ConfClerk 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. * * ConfClerk 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 * ConfClerk. If not, see . */ #ifndef SQLENGINE_H #define SQLENGINE_H #include #include class QSqlDatabase; class SqlEngine : public QObject { Q_OBJECT public: SqlEngine(QObject *aParent = NULL); ~SqlEngine(); static void initialize(); // if a conferneceId != 0 is given, the confernece is updated instead of inserted. static void addConferenceToDB(QHash &aConference, int conferenceId); static void addEventToDB(QHash &aEvent); static void addPersonToDB(QHash &aPerson); static void addLinkToDB(QHash &aLink); static void addRoomToDB(QHash &aRoom); static void deleteConference(int id); static bool beginTransaction(); static bool commitTransaction(); // search Events for .... static int searchEvent(int conferenceId, const QHash &columns, const QString &keyword); private: 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& params); }; #endif /* SQLENGINE_H */