libpurple/plugins.c

branch
soc.2013.gobjectification.plugins
changeset 36439
7f8921ef1bfc
parent 36437
47a24c360401
child 36441
f50c47e1c469
--- a/libpurple/plugins.c	Sat Aug 03 21:42:55 2013 +0530
+++ b/libpurple/plugins.c	Sat Aug 03 22:08:33 2013 +0530
@@ -69,24 +69,21 @@
 gboolean
 purple_plugin_load(PurplePlugin *plugin)
 {
-	PurplePluginInfo *info;
 	GError *error = NULL;
 
 	g_return_val_if_fail(plugin != NULL, FALSE);
 
-	info = purple_plugin_get_info(plugin);
-
 	if (purple_plugin_is_loaded(plugin))
 		return TRUE;
 
-	if (!info) {
+	if (!purple_plugin_get_info(plugin)) {
 		purple_debug_error("plugins",
 				"Failed to load plugin %s: Plugin does not return a PluginInfo",
 				purple_plugin_get_filename(plugin));
 		return FALSE;
 	}
 
-	if (!purple_plugin_info_is_loadable(info))
+	if (!purple_plugin_is_loadable(plugin))
 		return FALSE;
 
 	if (!gplugin_plugin_manager_load_plugin(plugin, &error)) {
@@ -167,6 +164,15 @@
 }
 
 void
+purple_plugin_disable(PurplePlugin *plugin)
+{
+	g_return_if_fail(plugin != NULL);
+
+	if (!g_list_find(plugins_to_disable, plugin))
+		plugins_to_disable = g_list_prepend(plugins_to_disable, plugin);
+}
+
+void
 purple_plugin_add_action(PurplePlugin *plugin, const char* label,
                          PurplePluginActionCallback callback)
 {
@@ -187,13 +193,59 @@
 	priv->actions = g_list_append(priv->actions, action);
 }
 
-void
-purple_plugin_disable(PurplePlugin *plugin)
+GList *
+purple_plugin_get_actions(const PurplePlugin *plugin)
+{
+	PurplePluginInfo *info;
+	PurplePluginInfoPrivate *priv;
+
+	g_return_val_if_fail(plugin != NULL, NULL);
+
+	info = purple_plugin_get_info(plugin);
+	priv = PURPLE_PLUGIN_INFO_GET_PRIVATE(info);
+
+	g_return_val_if_fail(priv != NULL, NULL);
+
+	return priv->actions;
+}
+
+gboolean
+purple_plugin_is_loadable(const PurplePlugin *plugin)
 {
-	g_return_if_fail(plugin != NULL);
+	PurplePluginInfo *info;
+	PurplePluginInfoPrivate *priv;
+
+	g_return_val_if_fail(plugin != NULL, FALSE);
+
+	info = purple_plugin_get_info(plugin);
+	priv = PURPLE_PLUGIN_INFO_GET_PRIVATE(info);
+
+	g_return_val_if_fail(priv != NULL, FALSE);
+
+	return priv->loadable;
+}
 
-	if (!g_list_find(plugins_to_disable, plugin))
-		plugins_to_disable = g_list_prepend(plugins_to_disable, plugin);
+gchar *
+purple_plugin_get_error(const PurplePlugin *plugin)
+{
+	PurplePluginInfo *info;
+	PurplePluginInfoPrivate *priv;
+
+	g_return_val_if_fail(plugin != NULL, NULL);
+
+	info = purple_plugin_get_info(plugin);
+	priv = PURPLE_PLUGIN_INFO_GET_PRIVATE(info);
+
+	g_return_val_if_fail(priv != NULL, NULL);
+
+	return priv->error;
+}
+
+GSList *
+purple_plugin_get_dependent_plugins(const PurplePlugin *plugin)
+{
+#warning TODO: Implement this when GPlugin can return dependent plugins.
+	return NULL;
 }
 
 /**************************************************************************
@@ -461,36 +513,6 @@
 	return gplugin_plugin_info_get_abi_version(GPLUGIN_PLUGIN_INFO(info));
 }
 
-GList *
-purple_plugin_info_get_actions(const PurplePluginInfo *info)
-{
-	PurplePluginInfoPrivate *priv = PURPLE_PLUGIN_INFO_GET_PRIVATE(info);
-
-	g_return_val_if_fail(priv != NULL, NULL);
-
-	return priv->actions;
-}
-
-gboolean
-purple_plugin_info_is_loadable(const PurplePluginInfo *info)
-{
-	PurplePluginInfoPrivate *priv = PURPLE_PLUGIN_INFO_GET_PRIVATE(info);
-
-	g_return_val_if_fail(priv != NULL, FALSE);
-
-	return priv->loadable;
-}
-
-gchar *
-purple_plugin_info_get_error(const PurplePluginInfo *info)
-{
-	PurplePluginInfoPrivate *priv = PURPLE_PLUGIN_INFO_GET_PRIVATE(info);
-
-	g_return_val_if_fail(priv != NULL, NULL);
-
-	return priv->error;
-}
-
 GSList *
 purple_plugin_info_get_dependencies(const PurplePluginInfo *info)
 {
@@ -499,13 +521,6 @@
 	return gplugin_plugin_info_get_dependencies(GPLUGIN_PLUGIN_INFO(info));
 }
 
-GSList *
-purple_plugin_info_get_dependent_plugins(const PurplePluginInfo *info)
-{
-#warning TODO: Implement this when GPlugin can return dependent plugins.
-	return NULL;
-}
-
 void
 purple_plugin_info_set_pref_frame_callback(PurplePluginInfo *info,
 		PurplePluginPrefFrameCallback callback)

mercurial