5 #include <editor/EditorGlobal.h> 7 #include <UnigineString.h> 9 #include <QPluginLoader> 19 class PluginInfoPrivate;
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 PluginInfoPrivate *d;
111 friend class PluginManagerPrivate;
122 template<
typename Type>
128 using HashType =
unsigned int;
129 UNIGINE_INLINE
static HashType create(const ::Editor::PluginDependency &v)
131 return ::Unigine::Hasher<::Unigine::String>::create(v.name);
State
Current plugin state.
Definition: PluginInfo.h:52
Unigine::String version
Plugin version.
Definition: PluginInfo.h:42
Unigine::String name
Plugin name.
Definition: PluginInfo.h:40
This class it is responsible for plugin loading/unloading and contains all necessary plugin metadata ...
Definition: PluginInfo.h:48
Defines dependency on a plugin.
Definition: PluginInfo.h:27
This class is used for plugin interface implementation when creating Editor plugins....
Definition: Plugin.h:17
Type
Plugin type. Defines whether the plugin is a required or an optional one.
Definition: PluginInfo.h:30