44 lines
976 B
C++
44 lines
976 B
C++
#ifndef BASEMODEL_H
|
|
#define BASEMODEL_H
|
|
|
|
#include <QObject>
|
|
#include <QVariantMap>
|
|
|
|
class BeerService;
|
|
class BaseModel : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
Q_PROPERTY(QString entity READ entity CONSTANT)
|
|
|
|
public:
|
|
explicit BaseModel(const QString &entity, QObject *parent = nullptr);
|
|
virtual ~BaseModel();
|
|
|
|
QString entity() const;
|
|
|
|
QVariantList items() const;
|
|
QVariantMap item(const QString &itemId) const;
|
|
QVariant itemProperty(const QString &itemId, const QString &propertyName, const QVariant &def = QVariant{}) const;
|
|
|
|
void submitItem(const QVariantMap &item) const;
|
|
void deleteItem(const QString &itemId) const;
|
|
|
|
public slots:
|
|
void created(const QVariant &data);
|
|
void modified(const QVariant &data);
|
|
void deleted(const QVariant &data);
|
|
void received(const QVariant &data);
|
|
|
|
signals:
|
|
void dataChanged();
|
|
|
|
private:
|
|
BeerService *service() const;
|
|
|
|
QVariantMap m_data;
|
|
QString m_entity;
|
|
};
|
|
|
|
#endif // BASEMODEL_H
|