comparison src/plugin.c @ 10156:0dbeb6d1e258

[gaim-migrate @ 11236] Some PRPL callbacks are required or Gaim go boom. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 04 Nov 2004 04:40:57 +0000
parents 4d484e455839
children edf8c0a8e60b
comparison
equal deleted inserted replaced
10155:e05a325ac5a6 10156:0dbeb6d1e258
244 244
245 if (plugin->info->magic != GAIM_PLUGIN_MAGIC || 245 if (plugin->info->magic != GAIM_PLUGIN_MAGIC ||
246 plugin->info->major_version != GAIM_MAJOR_VERSION || 246 plugin->info->major_version != GAIM_MAJOR_VERSION ||
247 plugin->info->minor_version > GAIM_MINOR_VERSION) 247 plugin->info->minor_version > GAIM_MINOR_VERSION)
248 { 248 {
249 gaim_debug(GAIM_DEBUG_ERROR, "plugins", "%s is unloadable: API version mismatch %d.%d.x (need %d.%d.x)\n", 249 gaim_debug_error("plugins", "%s is unloadable: API version mismatch %d.%d.x (need %d.%d.x)\n",
250 plugin->path, plugin->info->major_version, plugin->info->minor_version, GAIM_MAJOR_VERSION, GAIM_MINOR_VERSION); 250 plugin->path, plugin->info->major_version, plugin->info->minor_version,
251 GAIM_MAJOR_VERSION, GAIM_MINOR_VERSION);
252 gaim_plugin_destroy(plugin);
253 return NULL;
254 }
255
256 /* If plugin is a PRPL, make sure it implements the required functions */
257 if ((plugin->info->type == GAIM_PLUGIN_PROTOCOL) && (
258 (GAIM_PLUGIN_PROTOCOL_INFO(plugin)->list_icon == NULL) ||
259 (GAIM_PLUGIN_PROTOCOL_INFO(plugin)->login == NULL) ||
260 (GAIM_PLUGIN_PROTOCOL_INFO(plugin)->close == NULL)))
261 {
262 gaim_debug_error("plugins", "%s is unloadable: Does not implement all required functions\n",
263 plugin->path);
251 gaim_plugin_destroy(plugin); 264 gaim_plugin_destroy(plugin);
252 return NULL; 265 return NULL;
253 } 266 }
254 267
255 return plugin; 268 return plugin;