Wed, 18 Sep 2013 15:27:11 +0530
Started refactoring perl loader
| libpurple/plugins/perl/Makefile.am | file | annotate | diff | comparison | revisions | |
| libpurple/plugins/perl/perl.c | file | annotate | diff | comparison | revisions |
--- a/libpurple/plugins/perl/Makefile.am Wed Sep 18 14:14:48 2013 +0530 +++ b/libpurple/plugins/perl/Makefile.am Wed Sep 18 15:27:11 2013 +0530 @@ -5,7 +5,7 @@ plugin_LTLIBRARIES = perl.la perl_la_LDFLAGS = -module -avoid-version -perl_la_LIBADD = $(GLIB_LIBS) $(PERL_LIBS) +perl_la_LIBADD = $(GLIB_LIBS) $(GPLUGIN_LIBS) $(PERL_LIBS) perl_la_SOURCES = \ perl.c \ perl-common.c \ @@ -167,6 +167,7 @@ -DLIBDIR=\"$(libdir)/purple-$(PURPLE_MAJOR_VERSION)\" \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) \ + $(GPLUGIN_CFLAGS) \ $(PLUGIN_CFLAGS) \ $(PERL_CFLAGS) \ -Wno-float-equal
--- a/libpurple/plugins/perl/perl.c Wed Sep 18 14:14:48 2013 +0530 +++ b/libpurple/plugins/perl/perl.c Wed Sep 18 15:27:11 2013 +0530 @@ -649,70 +649,52 @@ } } +static PurplePluginLoaderInfo loader_info = +{ + probe_perl_plugin, /**< probe */ + load_perl_plugin, /**< load */ + unload_perl_plugin, /**< unload */ + destroy_perl_plugin, /**< destroy */ +}; + +static GPluginPluginInfo * +plugin_query(GError **error) +{ + const gchar * const authors[] = { + "Christian Hammond <chipx86@gnupdate.org>", + NULL + }; + + return gplugin_plugin_info_new( + "id", PERL_PLUGIN_ID, + "name", N_("Perl Plugin Loader"), + "version", DISPLAY_VERSION, + "category", N_("Loader"), + "summary", N_("Provides support for loading perl plugins."), + "description", N_("Provides support for loading perl plugins."), + "authors", authors, + "website", PURPLE_WEBSITE, + "abi-version", PURPLE_ABI_VERSION, + "internal", TRUE, + "load-on-query", TRUE, + NULL + ); +} + static gboolean -plugin_load(PurplePlugin *plugin) +plugin_load(PurplePlugin *plugin, GError **error) { return TRUE; } static gboolean -plugin_unload(PurplePlugin *plugin) +plugin_unload(PurplePlugin *plugin, GError **error) { perl_end(); return TRUE; } -static PurplePluginLoaderInfo loader_info = -{ - NULL, /**< exts */ - probe_perl_plugin, /**< probe */ - load_perl_plugin, /**< load */ - unload_perl_plugin, /**< unload */ - destroy_perl_plugin, /**< destroy */ - - /* padding */ - NULL, - NULL, - NULL, - NULL -}; - -static PurplePluginInfo info = -{ - PURPLE_PLUGIN_MAGIC, - PURPLE_MAJOR_VERSION, - PURPLE_MINOR_VERSION, - PURPLE_PLUGIN_LOADER, /**< type */ - NULL, /**< ui_requirement */ - 0, /**< flags */ - NULL, /**< dependencies */ - PURPLE_PRIORITY_DEFAULT, /**< priority */ - - PERL_PLUGIN_ID, /**< id */ - N_("Perl Plugin Loader"), /**< name */ - DISPLAY_VERSION, /**< version */ - N_("Provides support for loading perl plugins."), /**< summary */ - N_("Provides support for loading perl plugins."), /**< description */ - "Christian Hammond <chipx86@gnupdate.org>", /**< author */ - PURPLE_WEBSITE, /**< homepage */ - - plugin_load, /**< load */ - plugin_unload, /**< unload */ - NULL, /**< destroy */ - - NULL, /**< ui_info */ - &loader_info, /**< extra_info */ - NULL, - NULL, - - /* padding */ - NULL, - NULL, - NULL, - NULL -}; - static void init_plugin(PurplePlugin *plugin) { @@ -738,4 +720,4 @@ g_module_open("perl.so", 0); } -PURPLE_INIT_PLUGIN(perl, init_plugin, info) +PURPLE_PLUGIN_INIT(perl, plugin_query, plugin_load, plugin_unload);