libpurple/plugins.h

branch
soc.2013.gobjectification.plugins
changeset 36395
a27e8b7a2938
parent 36392
3389359cdc72
child 36396
add1d5e2314c
--- a/libpurple/plugins.h	Thu Aug 01 01:05:43 2013 +0530
+++ b/libpurple/plugins.h	Thu Aug 01 03:03:00 2013 +0530
@@ -48,9 +48,10 @@
 /** @copydoc _PurplePluginAction */
 typedef struct _PurplePluginAction PurplePluginAction;
 
-typedef void (*PurplePluginActionCallback)(PurplePluginAction *);
+#include "pluginpref.h"
 
-#include "pluginpref.h"
+typedef void (*PurplePluginActionCallback)(PurplePluginAction *);
+typedef PurplePluginPrefFrame (*PurplePluginPrefFrameCallback)(GPluginPlugin *);
 
 /**
  * Holds information about a plugin.
@@ -147,6 +148,25 @@
  */
 GList *purple_plugin_info_get_actions(PurplePluginInfo *plugin_info);
 
+/**
+ * Sets a callback to be invoked to retrieve the preferences frame for a plugin.
+ *
+ * @param plugin_info The plugin info to set the callback for.
+ * @param callback    The callback that returns the preferences frame.
+ */
+void purple_plugin_info_set_pref_frame_callback(PurplePluginInfo *plugin_info,
+		PurplePluginPrefFrameCallback callback);
+
+/**
+ * Returns the callback that retrieves the preferences frame for a plugin.
+ *
+ * @param plugin_info The plugin info to get the callback from.
+ *
+ * @return The callback that returns the preferences frame.
+ */
+PurplePluginPrefFrameCallback
+purple_plugin_info_get_pref_frame_callback(PurplePluginInfo *plugin_info);
+
 /*@}*/
 
 /**************************************************************************/

mercurial