| 29 */ |
29 */ |
| 30 |
30 |
| 31 #include "pidgin.h" |
31 #include "pidgin.h" |
| 32 #include "plugins.h" |
32 #include "plugins.h" |
| 33 |
33 |
| 34 #define PIDGIN_TYPE_PLUGIN_INFO (pidgin_plugin_info_get_type()) |
34 #include "pidginplugininfo.h" |
| 35 #define PIDGIN_PLUGIN_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PIDGIN_TYPE_PLUGIN_INFO, PidginPluginInfo)) |
|
| 36 #define PIDGIN_PLUGIN_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PIDGIN_TYPE_PLUGIN_INFO, PidginPluginInfoClass)) |
|
| 37 #define PIDGIN_IS_PLUGIN_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PIDGIN_TYPE_PLUGIN_INFO)) |
|
| 38 #define PIDGIN_IS_PLUGIN_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PIDGIN_TYPE_PLUGIN_INFO)) |
|
| 39 #define PIDGIN_PLUGIN_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PIDGIN_TYPE_PLUGIN_INFO, PidginPluginInfoClass)) |
|
| 40 |
|
| 41 typedef struct _PidginPluginInfo PidginPluginInfo; |
|
| 42 typedef struct _PidginPluginInfoClass PidginPluginInfoClass; |
|
| 43 |
|
| 44 typedef GtkWidget *(*PidginPluginConfigFrameCb)(PurplePlugin *plugin); |
|
| 45 |
|
| 46 /** |
|
| 47 * PidginPluginInfo: |
|
| 48 * |
|
| 49 * Extends #PurplePluginInfo to hold UI information for pidgin. |
|
| 50 */ |
|
| 51 struct _PidginPluginInfo { |
|
| 52 PurplePluginInfo parent; |
|
| 53 }; |
|
| 54 |
|
| 55 /** |
|
| 56 * PidginPluginInfoClass: |
|
| 57 * |
|
| 58 * The base class for all #PidginPluginInfo's. |
|
| 59 */ |
|
| 60 struct _PidginPluginInfoClass { |
|
| 61 PurplePluginInfoClass parent_class; |
|
| 62 |
|
| 63 /*< private >*/ |
|
| 64 void (*_pidgin_reserved1)(void); |
|
| 65 void (*_pidgin_reserved2)(void); |
|
| 66 void (*_pidgin_reserved3)(void); |
|
| 67 void (*_pidgin_reserved4)(void); |
|
| 68 }; |
|
| 69 |
35 |
| 70 G_BEGIN_DECLS |
36 G_BEGIN_DECLS |
| 71 |
|
| 72 /** |
|
| 73 * pidgin_plugin_info_get_type: |
|
| 74 * |
|
| 75 * Returns: The #GType for the #PidginPluginInfo object. |
|
| 76 */ |
|
| 77 GType pidgin_plugin_info_get_type(void); |
|
| 78 |
|
| 79 /** |
|
| 80 * pidgin_plugin_info_new: |
|
| 81 * @first_property: The first property name |
|
| 82 * @...: The value of the first property, followed optionally by more |
|
| 83 * name/value pairs, followed by %NULL |
|
| 84 * |
|
| 85 * Creates a new #PidginPluginInfo instance to be returned from |
|
| 86 * #plugin_query of a pidgin plugin, using the provided name/value |
|
| 87 * pairs. |
|
| 88 * |
|
| 89 * See purple_plugin_info_new() for a list of available property names. |
|
| 90 * Additionally, you can provide the property |
|
| 91 * <literal>"gtk-config-frame-cb"</literal>, which should be a callback that |
|
| 92 * returns a #GtkWidget for the plugin's configuration |
|
| 93 * (see #PidginPluginConfigFrameCb). |
|
| 94 * |
|
| 95 * See purple_plugin_info_new(). |
|
| 96 * |
|
| 97 * Returns: A new #PidginPluginInfo instance. |
|
| 98 */ |
|
| 99 PidginPluginInfo *pidgin_plugin_info_new(const char *first_property, ...) |
|
| 100 G_GNUC_NULL_TERMINATED; |
|
| 101 |
37 |
| 102 /** |
38 /** |
| 103 * pidgin_plugins_save: |
39 * pidgin_plugins_save: |
| 104 * |
40 * |
| 105 * Saves all loaded plugins. |
41 * Saves all loaded plugins. |