comparison libpurple/plugin.h @ 16672:516f14bef90e

Initial addition of padding for ui_ops and other class-like structs
author Gary Kramlich <grim@reaperworld.com>
date Sun, 29 Apr 2007 22:02:47 +0000
parents 32c366eeeb99
children 9a19c46adf66 2177a11e169d
comparison
equal deleted inserted replaced
16669:e2fc81093e88 16672:516f14bef90e
100 100
101 void *ui_info; /**< Used only by UI-specific plugins to build a preference screen with a custom UI */ 101 void *ui_info; /**< Used only by UI-specific plugins to build a preference screen with a custom UI */
102 void *extra_info; 102 void *extra_info;
103 PurplePluginUiInfo *prefs_info; /**< Used by any plugin to display preferences. If #ui_info has been specified, this will be ignored. */ 103 PurplePluginUiInfo *prefs_info; /**< Used by any plugin to display preferences. If #ui_info has been specified, this will be ignored. */
104 GList *(*actions)(PurplePlugin *plugin, gpointer context); 104 GList *(*actions)(PurplePlugin *plugin, gpointer context);
105
106 void (*_purple_reserved1)(void);
107 void (*_purple_reserved2)(void);
108 void (*_purple_reserved3)(void);
109 void (*_purple_reserved4)(void);
105 }; 110 };
106 111
107 /** 112 /**
108 * Extra information for loader plugins. 113 * Extra information for loader plugins.
109 */ 114 */
113 118
114 gboolean (*probe)(PurplePlugin *plugin); 119 gboolean (*probe)(PurplePlugin *plugin);
115 gboolean (*load)(PurplePlugin *plugin); 120 gboolean (*load)(PurplePlugin *plugin);
116 gboolean (*unload)(PurplePlugin *plugin); 121 gboolean (*unload)(PurplePlugin *plugin);
117 void (*destroy)(PurplePlugin *plugin); 122 void (*destroy)(PurplePlugin *plugin);
123
124 void (*_purple_reserved1)(void);
125 void (*_purple_reserved2)(void);
126 void (*_purple_reserved3)(void);
127 void (*_purple_reserved4)(void);
118 }; 128 };
119 129
120 /** 130 /**
121 * A plugin handle. 131 * A plugin handle.
122 */ 132 */
130 char *error; 140 char *error;
131 void *ipc_data; /**< IPC data. */ 141 void *ipc_data; /**< IPC data. */
132 void *extra; /**< Plugin-specific data. */ 142 void *extra; /**< Plugin-specific data. */
133 gboolean unloadable; /**< Unloadable */ 143 gboolean unloadable; /**< Unloadable */
134 GList *dependent_plugins; /**< Plugins depending on this */ 144 GList *dependent_plugins; /**< Plugins depending on this */
145
146 void (*_purple_reserved1)(void);
147 void (*_purple_reserved2)(void);
148 void (*_purple_reserved3)(void);
149 void (*_purple_reserved4)(void);
135 }; 150 };
136 151
137 #define PURPLE_PLUGIN_LOADER_INFO(plugin) \ 152 #define PURPLE_PLUGIN_LOADER_INFO(plugin) \
138 ((PurplePluginLoaderInfo *)(plugin)->info->extra_info) 153 ((PurplePluginLoaderInfo *)(plugin)->info->extra_info)
139 154
140 struct _PurplePluginUiInfo { 155 struct _PurplePluginUiInfo {
141 PurplePluginPrefFrame *(*get_plugin_pref_frame)(PurplePlugin *plugin); 156 PurplePluginPrefFrame *(*get_plugin_pref_frame)(PurplePlugin *plugin);
142 157
143 int page_num; /**< Reserved */ 158 int page_num; /**< Reserved */
144 PurplePluginPrefFrame *frame; /**< Reserved */ 159 PurplePluginPrefFrame *frame; /**< Reserved */
160
161 void (*_purple_reserved1)(void);
162 void (*_purple_reserved2)(void);
163 void (*_purple_reserved3)(void);
164 void (*_purple_reserved4)(void);
145 }; 165 };
146 166
147 #define PURPLE_PLUGIN_HAS_PREF_FRAME(plugin) \ 167 #define PURPLE_PLUGIN_HAS_PREF_FRAME(plugin) \
148 ((plugin)->info != NULL && (plugin)->info->prefs_info != NULL) 168 ((plugin)->info != NULL && (plugin)->info->prefs_info != NULL)
149 169