This repository has been archived on 2026-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
powersync-app/nymea-app/platformhelper.h
2019-01-28 23:42:20 +01:00

41 lines
1.2 KiB
C++

#ifndef PLATFORMHELPER_H
#define PLATFORMHELPER_H
#include <QObject>
class PlatformHelper : public QObject
{
Q_OBJECT
Q_PROPERTY(bool hasPermissions READ hasPermissions NOTIFY permissionsRequestFinished)
Q_PROPERTY(QString deviceSerial READ deviceSerial CONSTANT)
Q_PROPERTY(QString deviceModel READ deviceModel CONSTANT)
Q_PROPERTY(QString deviceManufacturer READ deviceManufacturer CONSTANT)
Q_PROPERTY(QString machineHostname READ machineHostname CONSTANT)
public:
enum HapticsFeedback {
HapticsFeedbackSelection,
HapticsFeedbackImpact,
HapticsFeedbackNotification
};
Q_ENUM(HapticsFeedback)
explicit PlatformHelper(QObject *parent = nullptr);
virtual ~PlatformHelper() = default;
Q_INVOKABLE virtual void requestPermissions() = 0;
virtual bool hasPermissions() const = 0;
virtual QString machineHostname() const = 0;
virtual QString deviceSerial() const = 0;
virtual QString deviceModel() const = 0;
virtual QString deviceManufacturer() const = 0;
Q_INVOKABLE virtual void vibrate(HapticsFeedback feedbackType) = 0;
signals:
void permissionsRequestFinished();
};
#endif // PLATFORMHELPER_H