33 lines
953 B
C
Raw Normal View History

2025-12-17 10:55:13 +01:00
#ifndef UNTITLED_LIBRARY_H
#define UNTITLED_LIBRARY_H
#include <core/interface.h>
2025-12-18 11:47:59 +01:00
#ifdef __cplusplus
extern "C" {
#endif
2025-12-17 10:55:13 +01:00
#include <libnomos.h>
2025-12-18 11:47:59 +01:00
#ifdef __cplusplus
} // extern "C"
#endif
2025-12-17 10:55:13 +01:00
class LogosBlockchainModuleAPI: public PluginInterface {
private:
NomosNode* node;
public:
virtual ~LogosBlockchainModuleAPI() {}
// Public API methods - must be Q_INVOKABLE for remote access
Q_INVOKABLE virtual void start(const QString& config_path) = 0;
Q_INVOKABLE virtual void stop() = 0;
Q_INVOKABLE void initLogos(LogosAPI* logosAPIInstance);
signals:
// Required for event forwarding between modules
void eventResponse(const QString &eventName, const QVariantList &data);
};
// Register interface with Qt's meta-object system
#define LogosBlockchainModuleInterface_iid "org.logos.blockchaininterface"
Q_DECLARE_INTERFACE(LogosBlockchainModuleAPI, LogosBlockchainModuleInterface_iid)
#endif // UNTITLED_LIBRARY_H