7 #include <nx/sdk/helpers/ref_countable.h> 8 #include <nx/sdk/uuid.h> 9 #include <nx/sdk/helpers/log_utils.h> 10 #include <nx/sdk/i_string_map.h> 11 #include <nx/sdk/analytics/i_engine.h> 41 const std::string& printPrefix =
"");
43 virtual std::string manifest()
const = 0;
73 const std::map<std::string, std::string>& ,
85 nx::sdk::IPluginEvent::Level level,
87 std::string description);
93 template<
typename DerivedPlugin>
96 const auto plugin =
dynamic_cast<DerivedPlugin*
>(m_plugin);
97 assertPluginCasted(plugin);
104 virtual ~
Engine()
override;
106 virtual IPlugin* plugin()
const override {
return m_plugin; }
114 virtual const IString* manifest(Error* error)
const override;
116 virtual void executeAction(IAction* action, Error* outError)
override;
117 virtual nx::sdk::Error setHandler(IEngine::IHandler* handler)
override;
121 void assertPluginCasted(
void* plugin)
const;
124 mutable std::mutex m_mutex;
125 IPlugin*
const m_plugin;
126 std::map<std::string, std::string> m_settings;
127 IEngine::IHandler* m_handler =
nullptr;
Definition: i_string_map.h:8
virtual void settingsReceived()
Definition: engine.h:49
Definition: i_plugin.h:17
DerivedPlugin * pluginCasted()
Definition: engine.h:94
Definition: i_device_info.h:12
Definition: i_plugin.h:17
Definition: log_utils.h:24
std::string getParamValue(const char *paramName)
Definition: engine.cpp:52
Engine(IPlugin *plugin, bool enableOutput, const std::string &printPrefix="")
Definition: engine.cpp:41
void pushPluginEvent(nx::sdk::IPluginEvent::Level level, std::string caption, std::string description)
Definition: engine.cpp:59
Definition: i_engine.h:35
virtual void executeAction(const std::string &, Uuid, Uuid, int64_t, const std::map< std::string, std::string > &, std::string *, std::string *, Error *)
Definition: engine.h:68
Definition: ref_countable.h:79