55 lines
983 B
C++
55 lines
983 B
C++
#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
|
|
};
|
|
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<typename T>
|
|
QList<QObject*> listToQmlList(QList<T*> list) {
|
|
QList<QObject*> tmpList;
|
|
|
|
for(T* item : list)
|
|
tmpList.append(static_cast<QObject*>(item));
|
|
|
|
return tmpList;
|
|
};
|
|
|
|
private:
|
|
BRProvider* provider;
|
|
const BRFederation federation;
|
|
|
|
signals:
|
|
|
|
};
|
|
|
|
#endif // BRWIDGET_H
|