app/headers/brwidget.h

58 lines
1.1 KiB
C
Raw Normal View History

2020-10-31 15:16:06 +01:00
#ifndef BRWIDGET_H
#define BRWIDGET_H
#include <QObject>
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,
OpeationNotSupportedError = 903
2020-10-31 15:16:06 +01:00
};
Q_ENUM(BRWidgetStatusCode)
Q_INVOKABLE virtual BRWidget::BRWidgetStatusCode load() = 0;
Q_INVOKABLE BRFederation getFederation() const;
Q_INVOKABLE int getId() const;
2020-10-31 15:16:06 +01:00
protected:
explicit BRWidget(BRProvider* provider, BRFederation federation, int id);
2020-10-31 15:16:06 +01:00
BRProvider* getProvider();
template<typename T>
QList<QObject*> listToQmlList(QList<T*> list) {
QList<QObject*> tmpList;
for(T* item : list)
tmpList.append(static_cast<QObject*>(item));
return tmpList;
};
2020-10-31 15:16:06 +01:00
private:
BRProvider* provider;
const BRFederation federation;
const int id;
2020-10-31 15:16:06 +01:00
signals:
};
#endif // BRWIDGET_H