54 lines
1.7 KiB
C++
54 lines
1.7 KiB
C++
#ifndef ACTION_H
|
|
#define ACTION_H
|
|
|
|
#include "SDKDefines.h"
|
|
#include <QJsonObject>
|
|
#include <QString>
|
|
|
|
class ConnectionManager;
|
|
|
|
class Action
|
|
{
|
|
public:
|
|
Action(ConnectionManager *connection, const QString &action, const QString &context);
|
|
virtual ~Action();
|
|
|
|
// Get action information
|
|
QString GetAction() const;
|
|
QString GetContext() const;
|
|
|
|
protected:
|
|
// Get connection manager
|
|
ConnectionManager *GetConnectionManager() const;
|
|
|
|
public:
|
|
// Events Received
|
|
virtual void DidReceiveSettings(const QJsonObject &payload);
|
|
virtual void KeyDown(const QJsonObject &payload);
|
|
virtual void KeyUp(const QJsonObject &payload);
|
|
virtual void DialUp(const QJsonObject &payload);
|
|
virtual void DialDown(const QJsonObject &payload);
|
|
virtual void SendToPlugin(const QJsonObject &payload);
|
|
virtual void WillAppear(const QJsonObject &payload);
|
|
virtual void WillDisappear(const QJsonObject &payload);
|
|
virtual void RotateClockwise(const QJsonObject &payload, const unsigned int ticks, const bool pressed);
|
|
virtual void RotateCounterClockwise(const QJsonObject &payload, const unsigned int ticks, const bool pressed);
|
|
|
|
protected:
|
|
// Events Sent
|
|
void SetState(int state);
|
|
void SetTitle(const QString &title, mSDKTarget = mSDKTarget_HardwareAndSoftware, int state = -1);
|
|
void SetImage(const QString &inBase64ImageString, mSDKTarget = mSDKTarget_HardwareAndSoftware, int state = -1);
|
|
void ShowAlert();
|
|
void ShowOK();
|
|
void SetSettings(const QJsonObject &inPayload);
|
|
void SendToPropertyInspector(const QJsonObject &inPayload);
|
|
|
|
private:
|
|
QString mAction;
|
|
QString mContext;
|
|
ConnectionManager *mConnectionManager = nullptr;
|
|
};
|
|
|
|
#endif // ACTION_H
|