5 #include <editor/UnigineEditorGlobal.h> 7 #include <UnigineString.h> 9 #include <QPluginLoader> 14 namespace UnigineEditor
18 class PluginInfoPrivate;
19 class PluginManagerPrivate;
23 namespace UnigineEditor
38 Type type = Type::REQUIRED;
74 const char *name()
const;
76 const char *version()
const;
78 const char *vendor()
const;
80 const char *description()
const;
82 const char *compatibleVersion()
const;
84 Unigine::Vector<PluginDependency> dependencies()
const;
87 const char *absoluteFilePath()
const;
92 bool hasError()
const;
94 const char *errorString()
const;
103 bool isInstanceOf(
const char *name,
const char *version)
const;
109 ::UnigineEditor::PluginInfoPrivate *
const d;
111 friend class ::UnigineEditor::PluginManagerPrivate;
121 template<
typename Type>
127 using HashType =
unsigned int;
128 UNIGINE_INLINE
static HashType create(const ::UnigineEditor::PluginDependency &v)
130 return ::Unigine::Hasher<::Unigine::String>::create(v.name);
Unigine::String version
Plugin version.
Definition: UniginePluginInfo.h:42
This class is used for plugin interface implementation when creating Editor plugins....
Definition: UniginePlugin.h:17
Unigine::String name
Plugin name.
Definition: UniginePluginInfo.h:40
Type
Plugin type. Defines whether the plugin is a required or an optional one.
Definition: UniginePluginInfo.h:30
Defines dependency on a plugin.
Definition: UniginePluginInfo.h:27
This class it is responsible for plugin loading/unloading and contains all necessary plugin metadata ...
Definition: UniginePluginInfo.h:48
State
Current plugin state.
Definition: UniginePluginInfo.h:52