annotate libpurple/protocols/myspace/zap.c @ 19937:36ba89a2b7da

Replace all CRLF line-endings with LF line endings (Unix-style). This fixes some compilation errors on Solaris. Closes #3096.
author Jeffrey Connelly <jaconnel@calpoly.edu>
date Tue, 18 Sep 2007 00:47:51 +0000
parents 3f6f84d11ce2
children 51457cf3d27b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19937
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
1 /* MySpaceIM Protocol Plugin - zap support
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
2 *
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
3 * Copyright (C) 2007, Jeff Connelly <jeff2@soc.pidgin.im>
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
4 *
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
5 * This program is free software; you can redistribute it and/or modify
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
6 * it under the terms of the GNU General Public License as published by
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
7 * the Free Software Foundation; either version 2 of the License, or
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
8 * (at your option) any later version.
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
9 *
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
10 * This program is distributed in the hope that it will be useful,
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
13 * GNU General Public License for more details.
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
14 *
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
15 * You should have received a copy of the GNU General Public License
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
16 * along with this program; if not, write to the Free Software
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
18 */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
19
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
20 #include "myspace.h"
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
21 #include "zap.h"
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
22
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
23 static gboolean msim_send_zap(MsimSession *session, const gchar *username, guint code);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
24 static void msim_send_zap_from_menu(PurpleBlistNode *node, gpointer zap_num_ptr);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
25
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
26
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
27 /** Get zap types. */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
28 GList *
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
29 msim_attention_types(PurpleAccount *acct)
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
30 {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
31 static GList *types = NULL;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
32 MsimAttentionType* attn;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
33
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
34 if (!types) {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
35 #define _MSIM_ADD_NEW_ATTENTION(icn, nme, incoming, outgoing) \
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
36 attn = g_new0(MsimAttentionType, 1); \
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
37 attn->icon_name = icn; \
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
38 attn->name = nme; \
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
39 attn->incoming_description = incoming; \
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
40 attn->outgoing_description = outgoing; \
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
41 types = g_list_append(types, attn);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
42
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
43 /* TODO: icons for each zap */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
44 _MSIM_ADD_NEW_ATTENTION(NULL, _("zap"), _("zapped"), _("Zapping"));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
45 _MSIM_ADD_NEW_ATTENTION(NULL, _("whack"), _("whacked"), _("Whacking"));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
46 _MSIM_ADD_NEW_ATTENTION(NULL, _("torch"), _("torched"), _("Torching"));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
47 _MSIM_ADD_NEW_ATTENTION(NULL, _("smooch"), _("smooched"), _("Smooching"));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
48 _MSIM_ADD_NEW_ATTENTION(NULL, _("hug"), _("hugged"), _("Hugging"));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
49 _MSIM_ADD_NEW_ATTENTION(NULL, _("bslap"), _("bslapped"), _("Bslapping"));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
50 _MSIM_ADD_NEW_ATTENTION(NULL, _("goose"), _("goosed"), _("Goosing"));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
51 _MSIM_ADD_NEW_ATTENTION(NULL, _("hi-five"), _("hi-fived"), _("Hi-fiving"));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
52 _MSIM_ADD_NEW_ATTENTION(NULL, _("punk"), _("punk'd"), _("Punking"));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
53 _MSIM_ADD_NEW_ATTENTION(NULL, _("raspberry"), _("raspberried"), _("Raspberry'ing"));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
54 }
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
55
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
56 return types;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
57 }
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
58
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
59 /** Send a zap */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
60 gboolean
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
61 msim_send_attention(PurpleConnection *gc, const gchar *username, guint code)
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
62 {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
63 GList *types;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
64 MsimSession *session;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
65 MsimAttentionType *attn;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
66 PurpleBuddy *buddy;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
67
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
68 session = (MsimSession *)gc->proto_data;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
69
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
70 /* Look for this attention type, by the code index given. */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
71 types = msim_attention_types(gc->account);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
72 attn = (MsimAttentionType *)g_list_nth_data(types, code);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
73
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
74 if (!attn) {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
75 purple_debug_info("msim_send_attention", "got invalid zap code %d\n", code);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
76 return FALSE;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
77 }
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
78
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
79 buddy = purple_find_buddy(session->account, username);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
80 if (!buddy) {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
81 return FALSE;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
82 }
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
83
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
84 msim_send_zap(session, username, code);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
85
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
86 return TRUE;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
87 }
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
88
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
89 /** Send a zap to a user. */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
90 static gboolean
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
91 msim_send_zap(MsimSession *session, const gchar *username, guint code)
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
92 {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
93 gchar *zap_string;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
94 gboolean rc;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
95 #ifndef MSIM_USE_ATTENTION_API
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
96 GList *types;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
97 MsimAttentionType *attn;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
98 gchar *zap_description;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
99 #endif
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
100
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
101 g_return_val_if_fail(session != NULL, FALSE);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
102 g_return_val_if_fail(username != NULL, FALSE);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
103
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
104
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
105 #ifdef MSIM_USE_ATTENTION_API
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
106 /* serv_send_attention(session->gc, username, code); */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
107 #else
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
108 types = msim_attention_types(session->account);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
109
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
110 attn = g_list_nth_data(types, code);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
111 if (!attn) {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
112 return FALSE;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
113 }
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
114
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
115
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
116 zap_description = g_strdup_printf("*** Attention: %s %s ***", attn->outgoing_description,
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
117 username);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
118
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
119 serv_got_im(session->gc, username, zap_description,
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
120 PURPLE_MESSAGE_SEND | PURPLE_MESSAGE_SYSTEM, time(NULL));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
121
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
122 g_free(zap_description);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
123 #endif
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
124
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
125 /* Construct and send the actual zap command. */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
126 zap_string = g_strdup_printf("!!!ZAP_SEND!!!=RTE_BTN_ZAPS_%d", code);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
127
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
128 if (!msim_send_bm(session, username, zap_string, MSIM_BM_ACTION)) {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
129 purple_debug_info("msim_send_zap_from_menu", "msim_send_bm failed: zapping %s with %s",
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
130 username, zap_string);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
131 rc = FALSE;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
132 } else {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
133 rc = TRUE;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
134 }
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
135
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
136 g_free(zap_string);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
137
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
138 return rc;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
139
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
140 }
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
141
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
142 /** Zap someone. Callback from msim_blist_node_menu zap menu. */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
143 static void
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
144 msim_send_zap_from_menu(PurpleBlistNode *node, gpointer zap_num_ptr)
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
145 {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
146 PurpleBuddy *buddy;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
147 PurpleAccount *account;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
148 PurpleConnection *gc;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
149 MsimSession *session;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
150 guint zap;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
151
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
152 if (!PURPLE_BLIST_NODE_IS_BUDDY(node)) {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
153 /* Only know about buddies for now. */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
154 return;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
155 }
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
156
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
157 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
158
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
159 buddy = (PurpleBuddy *)node;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
160
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
161 /* Find the session */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
162 account = buddy->account;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
163 gc = purple_account_get_connection(account);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
164 session = (MsimSession *)gc->proto_data;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
165
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
166 zap = GPOINTER_TO_INT(zap_num_ptr);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
167
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
168 #ifdef MSIM_USE_ATTENTION_API
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
169 serv_send_attention(session->gc, buddy->name, zap);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
170 #else
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
171 g_return_if_fail(msim_send_zap(session, buddy->name, zap));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
172 #endif
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
173 }
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
174
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
175 /** Return menu, if any, for a buddy list node. */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
176 GList *
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
177 msim_blist_node_menu(PurpleBlistNode *node)
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
178 {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
179 GList *menu, *zap_menu;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
180 GList *types;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
181 PurpleMenuAction *act;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
182 /* Warning: hardcoded to match that in msim_attention_types. */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
183 const gchar *zap_names[10];
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
184 guint i;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
185
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
186 if (!PURPLE_BLIST_NODE_IS_BUDDY(node)) {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
187 /* Only know about buddies for now. */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
188 return NULL;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
189 }
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
190
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
191 /* Names from official client. */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
192 types = msim_attention_types(NULL);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
193 i = 0;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
194 do
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
195 {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
196 MsimAttentionType *attn;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
197
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
198 attn = (MsimAttentionType *)types->data;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
199 zap_names[i] = attn->name;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
200 ++i;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
201 } while ((types = g_list_next(types)));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
202
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
203 menu = zap_menu = NULL;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
204
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
205 /* TODO: get rid of once is accessible directly in GUI */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
206 for (i = 0; i < sizeof(zap_names) / sizeof(zap_names[0]); ++i) {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
207 act = purple_menu_action_new(zap_names[i], PURPLE_CALLBACK(msim_send_zap_from_menu),
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
208 GUINT_TO_POINTER(i), NULL);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
209 zap_menu = g_list_append(zap_menu, act);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
210 }
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
211
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
212 act = purple_menu_action_new(_("Zap"), NULL, NULL, zap_menu);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
213 menu = g_list_append(menu, act);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
214
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
215 return menu;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
216 }
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
217
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
218 /** Process an incoming zap. */
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
219 gboolean
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
220 msim_incoming_zap(MsimSession *session, MsimMessage *msg)
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
221 {
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
222 gchar *msg_text, *username;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
223 gint zap;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
224 #ifndef MSIM_USE_ATTENTION_API
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
225 const gchar *zap_past_tense[10];
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
226 gchar *zap_text;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
227
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
228 zap_past_tense[0] = _("zapped");
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
229 zap_past_tense[1] = _("whacked");
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
230 zap_past_tense[2] = _("torched");
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
231 zap_past_tense[3] = _("smooched");
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
232 zap_past_tense[4] = _("hugged");
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
233 zap_past_tense[5] = _("bslapped");
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
234 zap_past_tense[6] = _("goosed");
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
235 zap_past_tense[7] = _("hi-fived");
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
236 zap_past_tense[8] = _("punk'd");
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
237 zap_past_tense[9] = _("raspberried");
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
238 #endif
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
239
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
240 msg_text = msim_msg_get_string(msg, "msg");
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
241 username = msim_msg_get_string(msg, "_username");
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
242
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
243 g_return_val_if_fail(msg_text != NULL, FALSE);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
244 g_return_val_if_fail(username != NULL, FALSE);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
245
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
246 g_return_val_if_fail(sscanf(msg_text, "!!!ZAP_SEND!!!=RTE_BTN_ZAPS_%d", &zap) == 1, FALSE);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
247
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
248 zap = CLAMP(zap, 0, 9);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
249
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
250 #ifdef MSIM_USE_ATTENTION_API
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
251 serv_got_attention(session->gc, username, zap);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
252 #else
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
253 zap_text = g_strdup_printf(_("*** You have been %s! ***"), zap_past_tense[zap]);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
254 serv_got_im(session->gc, username, zap_text,
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
255 PURPLE_MESSAGE_RECV | PURPLE_MESSAGE_SYSTEM, time(NULL));
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
256 g_free(zap_text);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
257 #endif
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
258
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
259 g_free(msg_text);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
260 g_free(username);
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
261
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
262 return TRUE;
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
263 }
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
264
36ba89a2b7da Replace all CRLF line-endings with LF line endings (Unix-style). This fixes
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 19463
diff changeset
265