#include #include #include class IBackend :public QThread { Q_OBJECT public: virtual ~IBackend() = default; virtual void init(SQLiteDB* ,qtFuncBridge*,nlohmann::ordered_json& json) = 0; virtual void cleanup() = 0; virtual bool excuteCliCommand(const QString& command) = 0; virtual bool excuteCliCommandPreset(const QString& uuid) = 0; virtual void triggerAndCaptureImage(std::string cameraName, std::vector* mats) = 0; }; extern "C" { __declspec(dllexport) IBackend* CreateBackend(); __declspec(dllexport) void ReleaseBackend(IBackend* backend); } typedef IBackend* (*CreateBackendFunc)(); typedef void (*ReleaseBackendFunc)(IBackend*); #pragma once