/** * ide_editor_addin_find_by_module_name: * @editor: an #IdeEditorPerspective * @module_name: the module name of the addin * * This function allows locating an #IdeEditorAddin that is attached * to the #IdeEditorPerspective by the addin module name. The module name * should match the value specified in the ".plugin" module definition. * * Returns: (transfer none) (nullable): An #IdeEditorAddin or %NULL */ IdeEditorAddin * ide_editor_addin_find_by_module_name (IdeEditorPerspective *editor, const gchar *module_name) { PeasExtension *ret = NULL; PeasPluginInfo *plugin_info; g_return_val_if_fail (IDE_IS_EDITOR_PERSPECTIVE (editor), NULL); g_return_val_if_fail (module_name != NULL, NULL); plugin_info = peas_engine_get_plugin_info (peas_engine_get_default (), module_name); if (plugin_info != NULL) ret = peas_extension_set_get_extension (editor->addins, plugin_info); else g_warning ("No such module found \"%s\"", module_name); return ret ? IDE_EDITOR_ADDIN (ret) : NULL; }
/** * ide_frame_addin_find_by_module_name: * @frame: An #IdeFrame * @module_name: the module name which provides the addin * * This function will locate the #IdeFrameAddin that was registered by * the plugin named @module_name (which should match the "Module" field * provided in the .plugin file). * * If no module was found or that module does not implement the * #IdeFrameAddinInterface, then %NULL is returned. * * Returns: (transfer none) (nullable): An #IdeFrameAddin or %NULL * * Since: 3.32 */ IdeFrameAddin * ide_frame_addin_find_by_module_name (IdeFrame *frame, const gchar *module_name) { IdeFramePrivate *priv = ide_frame_get_instance_private (frame); PeasExtension *ret = NULL; PeasPluginInfo *plugin_info; g_return_val_if_fail (IDE_IS_FRAME (frame), NULL); g_return_val_if_fail (priv->addins != NULL, NULL); g_return_val_if_fail (module_name != NULL, NULL); plugin_info = peas_engine_get_plugin_info (peas_engine_get_default (), module_name); if (plugin_info != NULL) ret = peas_extension_set_get_extension (priv->addins, plugin_info); else g_warning ("No addin could be found matching module \"%s\"", module_name); return ret ? IDE_FRAME_ADDIN (ret) : NULL; }