| 34 N_("Out To Lunch"), |
34 N_("Out To Lunch"), |
| 35 N_("Available"), |
35 N_("Available"), |
| 36 N_("Available") |
36 N_("Available") |
| 37 }; |
37 }; |
| 38 |
38 |
| |
39 void |
| |
40 msn_change_status(MsnSession *session, MsnAwayType state) |
| |
41 { |
| |
42 MsnCmdProc *cmdproc; |
| |
43 MsnUser *user; |
| |
44 MsnObject *msnobj; |
| |
45 const char *state_text; |
| |
46 |
| |
47 cmdproc = session->notification->cmdproc; |
| |
48 user = session->user; |
| |
49 state_text = msn_state_get_text(state); |
| |
50 |
| |
51 g_return_if_fail(session != NULL); |
| |
52 |
| |
53 msnobj = msn_user_get_object(user); |
| |
54 |
| |
55 if (msnobj == NULL) |
| |
56 { |
| |
57 msn_cmdproc_send(cmdproc, "CHG", "%s %d", state_text, |
| |
58 MSN_CLIENT_ID); |
| |
59 } |
| |
60 else |
| |
61 { |
| |
62 char *msnobj_str; |
| |
63 |
| |
64 msnobj_str = msn_object_to_string(msnobj); |
| |
65 |
| |
66 msn_cmdproc_send(cmdproc, "CHG", "%s %d %s", state_text, |
| |
67 MSN_CLIENT_ID, gaim_url_encode(msnobj_str)); |
| |
68 |
| |
69 g_free(msnobj_str); |
| |
70 } |
| |
71 } |
| |
72 |
| 39 const char * |
73 const char * |
| 40 msn_away_get_text(MsnAwayType type) |
74 msn_away_get_text(MsnAwayType type) |
| 41 { |
75 { |
| 42 g_return_val_if_fail(type <= MSN_HIDDEN, NULL); |
76 g_return_val_if_fail(type <= MSN_HIDDEN, NULL); |
| 43 |
77 |
| 44 return _(away_text[type]); |
78 return _(away_text[type]); |
| 45 } |
79 } |
| |
80 |
| |
81 const char * |
| |
82 msn_state_get_text(MsnAwayType state) |
| |
83 { |
| |
84 static char *status_text[] = |
| |
85 { "NLN", "NLN", "BSY", "IDL", "BRB", "AWY", "PHN", "LUN", "HDN", "HDN" }; |
| |
86 |
| |
87 return status_text[state]; |
| |
88 } |