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-core/libnymea/experiences/experienceplugin.h
2019-11-01 20:55:45 +01:00

37 lines
740 B
C++

#ifndef EXPERIENCEPLUGIN_H
#define EXPERIENCEPLUGIN_H
#include <QObject>
class DeviceManager;
class JsonRPCServer;
namespace nymeaserver {
class ExperienceManager;
}
class ExperiencePlugin : public QObject
{
Q_OBJECT
public:
explicit ExperiencePlugin(QObject *parent = nullptr);
virtual void init() = 0;
protected:
DeviceManager* deviceManager();
JsonRPCServer* jsonRpcServer();
private:
friend class nymeaserver::ExperienceManager;
void initPlugin(DeviceManager *deviceManager, JsonRPCServer *jsonRPCServer);
DeviceManager *m_deviceManager = nullptr;
JsonRPCServer *m_jsonRpcServer = nullptr;
};
Q_DECLARE_INTERFACE(ExperiencePlugin, "io.nymea.ExperiencePlugin")
#endif // EXPERIENCEPLUGIN_H