You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
229 lines
2.9 KiB
C++
229 lines
2.9 KiB
C++
#ifndef CSQLITEPLUGIN_H
|
|
#define CSQLITEPLUGIN_H
|
|
|
|
|
|
#include "cdbinterface.h"
|
|
|
|
#include <QtCore>
|
|
#include <QObject>
|
|
#include <QString>
|
|
#include <QSqlDatabase>
|
|
|
|
|
|
/*!
|
|
\brief
|
|
|
|
*/
|
|
class cSQLitePlugin : public QObject, public cDBInterface
|
|
{
|
|
Q_OBJECT
|
|
Q_PLUGIN_METADATA(IID "cSQLitePlugin" FILE "dSQLite.json")
|
|
Q_INTERFACES(cDBInterface)
|
|
|
|
public:
|
|
/*!
|
|
\brief
|
|
|
|
\return qint16
|
|
*/
|
|
qint16 pluginAPIVersion() { return(1); }
|
|
/*!
|
|
\brief
|
|
|
|
\return QString
|
|
*/
|
|
QString pluginName() { return("SQLite DB"); }
|
|
/*!
|
|
\brief
|
|
|
|
\return qint16
|
|
*/
|
|
qint16 pluginVersion() { return(1); }
|
|
/*!
|
|
\brief
|
|
|
|
\return iType
|
|
*/
|
|
iType pluginType() { return(cInterface::iTypeDB); }
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\return bool
|
|
*/
|
|
bool connect();
|
|
/*!
|
|
\brief
|
|
|
|
\return bool
|
|
*/
|
|
bool init();
|
|
/*!
|
|
\brief
|
|
|
|
\return QString
|
|
*/
|
|
QString lastError();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\return bool
|
|
*/
|
|
bool config();
|
|
|
|
qint32 exists(const QString& szName, const QString& szGroup);
|
|
/*!
|
|
\brief
|
|
|
|
\param szGroup
|
|
\return qint32
|
|
*/
|
|
qint32 existsGroup(const QString& szGroup);
|
|
/*!
|
|
\brief
|
|
|
|
\param id
|
|
\param ingredientNumber
|
|
\return qint32
|
|
*/
|
|
qint32 existsIngredient(qint32 id, qint16 ingredientNumber);
|
|
/*!
|
|
\brief
|
|
|
|
\param szName
|
|
\param szGroup
|
|
\return qint32
|
|
*/
|
|
qint32 create(const QString& szName, const QString &szGroup);
|
|
/*!
|
|
\brief
|
|
|
|
\param szGroup
|
|
\return qint32
|
|
*/
|
|
qint32 createGroup(const QString& szGroup);
|
|
/*!
|
|
\brief
|
|
|
|
\param id
|
|
\return bool
|
|
*/
|
|
bool deleteIngredient(qint32 id);
|
|
/*!
|
|
\brief
|
|
|
|
\param id
|
|
\param ingredientNumber
|
|
\param value
|
|
\return bool
|
|
*/
|
|
bool set(qint32 id, qint16 ingredientNumber, qreal value);
|
|
/*!
|
|
\brief
|
|
|
|
\param id
|
|
\param szName
|
|
\return bool
|
|
*/
|
|
bool setName(qint32 id, const QString& szName);
|
|
/*!
|
|
\brief
|
|
|
|
\param id
|
|
\param szGroup
|
|
\return bool
|
|
*/
|
|
bool setGroup(qint32 id, const QString& szGroup);
|
|
/*!
|
|
\brief
|
|
|
|
\param id
|
|
\return QString
|
|
*/
|
|
QString name(qint32 id);
|
|
/*!
|
|
\brief
|
|
|
|
\param id
|
|
\return QString
|
|
*/
|
|
QString group(qint32 id);
|
|
/*!
|
|
\brief
|
|
|
|
\param id
|
|
\param ingredientNumber
|
|
\return qreal
|
|
*/
|
|
qreal get(qint32 id, qint16 ingredientNumber);
|
|
/*!
|
|
\brief
|
|
|
|
\return INGREDIENT_LIST
|
|
*/
|
|
INGREDIENT_LIST ingredients();
|
|
/*!
|
|
\brief
|
|
|
|
\return QStringList
|
|
*/
|
|
QStringList groups();
|
|
/*!
|
|
\brief
|
|
|
|
\return bool
|
|
*/
|
|
bool beginTransaction();
|
|
/*!
|
|
\brief
|
|
|
|
\return bool
|
|
*/
|
|
bool endTransaction();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\return QString
|
|
*/
|
|
QString author();
|
|
/*!
|
|
\brief
|
|
|
|
\return QString
|
|
*/
|
|
QString company();
|
|
/*!
|
|
\brief
|
|
|
|
\return QString
|
|
*/
|
|
QString link();
|
|
/*!
|
|
\brief
|
|
|
|
\return QString
|
|
*/
|
|
QString description();
|
|
/*!
|
|
\brief
|
|
|
|
\return QString
|
|
*/
|
|
QString copyright();
|
|
|
|
protected:
|
|
/*!
|
|
\brief
|
|
|
|
\return bool
|
|
*/
|
|
bool open();
|
|
|
|
QSqlDatabase m_db; /*!< TODO: describe */
|
|
QString m_szLastError; /*!< TODO: describe */
|
|
};
|
|
|
|
#endif // CSQLITEPLUGIN_H
|