#ifndef ABSTRACTMODEL_H #define ABSTRACTMODEL_H #include #include class BeerService; class AbstractModel : public QObject { Q_OBJECT Q_PROPERTY(QString entity READ entity CONSTANT) public: explicit AbstractModel(QObject *parent = nullptr); virtual QString entity() const = 0; 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(); protected: BeerService *service() const; QVariantMap m_data; }; #endif // ABSTRACTMODEL_H