2 * Purple's oscar protocol plugin
3 * This file is the legal property of its developers.
4 * Please see the AUTHORS file distributed alongside this file.
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
24 aim_module_t
*aim__findmodulebygroup(OscarData
*od
, guint16 group
)
28 for (cur
= (aim_module_t
*)od
->modlistv
; cur
; cur
= cur
->next
) {
29 if (cur
->family
== group
)
36 aim_module_t
*aim__findmodule(OscarData
*od
, const char *name
)
40 for (cur
= (aim_module_t
*)od
->modlistv
; cur
; cur
= cur
->next
) {
41 if (purple_strequal(name
, cur
->name
))
48 int aim__registermodule(OscarData
*od
, int (*modfirst
)(OscarData
*, aim_module_t
*))
55 mod
= g_new0(aim_module_t
, 1);
57 if (modfirst(od
, mod
) == -1) {
62 if (aim__findmodule(od
, mod
->name
)) {
64 mod
->shutdown(od
, mod
);
69 mod
->next
= (aim_module_t
*)od
->modlistv
;
75 void aim__shutdownmodules(OscarData
*od
)
79 for (cur
= (aim_module_t
*)od
->modlistv
; cur
; ) {
85 cur
->shutdown(od
, cur
);