76 lines
2.8 KiB
C++

#ifndef BASEPLUGIN_H
#define BASEPLUGIN_H
#include <QJsonObject>
#include <QString>
class ConnectionManager;
class BasePlugin
{
public:
BasePlugin();
virtual ~BasePlugin();
void SetConnectionManager(ConnectionManager *inConnectionManager);
virtual void DidReceiveGlobalSettings(const QJsonObject &inPayload);
virtual void DidReceiveSettings(const QString &inAction,
const QString &inContext,
const QJsonObject &inPayload,
const QString &inDeviceID);
virtual void KeyDownForAction(const QString &inAction,
const QString &inContext,
const QJsonObject &inPayload,
const QString &inDeviceID);
virtual void KeyUpForAction(const QString &inAction,
const QString &inContext,
const QJsonObject &inPayload,
const QString &inDeviceID);
virtual void DialDownForAction(const QString &inAction,
const QString &inContext,
const QJsonObject &inPayload,
const QString &inDeviceID);
virtual void DialUpForAction(const QString &inAction,
const QString &inContext,
const QJsonObject &inPayload,
const QString &inDeviceID);
virtual void DialRotateForAction(const QString &inAction,
const QString &inContext,
const QJsonObject &inPayload,
const QString &inDeviceID);
virtual void WillAppearForAction(const QString &inAction,
const QString &inContext,
const QJsonObject &inPayload,
const QString &inDeviceID);
virtual void WillDisappearForAction(const QString &inAction,
const QString &inContext,
const QJsonObject &inPayload,
const QString &inDeviceID);
virtual void DeviceDidConnect(const QString &inDeviceID,
const QJsonObject &inDeviceInfo);
virtual void DeviceDidDisconnect(const QString &inDeviceID);
virtual void SystemDidWakeUp();
virtual void SendToPlugin(const QString &inAction,
const QString &inContext,
const QJsonObject &inPayload,
const QString &inDeviceID);
protected:
ConnectionManager *mConnectionManager = nullptr;
};
#endif // BASEPLUGIN_H