8 #include <nx/sdk/analytics/i_plugin.h> 9 #include <nx/sdk/helpers/ref_countable.h> 10 #include <nx/sdk/i_utility_provider.h> 11 #include <nx/sdk/ptr.h> 24 using CreateEngine = std::function<IEngine*(Plugin* plugin)>;
35 Plugin(std::string pluginManifest, CreateEngine createEngine);
37 virtual ~
Plugin()
override;
54 virtual std::string manifestString()
const;
67 void logLifeCycleEvent(
const std::string& event)
const;
69 void logCreation()
const { logLifeCycleEvent(
"Created"); }
70 void logDestruction()
const { logLifeCycleEvent(
"Destroyed"); }
72 void logError(
const std::string& message)
const;
75 const std::string m_jsonManifest;
77 CreateEngine m_createEngineFunc;
78 Ptr<IUtilityProvider> m_utilityProvider;
virtual void setUtilityProvider(IUtilityProvider *utilityProvider) override
Definition: plugin.cpp:47
virtual std::string instanceId() const
Definition: plugin.h:44
Definition: consuming_device_agent.cpp:22
virtual Result< IEngine * > doObtainEngine()
Definition: plugin.cpp:39
Definition: i_utility_provider.h:78
Definition: ref_countable.h:83