Started refactoring perl loader soc.2013.gobjectification.plugins

Wed, 18 Sep 2013 15:27:11 +0530

author
Ankit Vani <a@nevitus.org>
date
Wed, 18 Sep 2013 15:27:11 +0530
branch
soc.2013.gobjectification.plugins
changeset 36765
19adace8b7a9
parent 36764
90151831111f
child 36766
d7628b96df7e

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);

mercurial