* Copyright (C) 2011-2020 Gary Kramlich <grim@reaperworld.com> * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, see <https://www.gnu.org/licenses/>. #include <gplugin-native.h> #include "gplugin-perl5-loader.h" #include "gplugin-perl5-plugin.h" #include <glib/gi18n-lib.h> static GPluginLoader *loader = NULL; static GPluginPluginInfo * gplugin_perl5_query(G_GNUC_UNUSED GError **error) const gchar *const authors[] = { "Gary Kramlich <grim@reaperworld.com>", return gplugin_plugin_info_new( GPLUGIN_NATIVE_PLUGIN_ABI_VERSION, "name", "Perl5 Plugin Loader", "version", GPLUGIN_VERSION, "license-id", "LGPL-2.0-or-later", "summary", "A plugin that can load perl plugins", "description", "This plugin allows the loading of plugins written in " "the perl programming language.", "website", GPLUGIN_WEBSITE, gplugin_perl5_load(GPluginPlugin *plugin, GError **error) GPluginManager *manager = NULL; manager = gplugin_manager_get_default(); gplugin_perl_plugin_register(G_TYPE_MODULE(plugin)); gplugin_perl_loader_register(G_TYPE_MODULE(plugin)); loader = gplugin_perl_loader_new(); if(!gplugin_manager_register_loader(manager, loader, error)) { G_GNUC_UNUSED GPluginPlugin *plugin, GPluginManager *manager = NULL; _("The Perl5 loader can not be unloaded")); manager = gplugin_manager_get_default(); ret = gplugin_manager_unregister_loader(manager, loader, error); GPLUGIN_NATIVE_PLUGIN_DECLARE(gplugin_perl5)