Mercurial > pidgin
changeset 9968:67468d443cd1
[gaim-migrate @ 10878]
nosnilmot got silc to compile as well
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Wed, 08 Sep 2004 01:28:03 +0000 |
parents | 2f153f8cdf81 |
children | cc2e6dd43613 |
files | src/protocols/silc/silc.c |
diffstat | 1 files changed, 35 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/src/protocols/silc/silc.c Wed Sep 08 01:16:14 2004 +0000 +++ b/src/protocols/silc/silc.c Wed Sep 08 01:28:03 2004 +0000 @@ -32,37 +32,46 @@ } static void -silcgaim_list_emblems(GaimBuddy *b, char **se, char **sw, - char **nw, char **ne) +silcgaim_list_emblems(GaimBuddy *b, const char **se, const char **sw, + const char **nw, const char **ne) { } static GList * -silcgaim_away_states(GaimConnection *gc) +silcgaim_away_states(GaimAccount *account) { - GList *st = NULL; + GaimStatusType *type; + GList *types = NULL; - st = g_list_append(st, _("Online")); - st = g_list_append(st, _("Hyper Active")); - st = g_list_append(st, _("Away")); - st = g_list_append(st, _("Busy")); - st = g_list_append(st, _("Indisposed")); - st = g_list_append(st, _("Wake Me Up")); + type = gaim_status_type_new(GAIM_STATUS_OFFLINE, "offline", _("Offline"), FALSE); + types = g_list_append(types, type); + type = gaim_status_type_new(GAIM_STATUS_ONLINE, "offline", _("Online"), FALSE); + types = g_list_append(types, type); + type = gaim_status_type_new_full(GAIM_STATUS_AVAILABLE, "hyper", _("Hyper Active"), FALSE, TRUE, FALSE); + types = g_list_append(types, type); + type = gaim_status_type_new_full(GAIM_STATUS_AWAY, "away", _("Away"), FALSE, TRUE, FALSE); + types = g_list_append(types, type); + type = gaim_status_type_new_full(GAIM_STATUS_AWAY, "busy", _("Busy"), FALSE, TRUE, FALSE); + types = g_list_append(types, type); + type = gaim_status_type_new_full(GAIM_STATUS_AWAY, "indisposed", _("Indisposed"), FALSE, TRUE, FALSE); + types = g_list_append(types, type); + type = gaim_status_type_new_full(GAIM_STATUS_AWAY, "page", _("Wake Me Up"), FALSE, TRUE, FALSE); + types = g_list_append(types, type); - return st; + return types; } static void -silcgaim_set_away(GaimConnection *gc, const char *state, const char *msg) +silcgaim_set_status(GaimAccount *account, GaimStatus *status) { + GaimConnection *gc = gaim_account_get_connection(account); SilcGaim sg = gc->proto_data; SilcUInt32 mode; SilcBuffer idp; unsigned char mb[4]; + const char *state; - if (!state) - return; - if (!sg->conn) + if ((status == NULL) || (sg->conn == NULL)) return; mode = sg->conn->local_entry->mode; @@ -72,15 +81,20 @@ SILC_UMODE_INDISPOSED | SILC_UMODE_PAGE); - if (!strcmp(state, _("Hyper Active"))) + state = gaim_status_get_id(status); + + if (state == NULL) + return; + + if (!strcmp(state, "hyper")) mode |= SILC_UMODE_HYPER; - else if (!strcmp(state, _("Away"))) + else if (!strcmp(state, "away")) mode |= SILC_UMODE_GONE; - else if (!strcmp(state, _("Busy"))) + else if (!strcmp(state, "busy")) mode |= SILC_UMODE_BUSY; - else if (!strcmp(state, _("Indisposed"))) + else if (!strcmp(state, "indisposed")) mode |= SILC_UMODE_INDISPOSED; - else if (!strcmp(state, _("Wake Me Up"))) + else if (!strcmp(state, "page")) mode |= SILC_UMODE_PAGE; /* Send UMODE */ @@ -1500,7 +1514,7 @@ silcgaim_set_info, /* set_info */ NULL, /* send_typing */ silcgaim_get_info, /* get_info */ - silcgaim_set_away, /* set_away */ + silcgaim_set_status, /* set_status */ silcgaim_idle_set, /* set_idle */ silcgaim_change_passwd, /* change_passwd */ silcgaim_add_buddy, /* add_buddy */