Mercurial > pidgin.yaz
view src/protocols/msn/state.c @ 10636:0f5c5e6fb27f
[gaim-migrate @ 12118]
The strftime warnings fiunally got to me, so I made gaim_strftime to work
around it.
Turns out KingAnt had already discovered this solution for oscar.c but left
it #iffed out.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Thu, 24 Feb 2005 01:11:17 +0000 |
parents | bcfea6c3d5c9 |
children | 0317ad172e8d |
line wrap: on
line source
/** * @file state.c State functions and definitions * * gaim * * Gaim is the legal property of its developers, whose names are too numerous * to list here. Please refer to the COPYRIGHT file distributed with this * source distribution. * * 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 "msn.h" #include "state.h" static const char *away_text[] = { N_("Available"), N_("Available"), N_("Busy"), N_("Idle"), N_("Be Right Back"), N_("Away From Computer"), N_("On The Phone"), N_("Out To Lunch"), N_("Available"), N_("Available") }; void msn_change_status(MsnSession *session, MsnAwayType state) { MsnCmdProc *cmdproc; MsnUser *user; MsnObject *msnobj; const char *state_text; g_return_if_fail(session != NULL); g_return_if_fail(session->notification != NULL); cmdproc = session->notification->cmdproc; user = session->user; state_text = msn_state_get_text(state); msnobj = msn_user_get_object(user); if (msnobj == NULL) { msn_cmdproc_send(cmdproc, "CHG", "%s %d", state_text, MSN_CLIENT_ID); } else { char *msnobj_str; msnobj_str = msn_object_to_string(msnobj); msn_cmdproc_send(cmdproc, "CHG", "%s %d %s", state_text, MSN_CLIENT_ID, gaim_url_encode(msnobj_str)); /* * We need to set this just in case someone tries to set icon * quickly on us - Justin */ session->state = state; g_free(msnobj_str); } } const char * msn_away_get_text(MsnAwayType type) { g_return_val_if_fail(type <= MSN_HIDDEN, NULL); return _(away_text[type]); } const char * msn_state_get_text(MsnAwayType state) { static char *status_text[] = { "NLN", "NLN", "BSY", "IDL", "BRB", "AWY", "PHN", "LUN", "HDN", "HDN" }; return status_text[state]; }