Mercurial > pidgin
view src/privacy.c @ 6463:eafaf58b61b6
[gaim-migrate @ 6972]
(23:03:49) Robot101: LSchiere: GAIM_{ERROR,WARNING,INFO,...} and EDIT_{GC,GROUP,BUDDY} in ui.h are unused and can be garbage collected
(23:04:10) Robot101: HEH
(23:04:16) Robot101: I never knew core.h had trogdor in it =)
(23:04:26) LSchiere: those are semi-namespaced, does ChipX86|Gone have plans for them?
(23:04:41) Robot101: they're deprecated.
(23:04:46) Robot101: not used anywhere in code
(23:05:01) Robot101: left over garbage from a subsystem rewritten years ago... =)
(23:05:26) LSchiere: icq.c uses GAIM_ERROR
(23:06:05) Robot101: icq.c hasn't had a rat's chance in hell of compiling since about 0.64 =)
(23:06:16) LSchiere: lol, yeah that's probly true
(23:06:30) Robot101: it still uses do_error_dialog
(23:06:35) Robot101: which is, er, gone. =)
(23:06:56) LSchiere: GAIM_LOGO is that used?
(23:07:04) Robot101: no
(23:07:18) Robot101: those 4 were for selecting the icons in the error dialog
(23:07:23) Robot101: which is long gone
(23:07:34) Robot101: and I have NFI what EDIT_* were, but they're not used either
(23:08:06) Robot101: some day soon ui.h will be totally gone
(23:08:07) ***Robot101 drools
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Thu, 14 Aug 2003 03:08:25 +0000 |
parents | 01289157fc37 |
children | feb3d21a7794 |
line wrap: on
line source
/** * gaim * * Copyright (C) 2003, Christian Hammond <chipx86@gnupdate.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "internal.h" #include "account.h" #include "debug.h" #include "privacy.h" #include "server.h" #include "util.h" static GaimPrivacyUiOps *privacy_ops = NULL; gboolean gaim_privacy_permit_add(GaimAccount *account, const char *who, gboolean local_only) { GSList *l; char *name; g_return_val_if_fail(account != NULL, FALSE); g_return_val_if_fail(who != NULL, FALSE); name = g_strdup(normalize(who)); for (l = account->permit; l != NULL; l = l->next) { if (!gaim_utf8_strcasecmp(name, normalize((char *)l->data))) break; } g_free(name); if (l != NULL) return FALSE; account->permit = g_slist_append(account->permit, g_strdup(who)); if (!local_only && gaim_account_is_connected(account)) serv_add_permit(gaim_account_get_connection(account), who); gaim_blist_save(); if (privacy_ops != NULL && privacy_ops->permit_added != NULL) privacy_ops->permit_added(account, who); return TRUE; } gboolean gaim_privacy_permit_remove(GaimAccount *account, const char *who, gboolean local_only) { GSList *l; char *name; g_return_val_if_fail(account != NULL, FALSE); g_return_val_if_fail(who != NULL, FALSE); name = g_strdup(normalize(who)); for (l = account->permit; l != NULL; l = l->next) { if (!gaim_utf8_strcasecmp(name, normalize((char *)l->data))) break; } g_free(name); if (l == NULL) return FALSE; account->permit = g_slist_remove(account->permit, l->data); g_free(l->data); if (!local_only && gaim_account_is_connected(account)) serv_rem_deny(gaim_account_get_connection(account), who); gaim_blist_save(); if (privacy_ops != NULL && privacy_ops->permit_removed != NULL) privacy_ops->permit_removed(account, who); return TRUE; } gboolean gaim_privacy_deny_add(GaimAccount *account, const char *who, gboolean local_only) { GSList *l; char *name; g_return_val_if_fail(account != NULL, FALSE); g_return_val_if_fail(who != NULL, FALSE); name = g_strdup(normalize(who)); for (l = account->deny; l != NULL; l = l->next) { if (!gaim_utf8_strcasecmp(name, normalize((char *)l->data))) break; } g_free(name); if (l != NULL) return FALSE; account->deny = g_slist_append(account->deny, g_strdup(who)); if (!local_only && gaim_account_is_connected(account)) serv_add_deny(gaim_account_get_connection(account), who); gaim_blist_save(); if (privacy_ops != NULL && privacy_ops->deny_added != NULL) privacy_ops->deny_added(account, who); return TRUE; } gboolean gaim_privacy_deny_remove(GaimAccount *account, const char *who, gboolean local_only) { GSList *l; char *name; g_return_val_if_fail(account != NULL, FALSE); g_return_val_if_fail(who != NULL, FALSE); name = g_strdup(normalize(who)); for (l = account->deny; l != NULL; l = l->next) { if (!gaim_utf8_strcasecmp(name, normalize((char *)l->data))) break; } g_free(name); if (l == NULL) return FALSE; account->deny = g_slist_remove(account->deny, l->data); g_free(l->data); if (!local_only && gaim_account_is_connected(account)) { gaim_debug(GAIM_DEBUG_INFO, "privacy", "Removing %s from server-side deny list\n", who); serv_rem_deny(gaim_account_get_connection(account), who); } gaim_blist_save(); if (privacy_ops != NULL && privacy_ops->deny_removed != NULL) privacy_ops->deny_removed(account, who); return TRUE; } void gaim_set_privacy_ui_ops(GaimPrivacyUiOps *ops) { privacy_ops = ops; } GaimPrivacyUiOps * gaim_get_privacy_ui_ops(void) { return privacy_ops; } void gaim_privacy_init(void) { }