75 lines
2.9 KiB
C++
75 lines
2.9 KiB
C++
#ifndef PLUGIN_H
|
|
#define PLUGIN_H
|
|
|
|
#include "BasePlugin.h"
|
|
#include <QJsonObject>
|
|
#include <QString>
|
|
|
|
class Action;
|
|
|
|
class Plugin : public BasePlugin
|
|
{
|
|
protected:
|
|
/**
|
|
* Create or retrieve an Action instance for the given action/context.
|
|
*
|
|
* Return a null/empty ptr if the action is unrecognized.
|
|
*/
|
|
virtual Action *GetOrCreateAction(const QString &action, const QString &context) = 0;
|
|
/**
|
|
* Remove an Action instance for the given action/context.
|
|
*/
|
|
virtual bool RemoveAction(const QString &action, const QString &context) = 0;
|
|
|
|
public:
|
|
Plugin();
|
|
virtual ~Plugin();
|
|
|
|
virtual void KeyDownForAction(const QString &inAction,
|
|
const QString &inContext,
|
|
const QJsonObject &inPayload,
|
|
const QString &inDeviceID) override;
|
|
|
|
virtual void KeyUpForAction(const QString &inAction,
|
|
const QString &inContext,
|
|
const QJsonObject &inPayload,
|
|
const QString &inDeviceID) override;
|
|
|
|
virtual void DialDownForAction(const QString &inAction,
|
|
const QString &inContext,
|
|
const QJsonObject &inPayload,
|
|
const QString &inDeviceID) override;
|
|
|
|
virtual void DialUpForAction(const QString &inAction,
|
|
const QString &inContext,
|
|
const QJsonObject &inPayload,
|
|
const QString &inDeviceID) override;
|
|
|
|
virtual void DialRotateForAction(const QString &inAction,
|
|
const QString &inContext,
|
|
const QJsonObject &inPayload,
|
|
const QString &inDeviceID) override;
|
|
|
|
virtual void WillAppearForAction(const QString &inAction,
|
|
const QString &inContext,
|
|
const QJsonObject &inPayload,
|
|
const QString &inDeviceID) override;
|
|
|
|
virtual void WillDisappearForAction(const QString &inAction,
|
|
const QString &inContext,
|
|
const QJsonObject &inPayload,
|
|
const QString &inDeviceID) override;
|
|
|
|
virtual void SendToPlugin(const QString &inAction,
|
|
const QString &inContext,
|
|
const QJsonObject &inPayload,
|
|
const QString &inDevice) override;
|
|
|
|
virtual void DidReceiveSettings(const QString &inAction,
|
|
const QString &inContext,
|
|
const QJsonObject &inPayload,
|
|
const QString &inDevice) override;
|
|
};
|
|
|
|
#endif // PLUGIN_H
|