Maki
Formally verfied low-code orchestration
Loading...
Searching...
No Matches
host_services.h
1#pragma once
2
3#include <QObject>
4
5#include "focus_properties.h"
6#include "ihost_services.h"
7
8namespace maki
9{
10class IPipeline;
11class ISettings;
12class ILogging;
13class IUI;
14} // namespace maki
15
16class IDocument;
17
21class HostServices : public QObject, public maki::IHostServices
22{
23 Q_OBJECT
24public:
34 HostServices(std::shared_ptr<IDocument> document, maki::IPipeline* pipeline, maki::ISettings* settings, const QString& root,
35 QObject* parent = nullptr);
36
42 void setPluginTab(maki::IUI* tab);
43
49 void setLogger(maki::ILogging* logger);
50
56 IDocument* document() const override;
57
63 maki::ISettings* settings() const override;
64
70 maki::IPipeline* pipeline() const override;
71
77 QString projectRoot() const override;
78
79 void errorOnNode(const QString& nodeId, const QString& flowId, const QString& message) override;
80 void simulateOnNode(const QString& nodeId, const QString& flowId, maki::SimulationProperties properties) override;
81
87 maki::IUI* ui() const override;
88
94 maki::ILogging* logger() const override;
95
96signals:
97 void onFocusOnNode(const QString& nodeId, const QString& flowId, const maki::FocusProperties& properties);
98
99private:
100 std::shared_ptr<IDocument> mDocument;
101 maki::IPipeline* mPipeline;
102 maki::ISettings* mSettings;
103 maki::IUI* mPluginTab;
104 maki::ILogging* mLogger;
105
106 QString mRoot;
107};
maki::IUI * mPluginTab
Pointer to the settings.
Definition host_services.h:103
IDocument * document() const override
Returns the document.
Definition host_services.cpp:29
QString mRoot
Pointer to the logger.
Definition host_services.h:106
void setLogger(maki::ILogging *logger)
Sets the logger.
Definition host_services.cpp:24
maki::IPipeline * mPipeline
Shared pointer to the document.
Definition host_services.h:101
void setPluginTab(maki::IUI *tab)
Sets the plugin tab.
Definition host_services.cpp:19
HostServices(std::shared_ptr< IDocument > document, maki::IPipeline *pipeline, maki::ISettings *settings, const QString &root, QObject *parent=nullptr)
Constructs a new HostServices object.
Definition host_services.cpp:8
maki::ILogging * logger() const override
Returns the logger.
Definition host_services.cpp:54
maki::ILogging * mLogger
Pointer to the plugin tab.
Definition host_services.h:104
QString projectRoot() const override
Returns the project root directory.
Definition host_services.cpp:49
maki::IUI * ui() const override
Returns the plugin tab.
Definition host_services.cpp:44
maki::ISettings * settings() const override
Returns the settings.
Definition host_services.cpp:34
maki::ISettings * mSettings
Pointer to the pipeline.
Definition host_services.h:102
maki::IPipeline * pipeline() const override
Returns the pipeline.
Definition host_services.cpp:39
Contains UI helper widgets and layout grouping utilities used by MAKI.
Definition generator.h:10
Definition focus_properties.h:17