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;
56 virtual std::string manifestString()
const;
69 void logLifeCycleEvent(
const std::string& event)
const;
71 void logCreation()
const { logLifeCycleEvent(
"Created"); }
72 void logDestruction()
const { logLifeCycleEvent(
"Destroyed"); }
74 void logError(
const std::string& message)
const;
77 const std::string m_jsonManifest;
79 CreateEngine m_createEngineFunc;
80 Ptr<IUtilityProvider> m_utilityProvider;
virtual void setUtilityProvider(IUtilityProvider *utilityProvider) override
Definition: plugin.cpp:49
virtual std::string instanceId() const
Definition: plugin.h:46
virtual Result< IEngine * > doObtainEngine()
Definition: plugin.cpp:41
Definition: i_utility_provider.h:61
Definition: apple_utils.h:6
Definition: ref_countable.h:84