app/headers/brwidget.h
Dorian Zedler c44380d1bf
Many more implementations!
Calendar works now for VL and DR API
2020-11-03 15:56:43 +01:00

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