8 #include <nx/sdk/i_utility_provider.h> 9 #include <nx/sdk/analytics/i_plugin.h> 10 #include <nx/sdk/helpers/ref_countable.h> 11 #include <nx/sdk/ptr.h> 26 using CreateEngine = std::function<IEngine*(Plugin* plugin)>;
37 Plugin(std::string pluginManifest, CreateEngine createEngine);
39 virtual ~
Plugin()
override;
51 virtual std::string manifestString()
const;
64 void logLifeCycleEvent(
const std::string& event)
const;
66 void logCreation()
const { logLifeCycleEvent(
"Created"); }
67 void logDestruction()
const { logLifeCycleEvent(
"Destroyed"); }
69 void logError(
const std::string& message)
const;
72 const std::string m_jsonManifest;
74 CreateEngine m_createEngineFunc;
virtual void setUtilityProvider(IUtilityProvider *utilityProvider) override
Definition: plugin.cpp:49
virtual Result< IEngine * > doObtainEngine()
Definition: plugin.cpp:41
Definition: i_utility_provider.h:40
Definition: apple_utils.h:6
Definition: ref_countable.h:84