Mercurial > pidgin
annotate finch/gntplugin.h @ 16150:218818f96b93
Change a g_slist_append() to a g_slist_prepend() in one place, and
change some other stuff to use a hashtable instead of a linked list,
which should make one aspect of smiley theme destroying O(something fast)
instead of O(n). Which really doesn't matter in the grand scheme
of things.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 15 Apr 2007 18:38:40 +0000 |
parents | 66dff3dfdea6 |
children | 0f0832c13fcb |
rev | line source |
---|---|
15817 | 1 /** |
2 * @file gntplugin.h GNT Plugins API | |
3 * @ingroup gntui | |
4 * | |
15870
66dff3dfdea6
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
5 * finch |
15817 | 6 * |
15870
66dff3dfdea6
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
7 * Finch is the legal property of its developers, whose names are too numerous |
15817 | 8 * to list here. Please refer to the COPYRIGHT file distributed with this |
9 * source distribution. | |
10 * | |
11 * This program is free software; you can redistribute it and/or modify | |
12 * it under the terms of the GNU General Public License as published by | |
13 * the Free Software Foundation; either version 2 of the License, or | |
14 * (at your option) any later version. | |
15 * | |
16 * This program is distributed in the hope that it will be useful, | |
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 * GNU General Public License for more details. | |
20 * | |
21 * You should have received a copy of the GNU General Public License | |
22 * along with this program; if not, write to the Free Software | |
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
24 */ | |
25 #ifndef _GNT_PLUGIN_H | |
26 #define _GNT_PLUGIN_H | |
27 | |
28 #include <gnt.h> | |
29 | |
30 #include <plugin.h> | |
31 | |
32 #include <string.h> | |
33 | |
15822 | 34 #include "finch.h" |
15817 | 35 |
36 /********************************************************************** | |
37 * @name GNT Plugins API | |
38 **********************************************************************/ | |
39 /*@{*/ | |
40 | |
41 typedef GntWidget* (*FinchPluginFrame) (); | |
42 | |
43 /* Guess where these came from */ | |
15822 | 44 #define FINCH_PLUGIN_TYPE FINCH_UI |
15817 | 45 |
46 /** | |
47 * Decide whether a plugin is a GNT-plugin. | |
48 */ | |
15822 | 49 #define PURPLE_IS_GNT_PLUGIN(plugin) \ |
15817 | 50 ((plugin)->info != NULL && (plugin)->info->ui_info != NULL && \ |
15822 | 51 !strcmp((plugin)->info->ui_requirement, FINCH_PLUGIN_TYPE)) |
15817 | 52 |
53 /** | |
54 * Get the ui-info from GNT-plugins. | |
55 */ | |
15822 | 56 #define FINCH_PLUGIN_UI_INFO(plugin) \ |
15817 | 57 (FinchPluginFrame)((plugin)->info->ui_info) |
58 | |
59 /** | |
60 * Show a list of plugins. | |
61 */ | |
62 void finch_plugins_show_all(void); | |
63 | |
64 /** | |
65 * Save the list of loaded plugins. | |
66 */ | |
67 void finch_plugins_save_loaded(void); | |
68 | |
69 /*@}*/ | |
70 | |
71 #endif |