#ifndef BRWIDGET_H #define BRWIDGET_H #include class BRProvider; class BRWidget : public QObject { Q_OBJECT public: enum BRFederation { IFSC, DAV, SAC }; Q_ENUM(BRFederation) enum BRWidgetStatusCode { Success = 200, InternalError = 900, NoProviderError = 901, NotImplementedError = 902 }; Q_ENUM(BRWidgetStatusCode) Q_INVOKABLE virtual BRWidget::BRWidgetStatusCode load() = 0; Q_INVOKABLE BRFederation getFederation() const; protected: explicit BRWidget(BRProvider* provider, BRFederation federation); BRProvider* getProvider(); template QList listToQmlList(QList list) { QList tmpList; for(T* item : list) tmpList.append(static_cast(item)); return tmpList; }; private: BRProvider* provider; const BRFederation federation; signals: }; #endif // BRWIDGET_H