#ifndef GENERICCORE_H #define GENERICCORE_H #include class QUndoStack; class QAbstractItemModel; class QAbstractItemModelTester; class QString; class TableModel; class GeneralSortFilterModel; class GenericCore : public QObject { Q_OBJECT public: GenericCore(); ~GenericCore(); QString toString() const; void sayHello() const; bool isApplicationUpdateAvailable(); void triggerApplicationUpdate(const bool saveChanges); QUndoStack* getModelUndoStack() const; std::shared_ptr getModel() const; std::shared_ptr getSortFilterModel() const; void saveItems(); void importCSVFile(const QString& filePath); bool exportCSVFile(const QString& filePath); signals: void displayStatusMessage(QString message); private: QUndoStack* m_modelUndoStack; std::shared_ptr m_mainModel; std::shared_ptr m_sortFilterModel; std::unique_ptr m_mainModelTester; std::unique_ptr m_proxyModelTester; void setupModels(); void initModelData(); QString getMaintenanceToolFilePath() const; }; #endif // GENERICCORE_H