Mercurial > pidgin
annotate src/protocols/gg/gg.c @ 13545:cfc2f7fcb3dd
[gaim-migrate @ 15922]
Way more changes that I initially thought I was going to make. I apologize
for the commit message spam. These changes bring a lot of consistency to
our capitalization and punctuation, especially of words like "e-mail".
For reference, I've used these rules (after discussing in #gaim):
e-mail, a case of two words joined:
"e-mail" - in the middle of a sentence caps context
"E-mail" - start of text in a sentence caps context
"E-Mail" - in a header (title) caps context
re-enable, a single word, would be:
"re-enable", "Re-enable", and "Re-enable" (respectively)
The reason this changeset exploded is that, as I went through and verified
these changes, I realized we were using improper capitalization (e.g. header
instead of sentence) in a number of dialogs. I fixed a number of these
cases before, and this corrects another pile.
This looks like I've made a LOT of work for the translators, but the impact
is significantly mitigated by three factors: 1) Many of these changes use
strings that already exist, or change one string in many places. 2) I've
used sed to correct the .po files where possible. 3) The actual changes
are extremely trivial.
committer: Tailor Script <tailor@pidgin.im>
| author | Richard Laager <rlaager@wiktel.com> |
|---|---|
| date | Tue, 21 Mar 2006 04:32:45 +0000 |
| parents | fe065eb51c2e |
| children | 7773c79bbe01 |
| rev | line source |
|---|---|
| 11394 | 1 /** |
| 2 * @file gg.c Gadu-Gadu protocol plugin | |
| 3 * | |
| 4 * gaim | |
| 5 * | |
| 6 * Copyright (C) 2005 Bartosz Oler <bartosz@bzimage.us> | |
| 7 * | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
8 * Some parts of the code are adapted or taken from the previous implementation |
| 11394 | 9 * of this plugin written by Arkadiusz Miskiewicz <misiek@pld.org.pl> |
| 10 * | |
| 11 * Thanks to Google's Summer of Code Program. | |
| 12 * | |
| 13 * This program is free software; you can redistribute it and/or modify | |
| 14 * it under the terms of the GNU General Public License as published by | |
| 15 * the Free Software Foundation; either version 2 of the License, or | |
| 16 * (at your option) any later version. | |
| 17 * | |
| 18 * This program is distributed in the hope that it will be useful, | |
| 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 21 * GNU General Public License for more details. | |
| 22 * | |
| 23 * You should have received a copy of the GNU General Public License | |
| 24 * along with this program; if not, write to the Free Software | |
| 25 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 26 */ | |
| 27 | |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5681
diff
changeset
|
28 #include "internal.h" |
| 2393 | 29 |
| 11360 | 30 #include "plugin.h" |
| 31 #include "version.h" | |
| 32 #include "notify.h" | |
| 33 #include "status.h" | |
| 9030 | 34 #include "blist.h" |
| 11360 | 35 #include "accountopt.h" |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5681
diff
changeset
|
36 #include "debug.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5681
diff
changeset
|
37 #include "util.h" |
| 11360 | 38 #include "request.h" |
| 2393 | 39 |
|
13317
41747a38a1a8
[gaim-migrate @ 15686]
Richard Laager <rlaager@wiktel.com>
parents:
13308
diff
changeset
|
40 #include <libgadu.h> |
| 5603 | 41 |
| 11414 | 42 #include "gg.h" |
| 43 #include "confer.h" | |
| 44 #include "search.h" | |
| 45 #include "buddylist.h" | |
| 46 #include "utils.h" | |
| 11394 | 47 |
| 11414 | 48 static GaimPlugin *my_protocol = NULL; |
| 11394 | 49 |
| 11360 | 50 /* ---------------------------------------------------------------------- */ |
| 11414 | 51 /* ----- EXTERNAL CALLBACKS --------------------------------------------- */ |
| 11360 | 52 /* ---------------------------------------------------------------------- */ |
| 9950 | 53 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
54 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
55 /* ----- HELPERS -------------------------------------------------------- */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
56 |
| 13514 | 57 /** |
| 58 * Set up libgadu's proxy. | |
| 59 * | |
| 60 * @param account Account for which to set up the proxy. | |
| 61 * | |
| 62 * @return Zero if proxy setup is valid, otherwise -1. | |
| 63 */ | |
| 64 /* static int ggp_setup_proxy(GaimAccount *account) {{{ */ | |
| 65 static int ggp_setup_proxy(GaimAccount *account) | |
| 66 { | |
| 67 GaimProxyInfo *gpi; | |
| 68 | |
| 69 gpi = gaim_proxy_get_setup(account); | |
| 70 | |
| 71 if ((gaim_proxy_info_get_type(gpi) != GAIM_PROXY_NONE) && | |
| 72 (gaim_proxy_info_get_host(gpi) == NULL || | |
| 73 gaim_proxy_info_get_port(gpi) <= 0)) { | |
| 74 | |
| 75 gg_proxy_enabled = 0; | |
| 76 gaim_notify_error(NULL, NULL, _("Invalid proxy settings"), | |
| 77 _("Either the host name or port number specified for your given proxy type is invalid.")); | |
| 78 return -1; | |
| 79 } else if (gaim_proxy_info_get_type(gpi) != GAIM_PROXY_NONE) { | |
| 80 gg_proxy_enabled = 1; | |
| 81 gg_proxy_host = g_strdup(gaim_proxy_info_get_host(gpi)); | |
| 82 gg_proxy_port = gaim_proxy_info_get_port(gpi); | |
| 83 gg_proxy_username = g_strdup(gaim_proxy_info_get_username(gpi)); | |
| 84 gg_proxy_password = g_strdup(gaim_proxy_info_get_password(gpi)); | |
| 85 } else { | |
| 86 gg_proxy_enabled = 0; | |
| 87 } | |
| 88 | |
| 89 return 0; | |
| 90 } | |
| 91 /* }}} */ | |
| 92 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
93 /* |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
94 */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
95 /* static void ggp_async_token_handler(gpointer _gc, gint fd, GaimInputCondition cond) {{{ */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
96 static void ggp_async_token_handler(gpointer _gc, gint fd, GaimInputCondition cond) |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
97 { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
98 GaimConnection *gc = _gc; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
99 GGPInfo *info = gc->proto_data; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
100 GGPToken *token = info->token; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
101 GGPTokenCallback cb; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
102 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
103 struct gg_token *t = NULL; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
104 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
105 gaim_debug_info("gg", "token_handler: token->req: check = %d; state = %d;\n", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
106 token->req->check, token->req->state); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
107 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
108 if (gg_token_watch_fd(token->req) == -1 || token->req->state == GG_STATE_ERROR) { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
109 gaim_debug_error("gg", "token error (1): %d\n", token->req->error); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
110 gaim_input_remove(token->inpa); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
111 gg_token_free(token->req); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
112 token->req = NULL; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
113 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
114 gaim_notify_error(gaim_connection_get_account(gc), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
115 _("Token Error"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
116 _("Unable to fetch the token.\n"), NULL); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
117 return; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
118 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
119 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
120 if (token->req->state != GG_STATE_DONE) { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
121 gaim_input_remove(token->inpa); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
122 token->inpa = gaim_input_add(token->req->fd, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
123 (token->req->check == 1) |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
124 ? GAIM_INPUT_WRITE |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
125 : GAIM_INPUT_READ, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
126 ggp_async_token_handler, gc); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
127 return; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
128 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
129 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
130 if (!(t = token->req->data) || !token->req->body) { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
131 gaim_debug_error("gg", "token error (2): %d\n", token->req->error); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
132 gaim_input_remove(token->inpa); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
133 gg_token_free(token->req); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
134 token->req = NULL; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
135 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
136 gaim_notify_error(gaim_connection_get_account(gc), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
137 _("Token Error"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
138 _("Unable to fetch the token.\n"), NULL); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
139 return; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
140 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
141 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
142 gaim_input_remove(token->inpa); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
143 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
144 token->id = g_strdup(t->tokenid); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
145 token->size = token->req->body_size; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
146 token->data = g_new0(char, token->size); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
147 memcpy(token->data, token->req->body, token->size); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
148 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
149 gaim_debug_info("gg", "TOKEN! tokenid = %s; size = %d\n", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
150 token->id, token->size); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
151 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
152 gg_token_free(token->req); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
153 token->req = NULL; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
154 token->inpa = 0; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
155 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
156 cb = token->cb; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
157 token->cb = NULL; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
158 cb(gc); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
159 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
160 /* }}} */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
161 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
162 /* |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
163 */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
164 /* static void ggp_token_request(GaimConnection *gc, GGPTokenCallback cb) {{{ */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
165 static void ggp_token_request(GaimConnection *gc, GGPTokenCallback cb) |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
166 { |
| 13514 | 167 GaimAccount *account; |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
168 struct gg_http *req; |
| 13514 | 169 GGPInfo *info; |
| 170 | |
| 171 account = gaim_connection_get_account(gc); | |
| 172 | |
| 173 if (ggp_setup_proxy(account) == -1) | |
| 174 return; | |
| 175 | |
| 176 info = gc->proto_data; | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
177 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
178 if ((req = gg_token(1)) == NULL) { |
| 13514 | 179 gaim_notify_error(account, |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
180 _("Token Error"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
181 _("Unable to fetch the token.\n"), NULL); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
182 return; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
183 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
184 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
185 info->token = g_new(GGPToken, 1); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
186 info->token->cb = cb; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
187 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
188 info->token->req = req; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
189 info->token->inpa = gaim_input_add(req->fd, GAIM_INPUT_READ, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
190 ggp_async_token_handler, gc); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
191 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
192 /* }}} */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
193 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
194 /* ---------------------------------------------------------------------- */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
195 |
| 11360 | 196 /** |
| 197 * Request buddylist from the server. | |
| 198 * Buddylist is received in the ggp_callback_recv(). | |
| 199 * | |
| 200 * @param Current action handler. | |
| 201 */ | |
| 202 /* static void ggp_action_buddylist_get(GaimPluginAction *action) {{{ */ | |
| 203 static void ggp_action_buddylist_get(GaimPluginAction *action) | |
| 204 { | |
| 205 GaimConnection *gc = (GaimConnection *)action->context; | |
| 206 GGPInfo *info = gc->proto_data; | |
| 207 | |
| 208 gaim_debug_info("gg", "Downloading...\n"); | |
| 209 | |
| 210 gg_userlist_request(info->session, GG_USERLIST_GET, NULL); | |
| 211 } | |
| 212 /* }}} */ | |
| 213 | |
| 214 /** | |
| 215 * Upload the buddylist to the server. | |
| 216 * | |
| 217 * @param action Current action handler. | |
| 218 */ | |
| 219 /* static void ggp_action_buddylist_put(GaimPluginAction *action) {{{ */ | |
| 220 static void ggp_action_buddylist_put(GaimPluginAction *action) | |
| 221 { | |
| 222 GaimConnection *gc = (GaimConnection *)action->context; | |
| 223 GGPInfo *info = gc->proto_data; | |
| 224 | |
| 225 char *buddylist = ggp_buddylist_dump(gaim_connection_get_account(gc)); | |
| 226 | |
| 227 gaim_debug_info("gg", "Uploading...\n"); | |
| 228 | |
| 229 if (buddylist == NULL) | |
| 230 return; | |
| 231 | |
| 232 gg_userlist_request(info->session, GG_USERLIST_PUT, buddylist); | |
| 233 g_free(buddylist); | |
| 234 } | |
| 235 /* }}} */ | |
| 236 | |
| 237 /** | |
| 238 * Delete buddylist from the server. | |
| 239 * | |
| 240 * @param action Current action handler. | |
| 241 */ | |
| 242 /* static void ggp_action_buddylist_delete(GaimPluginAction *action) {{{ */ | |
| 243 static void ggp_action_buddylist_delete(GaimPluginAction *action) | |
| 244 { | |
| 245 GaimConnection *gc = (GaimConnection *)action->context; | |
| 246 GGPInfo *info = gc->proto_data; | |
| 247 | |
| 248 gaim_debug_info("gg", "Deleting...\n"); | |
| 249 | |
| 250 gg_userlist_request(info->session, GG_USERLIST_PUT, NULL); | |
| 251 } | |
| 252 /* }}} */ | |
| 253 | |
| 254 /* | |
| 255 */ | |
| 256 /* static void ggp_callback_buddylist_save_ok(GaimConnection *gc, gchar *file) {{{ */ | |
| 257 static void ggp_callback_buddylist_save_ok(GaimConnection *gc, gchar *file) | |
| 258 { | |
| 259 GaimAccount *account = gaim_connection_get_account(gc); | |
| 260 | |
| 261 FILE *fh; | |
| 262 char *buddylist = ggp_buddylist_dump(account); | |
| 263 gchar *msg; | |
| 264 | |
| 265 gaim_debug_info("gg", "Saving...\n"); | |
| 266 gaim_debug_info("gg", "file = %s\n", file); | |
| 267 | |
| 268 if (buddylist == NULL) { | |
| 269 gaim_notify_info(account, _("Save Buddylist..."), | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
270 _("Your buddylist is empty, nothing was written to the file."), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
271 NULL); |
|
2792
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2791
diff
changeset
|
272 return; |
|
9123abd0db92
[gaim-migrate @ 2805]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2791
diff
changeset
|
273 } |
| 2393 | 274 |
| 11360 | 275 if ((fh = g_fopen(file, "wb")) == NULL) { |
| 276 msg = g_strconcat(_("Couldn't open file"), ": ", file, "\n", NULL); | |
| 277 gaim_debug_error("gg", "Could not open file: %s\n", file); | |
| 278 gaim_notify_error(account, _("Couldn't open file"), msg, NULL); | |
| 279 g_free(msg); | |
| 280 g_free(file); | |
| 281 return; | |
| 282 } | |
| 283 | |
| 284 fwrite(buddylist, sizeof(char), g_utf8_strlen(buddylist, -1), fh); | |
| 285 fclose(fh); | |
| 286 g_free(buddylist); | |
| 287 | |
| 288 gaim_notify_info(account, _("Save Buddylist..."), | |
| 289 _("Buddylist saved successfully!"), NULL); | |
| 290 } | |
| 291 /* }}} */ | |
|
2806
1ffac7cf4e94
[gaim-migrate @ 2819]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
292 |
| 11360 | 293 /* |
| 294 */ | |
| 295 /* static void ggp_callback_buddylist_load_ok(GaimConnection *gc, gchar *file) {{{ */ | |
| 296 static void ggp_callback_buddylist_load_ok(GaimConnection *gc, gchar *file) | |
| 297 { | |
| 298 GaimAccount *account = gaim_connection_get_account(gc); | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
299 GError *error = NULL; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
300 char *buddylist = NULL; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
301 gsize length; |
| 11360 | 302 |
| 303 gaim_debug_info("gg", "file_name = %s\n", file); | |
| 304 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
305 if (!g_file_get_contents(file, &buddylist, &length, &error)) { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
306 gaim_notify_error(account, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
307 _("Couldn't load buddylist"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
308 _("Couldn't load buddylist"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
309 error->message); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
310 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
311 gaim_debug_error("gg", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
312 "Couldn't load buddylist. file = %s; error = %s\n", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
313 file, error->message); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
314 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
315 g_error_free(error); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
316 |
|
2806
1ffac7cf4e94
[gaim-migrate @ 2819]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
317 return; |
|
1ffac7cf4e94
[gaim-migrate @ 2819]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
318 } |
| 11360 | 319 |
| 320 ggp_buddylist_load(gc, buddylist); | |
| 321 g_free(buddylist); | |
| 322 | |
| 323 gaim_notify_info(account, | |
| 324 _("Load Buddylist..."), | |
| 325 _("Buddylist loaded successfully!"), NULL); | |
|
2806
1ffac7cf4e94
[gaim-migrate @ 2819]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
326 } |
| 11360 | 327 /* }}} */ |
| 328 | |
| 329 /* | |
| 330 */ | |
| 331 /* static void ggp_action_buddylist_save(GaimPluginAction *action) {{{ */ | |
| 332 static void ggp_action_buddylist_save(GaimPluginAction *action) | |
| 333 { | |
| 334 GaimConnection *gc = (GaimConnection *)action->context; | |
| 335 | |
| 336 gaim_request_file(action, _("Save buddylist..."), NULL, TRUE, | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
337 G_CALLBACK(ggp_callback_buddylist_save_ok), NULL, gc); |
| 11360 | 338 } |
| 339 /* }}} */ | |
|
2806
1ffac7cf4e94
[gaim-migrate @ 2819]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2792
diff
changeset
|
340 |
| 11360 | 341 /* |
| 342 */ | |
| 343 /* static void ggp_action_buddylist_load(GaimPluginAction *action) {{{ */ | |
| 344 static void ggp_action_buddylist_load(GaimPluginAction *action) | |
| 345 { | |
| 346 GaimConnection *gc = (GaimConnection *)action->context; | |
| 347 | |
| 348 gaim_request_file(action, "Load buddylist from file...", NULL, FALSE, | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
349 G_CALLBACK(ggp_callback_buddylist_load_ok), NULL, gc); |
| 11360 | 350 } |
| 351 /* }}} */ | |
| 352 | |
| 353 /* | |
| 354 */ | |
| 11414 | 355 /* static void ggp_callback_register_account_ok(GaimConnection *gc, GaimRequestFields *fields) {{{ */ |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
356 static void ggp_callback_register_account_ok(GaimConnection *gc, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
357 GaimRequestFields *fields) |
| 11414 | 358 { |
| 359 GaimAccount *account; | |
| 360 GGPInfo *info = gc->proto_data; | |
| 361 struct gg_http *h = NULL; | |
| 362 struct gg_pubdir *s; | |
| 363 uin_t uin; | |
| 364 gchar *email, *p1, *p2, *t; | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
365 GGPToken *token = info->token; |
| 11414 | 366 |
| 367 email = charset_convert(gaim_request_fields_get_string(fields, "email"), | |
| 368 "UTF-8", "CP1250"); | |
| 369 p1 = charset_convert(gaim_request_fields_get_string(fields, "password1"), | |
| 370 "UTF-8", "CP1250"); | |
| 371 p2 = charset_convert(gaim_request_fields_get_string(fields, "password2"), | |
| 372 "UTF-8", "CP1250"); | |
| 373 t = charset_convert(gaim_request_fields_get_string(fields, "token"), | |
| 374 "UTF-8", "CP1250"); | |
| 375 | |
| 376 account = gaim_connection_get_account(gc); | |
| 377 | |
| 378 if (email == NULL || p1 == NULL || p2 == NULL || t == NULL || | |
| 379 *email == '\0' || *p1 == '\0' || *p2 == '\0' || *t == '\0') { | |
|
11545
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
380 gaim_connection_error(gc, _("Fill in the registration fields.")); |
| 11414 | 381 goto exit_err; |
| 382 } | |
| 383 | |
| 384 if (g_utf8_collate(p1, p2) != 0) { | |
|
11545
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
385 gaim_connection_error(gc, _("Passwords do not match.")); |
| 11414 | 386 goto exit_err; |
| 387 } | |
| 388 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
389 gaim_debug_info("gg", "register_account_ok: token_id = %d; t = %s\n", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
390 token->id, t); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
391 h = gg_register3(email, p1, token->id, t, 0); |
| 11414 | 392 if (h == NULL || !(s = h->data) || !s->success) { |
|
11545
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
393 gaim_connection_error(gc, |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
394 _("Unable to register new account. Error occurred.\n")); |
| 11414 | 395 goto exit_err; |
| 396 } | |
| 397 | |
| 398 uin = s->uin; | |
| 399 gaim_debug_info("gg", "registered uin: %d\n", uin); | |
| 400 | |
|
11545
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
401 g_free(t); |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
402 t = g_strdup_printf("%u", uin); |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
403 gaim_account_set_username(account, t); |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
404 /* Save the password if remembering passwords for the account */ |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
405 gaim_account_set_password(account, p1); |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
406 |
| 11414 | 407 gaim_notify_info(NULL, _("New Gadu-Gadu Account Registered"), |
| 408 _("Registration completed successfully!"), NULL); | |
| 409 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
410 /* TODO: the currently open Accounts Window will not be updated withthe |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
411 * new username and etc, we need to somehow have it refresh at this |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
412 * point |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
413 */ |
|
11545
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
414 |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
415 /* Need to disconnect or actually log in. For now, we disconnect. */ |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
416 gaim_connection_destroy(gc); |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
417 |
| 11414 | 418 exit_err: |
| 419 gg_register_free(h); | |
| 420 g_free(email); | |
| 421 g_free(p1); | |
| 422 g_free(p2); | |
| 423 g_free(t); | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
424 g_free(token->id); |
|
11545
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
425 g_free(token); |
| 11414 | 426 } |
| 427 /* }}} */ | |
| 428 | |
| 11565 | 429 /* |
| 430 */ | |
| 431 /* static void ggp_callback_register_account_cancel(GaimConnection *gc, GaimRequestFields *fields) {{{ */ | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
432 static void ggp_callback_register_account_cancel(GaimConnection *gc, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
433 GaimRequestFields *fields) |
|
11545
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
434 { |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
435 GGPInfo *info = gc->proto_data; |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
436 GGPToken *token = info->token; |
|
11545
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
437 |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
438 gaim_connection_destroy(gc); |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
439 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
440 g_free(token->id); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
441 g_free(token->data); |
|
11545
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
442 g_free(token); |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
443 |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
444 } |
| 11565 | 445 /* }}} */ |
|
11545
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
446 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
447 /* |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
448 */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
449 /* static void ggp_register_user_dialog(GaimConnection *gc) {{{ */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
450 static void ggp_register_user_dialog(GaimConnection *gc) |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
451 { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
452 GaimAccount *account; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
453 GaimRequestFields *fields; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
454 GaimRequestFieldGroup *group; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
455 GaimRequestField *field; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
456 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
457 GGPInfo *info = gc->proto_data; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
458 GGPToken *token = info->token; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
459 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
460 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
461 account = gaim_connection_get_account(gc); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
462 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
463 fields = gaim_request_fields_new(); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
464 group = gaim_request_field_group_new(NULL); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
465 gaim_request_fields_add_group(fields, group); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
466 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
467 field = gaim_request_field_string_new("email", |
|
13545
cfc2f7fcb3dd
[gaim-migrate @ 15922]
Richard Laager <rlaager@wiktel.com>
parents:
13517
diff
changeset
|
468 _("E-mail"), "", FALSE); |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
469 gaim_request_field_string_set_masked(field, FALSE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
470 gaim_request_field_group_add_field(group, field); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
471 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
472 field = gaim_request_field_string_new("password1", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
473 _("Password"), "", FALSE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
474 gaim_request_field_string_set_masked(field, TRUE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
475 gaim_request_field_group_add_field(group, field); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
476 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
477 field = gaim_request_field_string_new("password2", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
478 _("Password (retype)"), "", FALSE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
479 gaim_request_field_string_set_masked(field, TRUE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
480 gaim_request_field_group_add_field(group, field); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
481 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
482 field = gaim_request_field_string_new("token", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
483 _("Enter current token"), "", FALSE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
484 gaim_request_field_string_set_masked(field, FALSE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
485 gaim_request_field_group_add_field(group, field); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
486 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
487 /* original size: 60x24 */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
488 field = gaim_request_field_image_new("token_img", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
489 _("Current token"), token->data, token->size); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
490 gaim_request_field_group_add_field(group, field); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
491 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
492 gaim_request_fields(account, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
493 _("Register New Gadu-Gadu Account"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
494 _("Register New Gadu-Gadu Account"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
495 _("Please, fill in the following fields"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
496 fields, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
497 _("OK"), G_CALLBACK(ggp_callback_register_account_ok), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
498 _("Cancel"), G_CALLBACK(ggp_callback_register_account_cancel), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
499 gc); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
500 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
501 /* }}} */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
502 |
| 11414 | 503 /* ----- PUBLIC DIRECTORY SEARCH ---------------------------------------- */ |
| 504 | |
| 505 /* | |
| 506 */ | |
| 507 /* static void ggp_callback_show_next(GaimConnection *gc, GList *row) {{{ */ | |
| 508 static void ggp_callback_show_next(GaimConnection *gc, GList *row) | |
| 509 { | |
| 510 GGPInfo *info = gc->proto_data; | |
| 511 | |
| 512 g_free(info->search_form->offset); | |
| 513 info->search_form->offset = g_strdup(info->search_form->last_uin); | |
| 514 ggp_search_start(gc, info->search_form); | |
| 515 } | |
| 516 /* }}} */ | |
| 517 | |
| 518 /* | |
| 519 */ | |
| 520 /* static void ggp_callback_add_buddy(GaimConnection *gc, GList *row) {{{ */ | |
| 521 static void ggp_callback_add_buddy(GaimConnection *gc, GList *row) | |
| 522 { | |
| 523 gaim_blist_request_add_buddy(gaim_connection_get_account(gc), | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
524 g_list_nth_data(row, 0), NULL, NULL); |
| 11414 | 525 } |
| 526 /* }}} */ | |
| 527 | |
| 528 /* | |
| 529 */ | |
| 530 /* static void ggp_callback_find_buddies(GaimConnection *gc, GaimRequestFields *fields) {{{ */ | |
| 531 static void ggp_callback_find_buddies(GaimConnection *gc, GaimRequestFields *fields) | |
| 532 { | |
| 533 GGPInfo *info = gc->proto_data; | |
| 534 GGPSearchForm *form; | |
| 535 | |
| 536 form = ggp_search_form_new(); | |
| 537 info->search_form = form; | |
| 538 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
539 form->lastname = charset_convert( |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
540 gaim_request_fields_get_string(fields, "lastname"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
541 "UTF-8", "CP1250"); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
542 form->firstname = charset_convert( |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
543 gaim_request_fields_get_string(fields, "firstname"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
544 "UTF-8", "CP1250"); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
545 form->nickname = charset_convert( |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
546 gaim_request_fields_get_string(fields, "nickname"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
547 "UTF-8", "CP1250"); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
548 form->city = charset_convert( |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
549 gaim_request_fields_get_string(fields, "city"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
550 "UTF-8", "CP1250"); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
551 form->birthyear = charset_convert( |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
552 gaim_request_fields_get_string(fields, "year"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
553 "UTF-8", "CP1250"); |
| 11414 | 554 |
| 555 switch (gaim_request_fields_get_choice(fields, "gender")) { | |
| 556 case 1: | |
| 557 form->gender = g_strdup(GG_PUBDIR50_GENDER_MALE); | |
| 558 break; | |
| 559 case 2: | |
| 560 form->gender = g_strdup(GG_PUBDIR50_GENDER_FEMALE); | |
| 561 break; | |
| 562 default: | |
| 563 form->gender = NULL; | |
| 564 break; | |
| 565 } | |
| 566 | |
| 567 form->active = gaim_request_fields_get_bool(fields, "active") | |
| 568 ? g_strdup(GG_PUBDIR50_ACTIVE_TRUE) : NULL; | |
| 569 | |
| 570 form->offset = g_strdup("0"); | |
| 571 | |
| 572 ggp_search_start(gc, form); | |
| 573 } | |
| 574 /* }}} */ | |
| 575 | |
| 576 /* | |
| 577 */ | |
| 578 /* static void ggp_find_buddies(GaimPluginAction *action) {{{ */ | |
| 579 static void ggp_find_buddies(GaimPluginAction *action) | |
| 580 { | |
| 581 GaimConnection *gc = (GaimConnection *)action->context; | |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
582 GGPInfo *info = gc->proto_data; |
| 11414 | 583 |
| 584 GaimRequestFields *fields; | |
| 585 GaimRequestFieldGroup *group; | |
| 586 GaimRequestField *field; | |
| 587 | |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
588 if (info->search_form != NULL) { |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
589 gaim_notify_error(gc, NULL, |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
590 _("Unable to initiate a new search"), |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
591 _("You have a pending search. Please wait for it to finish.")); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
592 return; |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
593 } |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
594 |
| 11414 | 595 fields = gaim_request_fields_new(); |
| 596 group = gaim_request_field_group_new(NULL); | |
| 597 gaim_request_fields_add_group(fields, group); | |
| 598 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
599 field = gaim_request_field_string_new("lastname", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
600 _("Last name"), NULL, FALSE); |
| 11414 | 601 gaim_request_field_string_set_masked(field, FALSE); |
| 602 gaim_request_field_group_add_field(group, field); | |
| 603 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
604 field = gaim_request_field_string_new("firstname", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
605 _("First name"), NULL, FALSE); |
| 11414 | 606 gaim_request_field_string_set_masked(field, FALSE); |
| 607 gaim_request_field_group_add_field(group, field); | |
| 608 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
609 field = gaim_request_field_string_new("nickname", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
610 _("Nickname"), NULL, FALSE); |
| 11414 | 611 gaim_request_field_string_set_masked(field, FALSE); |
| 612 gaim_request_field_group_add_field(group, field); | |
| 613 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
614 field = gaim_request_field_string_new("city", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
615 _("City"), NULL, FALSE); |
| 11414 | 616 gaim_request_field_string_set_masked(field, FALSE); |
| 617 gaim_request_field_group_add_field(group, field); | |
| 618 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
619 field = gaim_request_field_string_new("year", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
620 _("Year of birth"), NULL, FALSE); |
| 11414 | 621 gaim_request_field_group_add_field(group, field); |
| 622 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
623 field = gaim_request_field_choice_new("gender", _("Gender"), 0); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
624 gaim_request_field_choice_add(field, _("Male or female")); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
625 gaim_request_field_choice_add(field, _("Male")); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
626 gaim_request_field_choice_add(field, _("Female")); |
| 11414 | 627 gaim_request_field_group_add_field(group, field); |
| 628 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
629 field = gaim_request_field_bool_new("active", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
630 _("Only online"), FALSE); |
| 11414 | 631 gaim_request_field_group_add_field(group, field); |
| 632 | |
| 633 gaim_request_fields(gc, | |
| 634 _("Find buddies"), | |
| 635 _("Find buddies"), | |
| 636 _("Please, enter your search criteria below"), | |
| 637 fields, | |
| 638 _("OK"), G_CALLBACK(ggp_callback_find_buddies), | |
| 639 _("Cancel"), NULL, | |
| 640 gc); | |
| 641 } | |
| 642 /* }}} */ | |
| 643 | |
| 644 /* ----- CHANGE PASSWORD ------------------------------------------------ */ | |
| 645 | |
| 646 /* | |
| 647 */ | |
| 11360 | 648 /* static void ggp_callback_change_passwd_ok(GaimConnection *gc, GaimRequestFields *fields) {{{ */ |
| 649 static void ggp_callback_change_passwd_ok(GaimConnection *gc, GaimRequestFields *fields) | |
| 2393 | 650 { |
| 11360 | 651 GaimAccount *account; |
| 652 GGPInfo *info = gc->proto_data; | |
| 653 struct gg_http *h; | |
| 654 gchar *cur, *p1, *p2, *t; | |
| 655 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
656 cur = charset_convert( |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
657 gaim_request_fields_get_string(fields, "password_cur"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
658 "UTF-8", "CP1250"); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
659 p1 = charset_convert( |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
660 gaim_request_fields_get_string(fields, "password1"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
661 "UTF-8", "CP1250"); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
662 p2 = charset_convert( |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
663 gaim_request_fields_get_string(fields, "password2"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
664 "UTF-8", "CP1250"); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
665 t = charset_convert( |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
666 gaim_request_fields_get_string(fields, "token"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
667 "UTF-8", "CP1250"); |
| 11360 | 668 |
| 669 account = gaim_connection_get_account(gc); | |
| 670 | |
| 671 if (cur == NULL || p1 == NULL || p2 == NULL || t == NULL || | |
| 672 *cur == '\0' || *p1 == '\0' || *p2 == '\0' || *t == '\0') { | |
| 673 gaim_notify_error(account, NULL, _("Fill in the fields."), NULL); | |
| 674 goto exit_err; | |
| 675 } | |
| 676 | |
| 677 if (g_utf8_collate(p1, p2) != 0) { | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
678 gaim_notify_error(account, NULL, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
679 _("New passwords do not match."), NULL); |
| 11360 | 680 goto exit_err; |
| 681 } | |
| 2393 | 682 |
| 11360 | 683 if (g_utf8_collate(cur, gaim_account_get_password(account)) != 0) { |
| 684 gaim_notify_error(account, NULL, | |
| 685 _("Your current password is different from the one that you specified."), | |
| 686 NULL); | |
| 687 goto exit_err; | |
| 688 } | |
| 689 | |
| 12457 | 690 gaim_debug_info("gg", "Changing password\n"); |
| 11360 | 691 |
| 692 /* XXX: this e-mail should be a pref... */ | |
| 693 h = gg_change_passwd4(ggp_get_uin(account), | |
| 694 "user@example.net", gaim_account_get_password(account), | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
695 p1, info->token->id, t, 0); |
| 2393 | 696 |
| 11360 | 697 if (h == NULL) { |
| 698 gaim_notify_error(account, NULL, | |
| 699 _("Unable to change password. Error occured.\n"), | |
| 700 NULL); | |
| 701 goto exit_err; | |
| 702 } | |
| 703 | |
| 704 gaim_account_set_password(account, p1); | |
| 705 | |
| 706 gg_change_passwd_free(h); | |
| 707 | |
| 708 gaim_notify_info(account, _("Change password for the Gadu-Gadu account"), | |
| 709 _("Password was changed successfully!"), NULL); | |
| 710 | |
| 711 exit_err: | |
| 712 g_free(cur); | |
| 713 g_free(p1); | |
| 714 g_free(p2); | |
| 715 g_free(t); | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
716 g_free(info->token->id); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
717 g_free(info->token->data); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
718 g_free(info->token); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
719 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
720 /* }}} */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
721 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
722 /* |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
723 */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
724 /* static void ggp_change_passwd_dialog(GaimConnection *gc) {{{ */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
725 static void ggp_change_passwd_dialog(GaimConnection *gc) |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
726 { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
727 GaimRequestFields *fields; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
728 GaimRequestFieldGroup *group; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
729 GaimRequestField *field; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
730 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
731 GGPInfo *info = gc->proto_data; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
732 GGPToken *token = info->token; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
733 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
734 char *msg; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
735 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
736 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
737 fields = gaim_request_fields_new(); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
738 group = gaim_request_field_group_new(NULL); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
739 gaim_request_fields_add_group(fields, group); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
740 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
741 field = gaim_request_field_string_new("password_cur", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
742 _("Current password"), "", FALSE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
743 gaim_request_field_string_set_masked(field, TRUE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
744 gaim_request_field_group_add_field(group, field); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
745 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
746 field = gaim_request_field_string_new("password1", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
747 _("Password"), "", FALSE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
748 gaim_request_field_string_set_masked(field, TRUE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
749 gaim_request_field_group_add_field(group, field); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
750 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
751 field = gaim_request_field_string_new("password2", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
752 _("Password (retype)"), "", FALSE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
753 gaim_request_field_string_set_masked(field, TRUE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
754 gaim_request_field_group_add_field(group, field); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
755 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
756 field = gaim_request_field_string_new("token", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
757 _("Enter current token"), "", FALSE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
758 gaim_request_field_string_set_masked(field, FALSE); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
759 gaim_request_field_group_add_field(group, field); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
760 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
761 /* original size: 60x24 */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
762 field = gaim_request_field_image_new("token_img", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
763 _("Current token"), token->data, token->size); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
764 gaim_request_field_group_add_field(group, field); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
765 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
766 msg = g_strdup_printf("%s %d", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
767 _("Please, enter your current password and your new password for UIN: "), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
768 ggp_get_uin(gaim_connection_get_account(gc))); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
769 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
770 gaim_request_fields(gc, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
771 _("Change Gadu-Gadu Password"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
772 _("Change Gadu-Gadu Password"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
773 msg, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
774 fields, _("OK"), G_CALLBACK(ggp_callback_change_passwd_ok), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
775 _("Cancel"), NULL, gc); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
776 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
777 g_free(msg); |
| 11360 | 778 } |
| 779 /* }}} */ | |
| 2393 | 780 |
| 11360 | 781 /* |
| 782 */ | |
| 783 /* static void ggp_change_passwd(GaimPluginAction *action) {{{ */ | |
| 784 static void ggp_change_passwd(GaimPluginAction *action) | |
| 785 { | |
| 786 GaimConnection *gc = (GaimConnection *)action->context; | |
| 787 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
788 ggp_token_request(gc, ggp_change_passwd_dialog); |
| 11360 | 789 } |
| 790 /* }}} */ | |
| 791 | |
| 11414 | 792 /* ----- CONFERENCES ---------------------------------------------------- */ |
| 793 | |
| 11394 | 794 /* |
| 795 */ | |
| 796 /* static void ggp_callback_add_to_chat_ok(GaimConnection *gc, GaimRequestFields *fields) {{{ */ | |
| 797 static void ggp_callback_add_to_chat_ok(GaimConnection *gc, GaimRequestFields *fields) | |
| 798 { | |
| 799 GGPInfo *info = gc->proto_data; | |
| 800 GaimRequestField *field; | |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
801 const GList *sel; |
| 11394 | 802 |
| 803 field = gaim_request_fields_get_field(fields, "name"); | |
| 804 sel = gaim_request_field_list_get_selected(field); | |
| 805 | |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
806 ggp_confer_participants_add_uin(gc, sel->data, info->tmp_buddy); |
|
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
807 info->tmp_buddy = 0; |
| 11394 | 808 } |
| 809 /* }}} */ | |
| 810 | |
| 811 /* | |
| 812 */ | |
| 813 /* static void ggp_bmenu_add_to_chat(GaimBlistNode *node, gpointer ignored) {{{ */ | |
| 814 static void ggp_bmenu_add_to_chat(GaimBlistNode *node, gpointer ignored) | |
| 815 { | |
| 816 GaimBuddy *buddy; | |
| 817 GaimConnection *gc; | |
| 818 GGPInfo *info; | |
| 819 | |
| 820 GaimRequestFields *fields; | |
| 821 GaimRequestFieldGroup *group; | |
| 822 GaimRequestField *field; | |
| 823 | |
| 824 GList *l; | |
| 825 gchar *msg; | |
| 826 | |
| 827 buddy = (GaimBuddy *)node; | |
| 828 gc = gaim_account_get_connection(gaim_buddy_get_account(buddy)); | |
| 829 info = gc->proto_data; | |
| 830 | |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
831 /* TODO: It tmp_buddy != 0 then stop! */ |
|
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
832 info->tmp_buddy = ggp_str_to_uin(gaim_buddy_get_name(buddy)); |
| 11394 | 833 |
| 834 fields = gaim_request_fields_new(); | |
| 835 group = gaim_request_field_group_new(NULL); | |
| 836 gaim_request_fields_add_group(fields, group); | |
| 837 | |
| 838 field = gaim_request_field_list_new("name", "Chat name"); | |
| 839 for (l = info->chats; l != NULL; l = l->next) { | |
| 840 GGPChat *chat = l->data; | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
841 gaim_request_field_list_add(field, g_strdup(chat->name), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
842 g_strdup(chat->name)); |
| 11394 | 843 } |
| 844 gaim_request_field_group_add_field(group, field); | |
| 845 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
846 msg = g_strdup_printf(_("Select a chat for buddy: %s"), |
| 13465 | 847 gaim_buddy_get_alias(buddy)); |
| 11394 | 848 gaim_request_fields(gc, |
| 849 _("Add to chat..."), | |
| 850 _("Add to chat..."), | |
| 851 msg, | |
| 852 fields, | |
| 853 _("Add"), G_CALLBACK(ggp_callback_add_to_chat_ok), | |
| 854 _("Cancel"), NULL, gc); | |
| 855 g_free(msg); | |
| 856 } | |
| 857 /* }}} */ | |
| 858 | |
| 11414 | 859 /* ----- BLOCK BUDDIES -------------------------------------------------- */ |
| 860 | |
| 11410 | 861 /* |
| 862 */ | |
| 863 /* static void ggp_bmenu_block(GaimBlistNode *node, gpointer ignored) {{{ */ | |
| 864 static void ggp_bmenu_block(GaimBlistNode *node, gpointer ignored) | |
| 865 { | |
| 866 GaimConnection *gc; | |
| 867 GaimBuddy *buddy; | |
| 868 GGPInfo *info; | |
| 869 uin_t uin; | |
| 870 | |
| 871 buddy = (GaimBuddy *)node; | |
| 872 gc = gaim_account_get_connection(gaim_buddy_get_account(buddy)); | |
| 873 info = gc->proto_data; | |
| 874 | |
| 875 uin = ggp_str_to_uin(gaim_buddy_get_name(buddy)); | |
| 876 | |
| 877 if (gaim_blist_node_get_bool(node, "blocked")) { | |
| 878 gaim_blist_node_set_bool(node, "blocked", FALSE); | |
| 879 gg_remove_notify_ex(info->session, uin, GG_USER_BLOCKED); | |
| 880 gg_add_notify_ex(info->session, uin, GG_USER_NORMAL); | |
| 881 gaim_debug_info("gg", "send: uin=%d; mode=NORMAL\n", uin); | |
| 882 } else { | |
| 883 gaim_blist_node_set_bool(node, "blocked", TRUE); | |
| 884 gg_remove_notify_ex(info->session, uin, GG_USER_NORMAL); | |
| 885 gg_add_notify_ex(info->session, uin, GG_USER_BLOCKED); | |
| 886 gaim_debug_info("gg", "send: uin=%d; mode=BLOCKED\n", uin); | |
| 887 } | |
| 888 } | |
| 889 /* }}} */ | |
| 890 | |
| 11360 | 891 /* ---------------------------------------------------------------------- */ |
| 11414 | 892 /* ----- INTERNAL CALLBACKS --------------------------------------------- */ |
| 893 /* ---------------------------------------------------------------------- */ | |
| 894 | |
|
12964
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
895 /* just a prototype */ |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
896 static void ggp_set_status(GaimAccount *account, GaimStatus *status); |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
897 |
| 11414 | 898 /** |
| 899 * Handle change of the status of the buddy. | |
| 900 * | |
| 901 * @param gc GaimConnection | |
| 902 * @param uin UIN of the buddy. | |
| 903 * @param status ID of the status. | |
| 904 * @param descr Description. | |
| 905 */ | |
| 906 /* static void ggp_generic_status_handler(GaimConnection *gc, uin_t uin, int status, const char *descr) {{{ */ | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
907 static void ggp_generic_status_handler(GaimConnection *gc, uin_t uin, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
908 int status, const char *descr) |
| 11414 | 909 { |
| 910 gchar *from; | |
| 911 const char *st; | |
| 912 gchar *msg; | |
| 913 | |
| 914 from = g_strdup_printf("%ld", (unsigned long int)uin); | |
| 915 switch (status) { | |
| 916 case GG_STATUS_NOT_AVAIL: | |
| 917 case GG_STATUS_NOT_AVAIL_DESCR: | |
| 918 st = "offline"; | |
| 919 break; | |
| 920 case GG_STATUS_AVAIL: | |
| 921 case GG_STATUS_AVAIL_DESCR: | |
| 11638 | 922 st = "available"; |
| 11414 | 923 break; |
| 924 case GG_STATUS_BUSY: | |
| 925 case GG_STATUS_BUSY_DESCR: | |
|
12718
b5fb60cb3bad
[gaim-migrate @ 15062]
Richard Laager <rlaager@wiktel.com>
parents:
12717
diff
changeset
|
926 st = "away"; |
| 11414 | 927 break; |
| 928 case GG_STATUS_BLOCKED: | |
| 929 /* user is blocking us.... */ | |
| 930 st = "blocked"; | |
| 931 break; | |
| 932 default: | |
| 11638 | 933 st = "available"; |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
934 gaim_debug_info("gg", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
935 "GG_EVENT_NOTIFY: Unknown status: %d\n", status); |
| 11414 | 936 break; |
| 937 } | |
| 938 | |
| 939 gaim_debug_info("gg", "st = %s\n", st); | |
| 940 msg = charset_convert(descr, "CP1250", "UTF-8"); | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
941 gaim_prpl_got_user_status(gaim_connection_get_account(gc), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
942 from, st, "message", msg, NULL); |
| 11414 | 943 g_free(from); |
| 944 g_free(msg); | |
| 945 } | |
| 946 /* }}} */ | |
| 947 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
948 /* |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
949 */ |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
950 /* static void ggp_sr_close_cb(GaimAccount *account) {{{ */ |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
951 static void ggp_sr_close_cb(GaimAccount *account) |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
952 { |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
953 GaimConnection *gc = gaim_account_get_connection(account); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
954 GGPInfo *info = gc->proto_data; |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
955 GGPSearchForm *f; |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
956 |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
957 info->searchresults_window = NULL; |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
958 |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
959 f = info->search_form; |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
960 g_free(f->uin); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
961 g_free(f->lastname); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
962 g_free(f->firstname); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
963 g_free(f->nickname); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
964 g_free(f->city); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
965 g_free(f->birthyear); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
966 g_free(f->gender); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
967 g_free(f->active); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
968 g_free(f->offset); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
969 g_free(f->last_uin); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
970 g_free(f); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
971 |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
972 info->search_form = NULL; |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
973 } |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
974 /* }}} */ |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
975 |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
976 /* |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
977 */ |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
978 /* static void ggp_pubdir_reply_handler(GaimConnection *gc, gg_pubdir50_t req) {{{ */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
979 static void ggp_pubdir_reply_handler(GaimConnection *gc, gg_pubdir50_t req) |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
980 { |
| 13517 | 981 GaimAccount *account = gaim_connection_get_account(gc); |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
982 GGPInfo *info = gc->proto_data; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
983 GaimNotifySearchResults *results; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
984 GaimNotifySearchColumn *column; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
985 int res_count = 0; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
986 int start; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
987 int i; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
988 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
989 res_count = gg_pubdir50_count(req); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
990 if (res_count < 1) { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
991 gaim_debug_info("gg", "GG_EVENT_PUBDIR50_SEARCH_REPLY: Nothing found\n"); |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
992 gaim_notify_error(gc, NULL, |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
993 _("No matching users found"), |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
994 _("There are no users matching your search criteria.")); |
| 13517 | 995 ggp_sr_close_cb(account); |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
996 return; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
997 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
998 res_count = (res_count > 20) ? 20 : res_count; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
999 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1000 results = gaim_notify_searchresults_new(); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1001 |
|
12257
ca27de274225
[gaim-migrate @ 14559]
Richard Laager <rlaager@wiktel.com>
parents:
12220
diff
changeset
|
1002 if (results == NULL) { |
|
ca27de274225
[gaim-migrate @ 14559]
Richard Laager <rlaager@wiktel.com>
parents:
12220
diff
changeset
|
1003 gaim_debug_error("gg", "ggp_pubdir_reply_handler: " |
|
ca27de274225
[gaim-migrate @ 14559]
Richard Laager <rlaager@wiktel.com>
parents:
12220
diff
changeset
|
1004 "Unable to display the search results.\n"); |
|
ca27de274225
[gaim-migrate @ 14559]
Richard Laager <rlaager@wiktel.com>
parents:
12220
diff
changeset
|
1005 gaim_notify_error(gc, NULL, |
|
ca27de274225
[gaim-migrate @ 14559]
Richard Laager <rlaager@wiktel.com>
parents:
12220
diff
changeset
|
1006 _("Unable to display the search results."), |
|
ca27de274225
[gaim-migrate @ 14559]
Richard Laager <rlaager@wiktel.com>
parents:
12220
diff
changeset
|
1007 NULL); |
| 13517 | 1008 ggp_sr_close_cb(account); |
|
12257
ca27de274225
[gaim-migrate @ 14559]
Richard Laager <rlaager@wiktel.com>
parents:
12220
diff
changeset
|
1009 return; |
|
ca27de274225
[gaim-migrate @ 14559]
Richard Laager <rlaager@wiktel.com>
parents:
12220
diff
changeset
|
1010 } |
|
ca27de274225
[gaim-migrate @ 14559]
Richard Laager <rlaager@wiktel.com>
parents:
12220
diff
changeset
|
1011 |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1012 column = gaim_notify_searchresults_column_new(_("UIN")); |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1013 gaim_notify_searchresults_column_add(results, column); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1014 |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1015 column = gaim_notify_searchresults_column_new(_("First name")); |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1016 gaim_notify_searchresults_column_add(results, column); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1017 |
| 12489 | 1018 column = gaim_notify_searchresults_column_new(_("Nickname")); |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1019 gaim_notify_searchresults_column_add(results, column); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1020 |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1021 column = gaim_notify_searchresults_column_new(_("City")); |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1022 gaim_notify_searchresults_column_add(results, column); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1023 |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1024 column = gaim_notify_searchresults_column_new(_("Birth year")); |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1025 gaim_notify_searchresults_column_add(results, column); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1026 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1027 gaim_debug_info("gg", "Going with %d entries\n", res_count); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1028 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1029 start = (int)ggp_str_to_uin(gg_pubdir50_get(req, 0, GG_PUBDIR50_START)); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1030 gaim_debug_info("gg", "start = %d\n", start); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1031 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1032 for (i = 0; i < res_count; i++) { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1033 GList *row = NULL; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1034 char *birth = ggp_search_get_result(req, i, GG_PUBDIR50_BIRTHYEAR); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1035 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1036 /* TODO: Status will be displayed as an icon. */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1037 /* row = g_list_append(row, ggp_search_get_result(req, i, GG_PUBDIR50_STATUS)); */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1038 row = g_list_append(row, ggp_search_get_result(req, i, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1039 GG_PUBDIR50_UIN)); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1040 row = g_list_append(row, ggp_search_get_result(req, i, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1041 GG_PUBDIR50_FIRSTNAME)); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1042 row = g_list_append(row, ggp_search_get_result(req, i, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1043 GG_PUBDIR50_NICKNAME)); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1044 row = g_list_append(row, ggp_search_get_result(req, i, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1045 GG_PUBDIR50_CITY)); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1046 row = g_list_append(row, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1047 (birth && strncmp(birth, "0", 1)) ? birth : g_strdup("-")); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1048 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1049 gaim_notify_searchresults_row_add(results, row); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1050 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1051 if (i == res_count - 1) { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1052 g_free(info->search_form->last_uin); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1053 info->search_form->last_uin = ggp_search_get_result(req, i, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1054 GG_PUBDIR50_UIN); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1055 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1056 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1057 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1058 gaim_notify_searchresults_button_add(results, GAIM_NOTIFY_BUTTON_CONTINUE, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1059 ggp_callback_show_next); |
|
12624
851b0bd7eb52
[gaim-migrate @ 14960]
Christopher O'Brien <siege@pidgin.im>
parents:
12600
diff
changeset
|
1060 gaim_notify_searchresults_button_add(results, GAIM_NOTIFY_BUTTON_ADD, |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1061 ggp_callback_add_buddy); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1062 if (info->searchresults_window == NULL) { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1063 void *h = gaim_notify_searchresults(gc, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1064 _("Gadu-Gadu Public Directory"), |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1065 _("Search results"), NULL, results, |
|
12257
ca27de274225
[gaim-migrate @ 14559]
Richard Laager <rlaager@wiktel.com>
parents:
12220
diff
changeset
|
1066 (GaimNotifyCloseCallback)ggp_sr_close_cb, |
| 13517 | 1067 account); |
|
12257
ca27de274225
[gaim-migrate @ 14559]
Richard Laager <rlaager@wiktel.com>
parents:
12220
diff
changeset
|
1068 |
|
12277
739e3aca067a
[gaim-migrate @ 14581]
Richard Laager <rlaager@wiktel.com>
parents:
12258
diff
changeset
|
1069 if (h == NULL) { |
|
739e3aca067a
[gaim-migrate @ 14581]
Richard Laager <rlaager@wiktel.com>
parents:
12258
diff
changeset
|
1070 gaim_debug_error("gg", "ggp_pubdir_reply_handler: " |
|
739e3aca067a
[gaim-migrate @ 14581]
Richard Laager <rlaager@wiktel.com>
parents:
12258
diff
changeset
|
1071 "Unable to display the search results.\n"); |
|
739e3aca067a
[gaim-migrate @ 14581]
Richard Laager <rlaager@wiktel.com>
parents:
12258
diff
changeset
|
1072 gaim_notify_error(gc, NULL, |
|
739e3aca067a
[gaim-migrate @ 14581]
Richard Laager <rlaager@wiktel.com>
parents:
12258
diff
changeset
|
1073 _("Unable to display the search results."), |
|
739e3aca067a
[gaim-migrate @ 14581]
Richard Laager <rlaager@wiktel.com>
parents:
12258
diff
changeset
|
1074 NULL); |
| 13517 | 1075 ggp_sr_close_cb(account); |
|
12277
739e3aca067a
[gaim-migrate @ 14581]
Richard Laager <rlaager@wiktel.com>
parents:
12258
diff
changeset
|
1076 return; |
|
739e3aca067a
[gaim-migrate @ 14581]
Richard Laager <rlaager@wiktel.com>
parents:
12258
diff
changeset
|
1077 } |
|
739e3aca067a
[gaim-migrate @ 14581]
Richard Laager <rlaager@wiktel.com>
parents:
12258
diff
changeset
|
1078 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1079 info->searchresults_window = h; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1080 } else { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1081 gaim_notify_searchresults_new_rows(gc, results, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1082 info->searchresults_window, NULL); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1083 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1084 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1085 /* }}} */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1086 |
| 11414 | 1087 /** |
| 1088 * Dispatch a message received from a buddy. | |
| 1089 * | |
| 1090 * @param gc GaimConnection. | |
| 1091 * @param ev Gadu-Gadu event structure. | |
| 1092 */ | |
| 1093 /* static void ggp_recv_message_handler(GaimConnection *gc, const struct gg_event *ev) {{{ */ | |
| 1094 static void ggp_recv_message_handler(GaimConnection *gc, const struct gg_event *ev) | |
| 1095 { | |
| 1096 GGPInfo *info = gc->proto_data; | |
| 1097 GaimConversation *conv; | |
| 1098 gchar *from; | |
| 1099 gchar *msg; | |
| 1100 gchar *tmp; | |
| 1101 | |
| 1102 from = g_strdup_printf("%lu", (unsigned long int)ev->event.msg.sender); | |
| 1103 | |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1104 tmp = charset_convert((const char *)ev->event.msg.message, |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1105 "CP1250", "UTF-8"); |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1106 gaim_str_strip_char(tmp, '\r'); |
|
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1107 msg = g_markup_escape_text(tmp, -1); |
|
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1108 g_free(tmp); |
| 11414 | 1109 |
| 1110 gaim_debug_info("gg", "msg form (%s): %s (class = %d; rcpt_count = %d)\n", | |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1111 from, msg, ev->event.msg.msgclass, |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1112 ev->event.msg.recipients_count); |
| 11414 | 1113 |
| 1114 if (ev->event.msg.recipients_count == 0) { | |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1115 serv_got_im(gc, from, msg, 0, ev->event.msg.time); |
| 11414 | 1116 } else { |
|
12373
508512caa22e
[gaim-migrate @ 14677]
Richard Laager <rlaager@wiktel.com>
parents:
12277
diff
changeset
|
1117 const char *chat_name; |
|
508512caa22e
[gaim-migrate @ 14677]
Richard Laager <rlaager@wiktel.com>
parents:
12277
diff
changeset
|
1118 int chat_id; |
|
508512caa22e
[gaim-migrate @ 14677]
Richard Laager <rlaager@wiktel.com>
parents:
12277
diff
changeset
|
1119 char *buddy_name; |
|
508512caa22e
[gaim-migrate @ 14677]
Richard Laager <rlaager@wiktel.com>
parents:
12277
diff
changeset
|
1120 |
| 11414 | 1121 chat_name = ggp_confer_find_by_participants(gc, |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1122 ev->event.msg.recipients, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1123 ev->event.msg.recipients_count); |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1124 |
| 11414 | 1125 if (chat_name == NULL) { |
| 1126 chat_name = ggp_confer_add_new(gc, NULL); | |
| 1127 serv_got_joined_chat(gc, info->chats_count, chat_name); | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1128 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1129 ggp_confer_participants_add_uin(gc, chat_name, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1130 ev->event.msg.sender); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1131 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1132 ggp_confer_participants_add(gc, chat_name, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1133 ev->event.msg.recipients, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1134 ev->event.msg.recipients_count); |
| 11414 | 1135 } |
| 1136 conv = ggp_confer_find_by_name(gc, chat_name); | |
| 1137 chat_id = gaim_conv_chat_get_id(GAIM_CONV_CHAT(conv)); | |
|
12373
508512caa22e
[gaim-migrate @ 14677]
Richard Laager <rlaager@wiktel.com>
parents:
12277
diff
changeset
|
1138 |
|
508512caa22e
[gaim-migrate @ 14677]
Richard Laager <rlaager@wiktel.com>
parents:
12277
diff
changeset
|
1139 buddy_name = ggp_buddy_get_name(gc, ev->event.msg.sender); |
|
508512caa22e
[gaim-migrate @ 14677]
Richard Laager <rlaager@wiktel.com>
parents:
12277
diff
changeset
|
1140 serv_got_chat_in(gc, chat_id, buddy_name, |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1141 GAIM_MESSAGE_RECV, msg, ev->event.msg.time); |
|
12373
508512caa22e
[gaim-migrate @ 14677]
Richard Laager <rlaager@wiktel.com>
parents:
12277
diff
changeset
|
1142 g_free(buddy_name); |
| 11414 | 1143 } |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1144 g_free(msg); |
| 11414 | 1145 g_free(from); |
| 1146 } | |
| 1147 /* }}} */ | |
| 1148 | |
| 1149 /* | |
| 1150 */ | |
| 1151 /* static void ggp_callback_recv(gpointer _gc, gint fd, GaimInputCondition cond) {{{ */ | |
| 1152 static void ggp_callback_recv(gpointer _gc, gint fd, GaimInputCondition cond) | |
| 1153 { | |
| 1154 GaimConnection *gc = _gc; | |
| 1155 GGPInfo *info = gc->proto_data; | |
| 1156 struct gg_event *ev; | |
| 1157 int i; | |
| 1158 | |
| 1159 if (!(ev = gg_watch_fd(info->session))) { | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1160 gaim_debug_error("gg", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1161 "ggp_callback_recv: gg_watch_fd failed -- CRITICAL!\n"); |
| 11414 | 1162 gaim_connection_error(gc, _("Unable to read socket")); |
| 1163 return; | |
| 1164 } | |
| 1165 | |
| 1166 switch (ev->type) { | |
| 1167 case GG_EVENT_NONE: | |
| 1168 /* Nothing happened. */ | |
| 1169 break; | |
| 1170 case GG_EVENT_MSG: | |
| 1171 ggp_recv_message_handler(gc, ev); | |
| 1172 break; | |
| 1173 case GG_EVENT_ACK: | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1174 gaim_debug_info("gg", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1175 "message sent to: %ld, delivery status=%d, seq=%d\n", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1176 ev->event.ack.recipient, ev->event.ack.status, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1177 ev->event.ack.seq); |
| 11414 | 1178 break; |
| 1179 case GG_EVENT_NOTIFY: | |
| 1180 case GG_EVENT_NOTIFY_DESCR: | |
| 1181 { | |
| 1182 struct gg_notify_reply *n; | |
| 1183 char *descr; | |
| 1184 | |
| 1185 gaim_debug_info("gg", "notify_pre: (%d) status: %d\n", | |
| 1186 ev->event.notify->uin, | |
| 1187 ev->event.notify->status); | |
| 1188 | |
| 1189 n = (ev->type == GG_EVENT_NOTIFY) ? ev->event.notify | |
| 1190 : ev->event.notify_descr.notify; | |
| 1191 | |
| 1192 for (; n->uin; n++) { | |
| 1193 descr = (ev->type == GG_EVENT_NOTIFY) ? NULL | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1194 : ev->event.notify_descr.descr; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1195 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1196 gaim_debug_info("gg", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1197 "notify: (%d) status: %d; descr: %s\n", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1198 n->uin, n->status, descr); |
| 11414 | 1199 |
| 1200 ggp_generic_status_handler(gc, | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1201 n->uin, n->status, descr); |
| 11414 | 1202 } |
| 1203 } | |
| 1204 break; | |
| 1205 case GG_EVENT_NOTIFY60: | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1206 gaim_debug_info("gg", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1207 "notify60_pre: (%d) status=%d; version=%d; descr=%s\n", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1208 ev->event.notify60->uin, ev->event.notify60->status, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1209 ev->event.notify60->version, ev->event.notify60->descr); |
| 11414 | 1210 |
| 1211 for (i = 0; ev->event.notify60[i].uin; i++) { | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1212 gaim_debug_info("gg", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1213 "notify60: (%d) status=%d; version=%d; descr=%s\n", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1214 ev->event.notify60[i].uin, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1215 ev->event.notify60[i].status, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1216 ev->event.notify60[i].version, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1217 ev->event.notify60[i].descr); |
| 11414 | 1218 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1219 ggp_generic_status_handler(gc, ev->event.notify60[i].uin, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1220 ev->event.notify60[i].status, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1221 ev->event.notify60[i].descr); |
| 11414 | 1222 } |
| 1223 break; | |
| 1224 case GG_EVENT_STATUS: | |
| 1225 gaim_debug_info("gg", "status: (%d) status=%d; descr=%s\n", | |
| 1226 ev->event.status.uin, ev->event.status.status, | |
| 1227 ev->event.status.descr); | |
| 1228 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1229 ggp_generic_status_handler(gc, ev->event.status.uin, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1230 ev->event.status.status, ev->event.status.descr); |
| 11414 | 1231 break; |
| 1232 case GG_EVENT_STATUS60: | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1233 gaim_debug_info("gg", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1234 "status60: (%d) status=%d; version=%d; descr=%s\n", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1235 ev->event.status60.uin, ev->event.status60.status, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1236 ev->event.status60.version, ev->event.status60.descr); |
| 11414 | 1237 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1238 ggp_generic_status_handler(gc, ev->event.status60.uin, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1239 ev->event.status60.status, ev->event.status60.descr); |
| 11414 | 1240 break; |
| 1241 case GG_EVENT_USERLIST: | |
| 1242 if (ev->event.userlist.type == GG_USERLIST_GET_REPLY) { | |
| 1243 gaim_debug_info("gg", "GG_USERLIST_GET_REPLY\n"); | |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1244 gaim_notify_info(gc, NULL, |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1245 _("Buddy list downloaded"), |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1246 _("Your buddy list was downloaded from the server.")); |
| 11414 | 1247 if (ev->event.userlist.reply != NULL) { |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1248 ggp_buddylist_load(gc, ev->event.userlist.reply); |
| 11414 | 1249 } |
| 1250 } else { | |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1251 gaim_debug_info("gg", "GG_USERLIST_PUT_REPLY\n"); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1252 gaim_notify_info(gc, NULL, |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1253 _("Buddy list uploaded"), |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1254 _("Your buddy list was stored on the server.")); |
| 11414 | 1255 } |
| 1256 break; | |
| 1257 case GG_EVENT_PUBDIR50_SEARCH_REPLY: | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1258 ggp_pubdir_reply_handler(gc, ev->event.pubdir50); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1259 break; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1260 default: |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1261 gaim_debug_error("gg", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1262 "unsupported event type=%d\n", ev->type); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1263 break; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1264 } |
| 11414 | 1265 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1266 gg_free_event(ev); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1267 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1268 /* }}} */ |
| 11414 | 1269 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1270 /* |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1271 */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1272 /* static void ggp_async_login_handler(gpointer _gc, gint fd, GaimInputCondition cond) {{{ */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1273 static void ggp_async_login_handler(gpointer _gc, gint fd, GaimInputCondition cond) |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1274 { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1275 GaimConnection *gc = _gc; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1276 GGPInfo *info = gc->proto_data; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1277 struct gg_event *ev; |
| 11414 | 1278 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1279 gaim_debug_info("gg", "login_handler: session: check = %d; state = %d;\n", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1280 info->session->check, info->session->state); |
| 11414 | 1281 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1282 switch (info->session->state) { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1283 case GG_STATE_RESOLVING: |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1284 gaim_debug_info("gg", "GG_STATE_RESOLVING\n"); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1285 break; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1286 case GG_STATE_CONNECTING_HUB: |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1287 gaim_debug_info("gg", "GG_STATE_CONNECTING_HUB\n"); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1288 break; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1289 case GG_STATE_READING_DATA: |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1290 gaim_debug_info("gg", "GG_STATE_READING_DATA\n"); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1291 break; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1292 case GG_STATE_CONNECTING_GG: |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1293 gaim_debug_info("gg", "GG_STATE_CONNECTING_GG\n"); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1294 break; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1295 case GG_STATE_READING_KEY: |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1296 gaim_debug_info("gg", "GG_STATE_READING_KEY\n"); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1297 break; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1298 case GG_STATE_READING_REPLY: |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1299 gaim_debug_info("gg", "GG_STATE_READING_REPLY\n"); |
| 11414 | 1300 break; |
| 1301 default: | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1302 gaim_debug_error("gg", "unknown state = %d\n", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1303 info->session->state); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1304 break; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1305 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1306 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1307 if (!(ev = gg_watch_fd(info->session))) { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1308 gaim_debug_error("gg", "login_handler: gg_watch_fd failed!\n"); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1309 gaim_connection_error(gc, _("Unable to read socket")); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1310 return; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1311 } |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1312 gaim_debug_info("gg", "login_handler: session->fd = %d\n", info->session->fd); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1313 gaim_debug_info("gg", "login_handler: session: check = %d; state = %d;\n", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1314 info->session->check, info->session->state); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1315 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1316 gaim_input_remove(gc->inpa); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1317 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1318 /** XXX I think that this shouldn't be done if ev->type is GG_EVENT_CONN_FAILED or GG_EVENT_CONN_SUCCESS -datallah */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1319 gc->inpa = gaim_input_add(info->session->fd, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1320 (info->session->check == 1) ? GAIM_INPUT_WRITE |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1321 : GAIM_INPUT_READ, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1322 ggp_async_login_handler, gc); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1323 |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1324 switch (ev->type) { |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1325 case GG_EVENT_NONE: |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1326 /* Nothing happened. */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1327 gaim_debug_info("gg", "GG_EVENT_NONE\n"); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1328 break; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1329 case GG_EVENT_CONN_SUCCESS: |
|
12964
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1330 { |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1331 GaimAccount *account; |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1332 GaimPresence *presence; |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1333 GaimStatus *status; |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1334 |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1335 gaim_debug_info("gg", "GG_EVENT_CONN_SUCCESS\n"); |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1336 gaim_input_remove(gc->inpa); |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1337 gc->inpa = gaim_input_add(info->session->fd, |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1338 GAIM_INPUT_READ, |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1339 ggp_callback_recv, gc); |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1340 |
|
12964
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1341 /* gg_change_status(info->session, GG_STATUS_AVAIL); */ |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1342 |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1343 account = gaim_connection_get_account(gc); |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1344 presence = gaim_account_get_presence(account); |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1345 status = gaim_presence_get_active_status(presence); |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1346 |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1347 ggp_set_status(account, status); |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1348 gaim_connection_set_state(gc, GAIM_CONNECTED); |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1349 ggp_buddylist_send(gc); |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1350 } |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1351 break; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1352 case GG_EVENT_CONN_FAILED: |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1353 gaim_input_remove(gc->inpa); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1354 gc->inpa = 0; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1355 gaim_connection_error(gc, _("Connection failed.")); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1356 break; |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1357 default: |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1358 gaim_debug_error("gg", "strange event: %d\n", ev->type); |
| 11414 | 1359 break; |
| 1360 } | |
| 1361 | |
| 1362 gg_free_event(ev); | |
| 1363 } | |
| 1364 /* }}} */ | |
| 1365 | |
| 1366 /* ---------------------------------------------------------------------- */ | |
| 11360 | 1367 /* ----- GaimPluginProtocolInfo ----------------------------------------- */ |
| 1368 /* ---------------------------------------------------------------------- */ | |
| 1369 | |
| 1370 /* static const char *ggp_list_icon(GaimAccount *account, GaimBuddy *buddy) {{{ */ | |
| 1371 static const char *ggp_list_icon(GaimAccount *account, GaimBuddy *buddy) | |
| 1372 { | |
| 1373 return "gadu-gadu"; | |
| 1374 } | |
| 1375 /* }}} */ | |
| 1376 | |
| 1377 /* static void ggp_list_emblems(GaimBuddy *b, const char **se, const char **sw, const char **nw, const char **ne) {{{ */ | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1378 static void ggp_list_emblems(GaimBuddy *b, const char **se, const char **sw, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1379 const char **nw, const char **ne) |
| 11360 | 1380 { |
| 1381 GaimPresence *presence = gaim_buddy_get_presence(b); | |
| 1382 | |
| 1383 /* | |
| 1384 * Note to myself: | |
| 1385 * The only valid status types are those defined | |
| 1386 * in prpl_info->status_types. | |
| 1387 * | |
|
12595
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1388 * Usable icons: away, blocked, dnd, extended_away, |
| 11360 | 1389 * freeforchat, ignored, invisible, na, offline. |
| 1390 */ | |
| 1391 | |
| 1392 if (!GAIM_BUDDY_IS_ONLINE(b)) { | |
| 1393 *se = "offline"; | |
|
12595
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1394 } else if (gaim_presence_is_status_primitive_active(presence, GAIM_STATUS_AWAY)) { |
| 11360 | 1395 *se = "away"; |
| 1396 } else if (gaim_presence_is_status_active(presence, "blocked")) { | |
| 1397 *se = "blocked"; | |
| 1398 } | |
| 2393 | 1399 } |
| 11360 | 1400 /* }}} */ |
| 2393 | 1401 |
| 11360 | 1402 /* static char *ggp_status_text(GaimBuddy *b) {{{ */ |
| 1403 static char *ggp_status_text(GaimBuddy *b) | |
|
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2835
diff
changeset
|
1404 { |
| 11360 | 1405 GaimStatus *status; |
| 1406 const char *msg; | |
| 1407 char *text; | |
| 1408 char *tmp; | |
|
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2835
diff
changeset
|
1409 |
| 11360 | 1410 status = gaim_presence_get_active_status(gaim_buddy_get_presence(b)); |
|
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2835
diff
changeset
|
1411 |
| 11360 | 1412 msg = gaim_status_get_attr_string(status, "message"); |
|
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2835
diff
changeset
|
1413 |
| 11360 | 1414 if (msg != NULL) { |
| 1415 tmp = gaim_markup_strip_html(msg); | |
| 1416 text = g_markup_escape_text(tmp, -1); | |
| 1417 g_free(tmp); | |
|
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2835
diff
changeset
|
1418 |
| 11360 | 1419 return text; |
| 1420 } else { | |
| 1421 tmp = g_strdup(gaim_status_get_name(status)); | |
| 1422 text = g_markup_escape_text(tmp, -1); | |
| 1423 g_free(tmp); | |
| 1424 | |
| 1425 return text; | |
| 8997 | 1426 } |
|
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2835
diff
changeset
|
1427 } |
| 11360 | 1428 /* }}} */ |
|
2846
4b3f17ca66bf
[gaim-migrate @ 2859]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2835
diff
changeset
|
1429 |
|
12970
ec9b92104904
[gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents:
12964
diff
changeset
|
1430 /* static void ggp_tooltip_text(GaimBuddy *b, GString *str, gboolean full) {{{ */ |
|
ec9b92104904
[gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents:
12964
diff
changeset
|
1431 static void ggp_tooltip_text(GaimBuddy *b, GString *str, gboolean full) |
| 11360 | 1432 { |
| 1433 GaimStatus *status; | |
| 1434 char *text; | |
| 1435 const char *msg, *name; | |
| 1436 | |
| 1437 status = gaim_presence_get_active_status(gaim_buddy_get_presence(b)); | |
| 1438 msg = gaim_status_get_attr_string(status, "message"); | |
| 1439 name = gaim_status_get_name(status); | |
| 1440 | |
| 1441 if (msg != NULL) { | |
|
13454
1b5bf4b215f0
[gaim-migrate @ 15829]
Richard Laager <rlaager@wiktel.com>
parents:
13317
diff
changeset
|
1442 text = g_markup_escape_text(msg, -1); |
|
12970
ec9b92104904
[gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents:
12964
diff
changeset
|
1443 g_string_append_printf(str, "\n<b>%s:</b> %s: %s", |
|
ec9b92104904
[gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents:
12964
diff
changeset
|
1444 _("Status"), name, text); |
| 11360 | 1445 g_free(text); |
| 1446 } else { | |
|
12970
ec9b92104904
[gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents:
12964
diff
changeset
|
1447 g_string_append_printf(str, "\n<b>%s:</b> %s", |
|
ec9b92104904
[gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents:
12964
diff
changeset
|
1448 _("Status"), name); |
| 11360 | 1449 } |
| 1450 } | |
| 1451 /* }}} */ | |
| 1452 | |
| 1453 /* static GList *ggp_status_types(GaimAccount *account) {{{ */ | |
| 1454 static GList *ggp_status_types(GaimAccount *account) | |
| 1455 { | |
| 1456 GaimStatusType *type; | |
| 1457 GList *types = NULL; | |
| 1458 | |
|
12595
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1459 type = gaim_status_type_new_with_attrs( |
|
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1460 GAIM_STATUS_AVAILABLE, NULL, NULL, TRUE, TRUE, FALSE, |
|
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1461 "message", _("Message"), gaim_value_new(GAIM_TYPE_STRING), |
|
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1462 NULL); |
| 11360 | 1463 types = g_list_append(types, type); |
| 1464 | |
| 1465 /* | |
| 11638 | 1466 * Without this selecting Invisible as own status doesn't |
| 11360 | 1467 * work. It's not used and not needed to show status of buddies. |
| 1468 */ | |
|
12595
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1469 type = gaim_status_type_new_with_attrs( |
|
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1470 GAIM_STATUS_INVISIBLE, NULL, NULL, TRUE, TRUE, FALSE, |
|
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1471 "message", _("Message"), gaim_value_new(GAIM_TYPE_STRING), |
|
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1472 NULL); |
| 11360 | 1473 types = g_list_append(types, type); |
| 1474 | |
|
12595
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1475 type = gaim_status_type_new_with_attrs( |
|
12718
b5fb60cb3bad
[gaim-migrate @ 15062]
Richard Laager <rlaager@wiktel.com>
parents:
12717
diff
changeset
|
1476 GAIM_STATUS_AWAY, NULL, NULL, TRUE, TRUE, FALSE, |
|
12595
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1477 "message", _("Message"), gaim_value_new(GAIM_TYPE_STRING), |
|
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1478 NULL); |
| 11360 | 1479 types = g_list_append(types, type); |
| 1480 | |
|
12964
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1481 /* |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1482 * This status is necessary to display guys who are blocking *us*. |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1483 */ |
|
12595
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1484 type = gaim_status_type_new_with_attrs( |
|
12641
e0e8b0735c5a
[gaim-migrate @ 14977]
Richard Laager <rlaager@wiktel.com>
parents:
12624
diff
changeset
|
1485 GAIM_STATUS_INVISIBLE, "blocked", _("Blocked"), TRUE, FALSE, FALSE, |
|
12595
3169cd6727ad
[gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents:
12489
diff
changeset
|
1486 "message", _("Message"), gaim_value_new(GAIM_TYPE_STRING), NULL); |
| 11360 | 1487 types = g_list_append(types, type); |
| 1488 | |
| 12658 | 1489 type = gaim_status_type_new_with_attrs( |
| 1490 GAIM_STATUS_OFFLINE, NULL, NULL, TRUE, TRUE, FALSE, | |
| 1491 "message", _("Message"), gaim_value_new(GAIM_TYPE_STRING), | |
| 1492 NULL); | |
| 1493 types = g_list_append(types, type); | |
| 1494 | |
| 11360 | 1495 return types; |
| 1496 } | |
| 1497 /* }}} */ | |
| 1498 | |
| 1499 /* static GList *ggp_blist_node_menu(GaimBlistNode *node) {{{ */ | |
| 1500 static GList *ggp_blist_node_menu(GaimBlistNode *node) | |
| 2393 | 1501 { |
|
12919
248b8b39c671
[gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12736
diff
changeset
|
1502 GaimMenuAction *act; |
| 2393 | 1503 GList *m = NULL; |
| 4333 | 1504 |
| 11360 | 1505 if (!GAIM_BLIST_NODE_IS_BUDDY(node)) |
| 1506 return NULL; | |
| 4333 | 1507 |
|
12919
248b8b39c671
[gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12736
diff
changeset
|
1508 act = gaim_menu_action_new(_("Add to chat"), |
|
248b8b39c671
[gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12736
diff
changeset
|
1509 GAIM_CALLBACK(ggp_bmenu_add_to_chat), |
|
248b8b39c671
[gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12736
diff
changeset
|
1510 NULL, NULL); |
| 11410 | 1511 m = g_list_append(m, act); |
| 1512 | |
|
12641
e0e8b0735c5a
[gaim-migrate @ 14977]
Richard Laager <rlaager@wiktel.com>
parents:
12624
diff
changeset
|
1513 /* Using a blist node boolean here is also wrong. |
|
e0e8b0735c5a
[gaim-migrate @ 14977]
Richard Laager <rlaager@wiktel.com>
parents:
12624
diff
changeset
|
1514 * Once the Block and Unblock actions are added to the core, |
|
e0e8b0735c5a
[gaim-migrate @ 14977]
Richard Laager <rlaager@wiktel.com>
parents:
12624
diff
changeset
|
1515 * this will have to go. -- rlaager */ |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1516 if (gaim_blist_node_get_bool(node, "blocked")) { |
|
12919
248b8b39c671
[gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12736
diff
changeset
|
1517 act = gaim_menu_action_new(_("Unblock"), |
|
248b8b39c671
[gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12736
diff
changeset
|
1518 GAIM_CALLBACK(ggp_bmenu_block), |
|
248b8b39c671
[gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12736
diff
changeset
|
1519 NULL, NULL); |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1520 } else { |
|
12919
248b8b39c671
[gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12736
diff
changeset
|
1521 act = gaim_menu_action_new(_("Block"), |
|
248b8b39c671
[gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12736
diff
changeset
|
1522 GAIM_CALLBACK(ggp_bmenu_block), |
|
248b8b39c671
[gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents:
12736
diff
changeset
|
1523 NULL, NULL); |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1524 } |
| 11394 | 1525 m = g_list_append(m, act); |
| 2393 | 1526 |
| 1527 return m; | |
| 1528 } | |
| 11360 | 1529 /* }}} */ |
| 2393 | 1530 |
| 11394 | 1531 /* static GList *ggp_chat_info(GaimConnection *gc) {{{ */ |
| 1532 static GList *ggp_chat_info(GaimConnection *gc) | |
| 1533 { | |
| 1534 GList *m = NULL; | |
| 1535 struct proto_chat_entry *pce; | |
| 1536 | |
| 1537 pce = g_new0(struct proto_chat_entry, 1); | |
| 1538 pce->label = _("Chat _name:"); | |
| 1539 pce->identifier = "name"; | |
| 1540 pce->required = TRUE; | |
| 1541 m = g_list_append(m, pce); | |
| 1542 | |
| 1543 return m; | |
| 1544 } | |
| 1545 /* }}} */ | |
| 1546 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1547 /* static void ggp_login(GaimAccount *account) {{{ */ |
| 11837 | 1548 static void ggp_login(GaimAccount *account) |
| 2393 | 1549 { |
| 13514 | 1550 GaimConnection *gc; |
| 1551 struct gg_login_params *glp; | |
| 1552 GGPInfo *info; | |
| 1553 | |
| 1554 if (ggp_setup_proxy(account) == -1) | |
| 1555 return; | |
| 1556 | |
| 1557 gc = gaim_account_get_connection(account); | |
| 1558 glp = g_new0(struct gg_login_params, 1); | |
| 1559 info = g_new0(GGPInfo, 1); | |
| 11360 | 1560 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1561 /* Probably this should be moved to *_new() function. */ |
| 11360 | 1562 info->session = NULL; |
| 1563 info->searchresults_window = NULL; | |
| 11394 | 1564 info->chats = NULL; |
| 1565 info->chats_count = 0; | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1566 info->token = NULL; |
| 11360 | 1567 |
| 1568 gc->proto_data = info; | |
| 1569 | |
| 1570 glp->uin = ggp_get_uin(account); | |
| 1571 glp->password = (char *)gaim_account_get_password(account); | |
| 1572 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1573 glp->async = 1; |
| 11360 | 1574 glp->status = GG_STATUS_AVAIL; |
| 1575 glp->tls = 0; | |
| 1576 | |
| 1577 info->session = gg_login(glp); | |
| 1578 if (info->session == NULL) { | |
| 1579 gaim_connection_error(gc, _("Connection failed.")); | |
| 1580 g_free(glp); | |
| 1581 return; | |
| 1582 } | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1583 gc->inpa = gaim_input_add(info->session->fd, GAIM_INPUT_READ, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1584 ggp_async_login_handler, gc); |
| 11360 | 1585 } |
| 1586 /* }}} */ | |
| 1587 | |
| 1588 /* static void ggp_close(GaimConnection *gc) {{{ */ | |
| 1589 static void ggp_close(GaimConnection *gc) | |
| 1590 { | |
| 8997 | 1591 |
| 11360 | 1592 if (gc == NULL) { |
| 1593 gaim_debug_info("gg", "gc == NULL\n"); | |
| 1594 return; | |
| 1595 } | |
| 1596 | |
|
11538
5c6c2e893803
[gaim-migrate @ 13792]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11522
diff
changeset
|
1597 if (gc->proto_data) { |
|
12964
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1598 GaimAccount *account = gaim_connection_get_account(gc); |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1599 GaimStatus *status; |
|
11538
5c6c2e893803
[gaim-migrate @ 13792]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11522
diff
changeset
|
1600 GGPInfo *info = gc->proto_data; |
|
12964
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1601 |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1602 status = gaim_account_get_active_status(account); |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1603 |
|
11538
5c6c2e893803
[gaim-migrate @ 13792]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11522
diff
changeset
|
1604 if (info->session != NULL) { |
|
12964
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1605 ggp_set_status(account, status); |
|
11538
5c6c2e893803
[gaim-migrate @ 13792]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11522
diff
changeset
|
1606 gg_logoff(info->session); |
|
5c6c2e893803
[gaim-migrate @ 13792]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11522
diff
changeset
|
1607 gg_free_session(info->session); |
|
5c6c2e893803
[gaim-migrate @ 13792]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11522
diff
changeset
|
1608 } |
|
11545
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
1609 g_free(info); |
|
85abf1deac05
[gaim-migrate @ 13800]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11544
diff
changeset
|
1610 gc->proto_data = NULL; |
|
11538
5c6c2e893803
[gaim-migrate @ 13792]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11522
diff
changeset
|
1611 } |
| 11360 | 1612 |
| 1613 if (gc->inpa > 0) | |
| 1614 gaim_input_remove(gc->inpa); | |
| 1615 | |
| 1616 ggp_buddylist_offline(gc); | |
| 2393 | 1617 |
| 11360 | 1618 gaim_debug_info("gg", "Connection closed.\n"); |
| 1619 } | |
| 1620 /* }}} */ | |
| 1621 | |
| 12216 | 1622 /* static int ggp_send_im(GaimConnection *gc, const char *who, const char *msg, GaimMessageFlags flags) {{{ */ |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1623 static int ggp_send_im(GaimConnection *gc, const char *who, const char *msg, |
| 12216 | 1624 GaimMessageFlags flags) |
| 11360 | 1625 { |
| 1626 GGPInfo *info = gc->proto_data; | |
| 12216 | 1627 char *tmp, *plain; |
| 11360 | 1628 |
| 1629 if (strlen(msg) == 0) | |
| 1630 return 1; | |
| 1631 | |
| 12216 | 1632 plain = gaim_unescape_html(msg); |
| 11565 | 1633 gaim_debug_info("gg", "ggp_send_im: msg = %s\n", msg); |
| 12216 | 1634 tmp = charset_convert(plain, "UTF-8", "CP1250"); |
| 1635 g_free(plain); | |
| 2393 | 1636 |
| 11360 | 1637 if (tmp != NULL && strlen(tmp) > 0) { |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1638 if (gg_send_message(info->session, GG_CLASS_CHAT, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1639 ggp_str_to_uin(who), (unsigned char *)tmp) < 0) { |
| 11360 | 1640 return -1; |
| 1641 } | |
| 1642 } | |
| 11565 | 1643 g_free(tmp); |
| 11360 | 1644 |
| 1645 return 1; | |
| 1646 } | |
| 1647 /* }}} */ | |
| 1648 | |
| 1649 /* static void ggp_get_info(GaimConnection *gc, const char *name) { {{{ */ | |
| 1650 static void ggp_get_info(GaimConnection *gc, const char *name) | |
| 1651 { | |
| 1652 GGPInfo *info = gc->proto_data; | |
| 1653 GGPSearchForm *form; | |
| 2393 | 1654 |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1655 if (info->search_form != NULL) { |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1656 gaim_notify_error(gc, NULL, |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1657 _("Unable to initiate a new search"), |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1658 _("You have a pending search. Please wait for it to finish.")); |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1659 return; |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1660 } |
|
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1661 |
| 11414 | 1662 form = ggp_search_form_new(); |
| 11360 | 1663 info->search_form = form; |
| 1664 | |
| 1665 form->uin = g_strdup(name); | |
| 1666 form->offset = g_strdup("0"); | |
| 1667 form->last_uin = g_strdup("0"); | |
| 1668 | |
| 11414 | 1669 ggp_search_start(gc, form); |
| 11360 | 1670 } |
| 1671 /* }}} */ | |
| 1672 | |
| 1673 /* static void ggp_set_status(GaimAccount *account, GaimStatus *status) {{{ */ | |
| 1674 static void ggp_set_status(GaimAccount *account, GaimStatus *status) | |
| 1675 { | |
| 1676 GaimConnection *gc; | |
| 1677 GGPInfo *info; | |
| 11397 | 1678 const char *status_id, *msg; |
| 11360 | 1679 int new_status, new_status_descr; |
| 1680 | |
| 1681 if (!gaim_status_is_active(status)) | |
| 1682 return; | |
| 1683 | |
| 1684 gc = gaim_account_get_connection(account); | |
| 1685 info = gc->proto_data; | |
| 1686 | |
| 1687 status_id = gaim_status_get_id(status); | |
| 1688 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1689 gaim_debug_info("gg", "ggp_set_status: Requested status = %s\n", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1690 status_id); |
| 2393 | 1691 |
| 11360 | 1692 if (strcmp(status_id, "available") == 0) { |
| 1693 new_status = GG_STATUS_AVAIL; | |
| 1694 new_status_descr = GG_STATUS_AVAIL_DESCR; | |
| 1695 } else if (strcmp(status_id, "away") == 0) { | |
| 1696 new_status = GG_STATUS_BUSY; | |
| 1697 new_status_descr = GG_STATUS_BUSY_DESCR; | |
| 1698 } else if (strcmp(status_id, "invisible") == 0) { | |
| 1699 new_status = GG_STATUS_INVISIBLE; | |
| 1700 new_status_descr = GG_STATUS_INVISIBLE_DESCR; | |
|
12964
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1701 } else if (strcmp(status_id, "offline") == 0) { |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1702 new_status = GG_STATUS_NOT_AVAIL; |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1703 new_status_descr = GG_STATUS_NOT_AVAIL_DESCR; |
| 11360 | 1704 } else { |
| 1705 new_status = GG_STATUS_AVAIL; | |
| 1706 new_status_descr = GG_STATUS_AVAIL_DESCR; | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1707 gaim_debug_info("gg", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1708 "ggp_set_status: uknown status requested (status_id=%s)\n", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1709 status_id); |
| 11360 | 1710 } |
| 4916 | 1711 |
| 11397 | 1712 msg = gaim_status_get_attr_string(status, "message"); |
| 11360 | 1713 |
| 1714 if (msg == NULL) { | |
| 1715 gg_change_status(info->session, new_status); | |
| 1716 } else { | |
|
12964
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1717 gchar *tmp, *new_msg; |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1718 |
|
13454
1b5bf4b215f0
[gaim-migrate @ 15829]
Richard Laager <rlaager@wiktel.com>
parents:
13317
diff
changeset
|
1719 tmp = charset_convert(msg, "UTF-8", "CP1250"); |
|
1b5bf4b215f0
[gaim-migrate @ 15829]
Richard Laager <rlaager@wiktel.com>
parents:
13317
diff
changeset
|
1720 new_msg = gaim_markup_strip_html(tmp); |
|
12964
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1721 g_free(tmp); |
|
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1722 |
|
13454
1b5bf4b215f0
[gaim-migrate @ 15829]
Richard Laager <rlaager@wiktel.com>
parents:
13317
diff
changeset
|
1723 gg_change_status_descr(info->session, new_status_descr, new_msg); |
|
12964
c0f68043854a
[gaim-migrate @ 15317]
Richard Laager <rlaager@wiktel.com>
parents:
12961
diff
changeset
|
1724 g_free(new_msg); |
| 11360 | 1725 } |
| 1726 } | |
| 1727 /* }}} */ | |
| 1728 | |
| 1729 /* static void ggp_add_buddy(GaimConnection *gc, GaimBuddy *buddy, GaimGroup *group) {{{ */ | |
| 1730 static void ggp_add_buddy(GaimConnection *gc, GaimBuddy *buddy, GaimGroup *group) | |
| 1731 { | |
| 1732 GGPInfo *info = gc->proto_data; | |
| 1733 | |
| 1734 gg_add_notify(info->session, ggp_str_to_uin(buddy->name)); | |
| 1735 } | |
| 1736 /* }}} */ | |
| 1737 | |
| 1738 /* static void ggp_remove_buddy(GaimConnection *gc, GaimBuddy *buddy, GaimGroup *group) {{{ */ | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1739 static void ggp_remove_buddy(GaimConnection *gc, GaimBuddy *buddy, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1740 GaimGroup *group) |
| 11360 | 1741 { |
| 1742 GGPInfo *info = gc->proto_data; | |
| 1743 | |
| 1744 gg_remove_notify(info->session, ggp_str_to_uin(buddy->name)); | |
| 1745 } | |
| 1746 /* }}} */ | |
| 1747 | |
| 11394 | 1748 /* static void ggp_join_chat(GaimConnection *gc, GHashTable *data) {{{ */ |
| 1749 static void ggp_join_chat(GaimConnection *gc, GHashTable *data) | |
| 1750 { | |
| 1751 GGPInfo *info = gc->proto_data; | |
| 1752 GGPChat *chat; | |
| 1753 char *chat_name; | |
| 1754 GList *l; | |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1755 GaimConversation *conv; |
|
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1756 GaimAccount *account = gaim_connection_get_account(gc); |
| 11394 | 1757 |
| 1758 chat_name = g_hash_table_lookup(data, "name"); | |
| 1759 | |
| 1760 if (chat_name == NULL) | |
| 1761 return; | |
| 1762 | |
| 1763 gaim_debug_info("gg", "joined %s chat\n", chat_name); | |
| 1764 | |
| 1765 for (l = info->chats; l != NULL; l = l->next) { | |
| 1766 chat = l->data; | |
| 1767 | |
| 1768 if (chat != NULL && g_utf8_collate(chat->name, chat_name) == 0) { | |
| 1769 gaim_notify_error(gc, _("Chat error"), | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1770 _("This chat name is already in use"), NULL); |
| 11394 | 1771 return; |
| 1772 } | |
| 1773 } | |
| 1774 | |
| 11414 | 1775 ggp_confer_add_new(gc, chat_name); |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1776 conv = serv_got_joined_chat(gc, info->chats_count, chat_name); |
|
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1777 gaim_conv_chat_add_user(GAIM_CONV_CHAT(conv), |
|
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1778 gaim_account_get_username(account), NULL, |
|
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1779 GAIM_CBFLAGS_NONE, TRUE); |
| 11394 | 1780 } |
| 1781 /* }}} */ | |
| 1782 | |
| 1783 /* static char *ggp_get_chat_name(GHashTable *data) { {{{ */ | |
| 1784 static char *ggp_get_chat_name(GHashTable *data) { | |
| 1785 return g_strdup(g_hash_table_lookup(data, "name")); | |
| 1786 } | |
| 1787 /* }}} */ | |
| 1788 | |
| 12216 | 1789 /* static int ggp_chat_send(GaimConnection *gc, int id, const char *message, GaimMessageFlags flags) {{{ */ |
| 1790 static int ggp_chat_send(GaimConnection *gc, int id, const char *message, GaimMessageFlags flags) | |
| 11394 | 1791 { |
| 1792 GaimConversation *conv; | |
| 1793 GGPInfo *info = gc->proto_data; | |
| 1794 GGPChat *chat = NULL; | |
| 1795 GList *l; | |
| 12216 | 1796 char *msg, *plain; |
| 11394 | 1797 uin_t *uins; |
| 1798 int count = 0; | |
| 1799 | |
| 1800 if ((conv = gaim_find_chat(gc, id)) == NULL) | |
| 1801 return -EINVAL; | |
| 1802 | |
| 1803 for (l = info->chats; l != NULL; l = l->next) { | |
| 1804 chat = l->data; | |
| 1805 | |
| 1806 if (g_utf8_collate(chat->name, conv->name) == 0) { | |
| 1807 break; | |
| 1808 } | |
| 1809 | |
| 1810 chat = NULL; | |
| 1811 } | |
| 1812 | |
| 1813 if (chat == NULL) { | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1814 gaim_debug_error("gg", |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1815 "ggp_chat_send: Hm... that's strange. No such chat?\n"); |
| 11394 | 1816 return -EINVAL; |
| 1817 } | |
| 1818 | |
| 1819 uins = g_new0(uin_t, g_list_length(chat->participants)); | |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1820 |
| 11394 | 1821 for (l = chat->participants; l != NULL; l = l->next) { |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1822 uin_t uin = GPOINTER_TO_INT(l->data); |
| 11394 | 1823 |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1824 uins[count++] = uin; |
| 11394 | 1825 } |
| 1826 | |
| 12216 | 1827 plain = gaim_unescape_html(message); |
| 1828 msg = charset_convert(plain, "UTF-8", "CP1250"); | |
| 1829 g_free(plain); | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1830 gg_send_message_confer(info->session, GG_CLASS_CHAT, count, uins, |
|
12961
4eae108efdde
[gaim-migrate @ 15314]
Richard Laager <rlaager@wiktel.com>
parents:
12943
diff
changeset
|
1831 (unsigned char *)msg); |
| 11394 | 1832 g_free(msg); |
| 1833 g_free(uins); | |
| 1834 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1835 serv_got_chat_in(gc, id, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1836 gaim_account_get_username(gaim_connection_get_account(gc)), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1837 0, message, time(NULL)); |
| 11394 | 1838 |
| 1839 return 0; | |
| 1840 } | |
| 1841 /* }}} */ | |
| 1842 | |
| 11360 | 1843 /* static void ggp_keepalive(GaimConnection *gc) {{{ */ |
| 1844 static void ggp_keepalive(GaimConnection *gc) | |
| 1845 { | |
| 1846 GGPInfo *info = gc->proto_data; | |
| 1847 | |
| 1848 /* gaim_debug_info("gg", "Keeping connection alive....\n"); */ | |
| 1849 | |
| 1850 if (gg_ping(info->session) < 0) { | |
| 1851 gaim_debug_info("gg", "Not connected to the server " | |
| 1852 "or gg_session is not correct\n"); | |
| 1853 gaim_connection_error(gc, _("Not connected to the server.")); | |
| 4916 | 1854 } |
| 2393 | 1855 } |
| 11360 | 1856 /* }}} */ |
| 1857 | |
| 1858 /* static void ggp_register_user(GaimAccount *account) {{{ */ | |
| 1859 static void ggp_register_user(GaimAccount *account) | |
| 1860 { | |
|
11542
cda814bad7f8
[gaim-migrate @ 13797]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11541
diff
changeset
|
1861 GaimConnection *gc = gaim_account_get_connection(account); |
| 11360 | 1862 GGPInfo *info; |
| 1863 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1864 info = gc->proto_data = g_new0(GGPInfo, 1); |
| 11360 | 1865 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1866 ggp_token_request(gc, ggp_register_user_dialog); |
| 2393 | 1867 } |
| 11360 | 1868 /* }}} */ |
| 2393 | 1869 |
| 11360 | 1870 /* static GList *ggp_actions(GaimPlugin *plugin, gpointer context) {{{ */ |
| 1871 static GList *ggp_actions(GaimPlugin *plugin, gpointer context) | |
| 8775 | 1872 { |
| 11360 | 1873 GList *m = NULL; |
| 1874 GaimPluginAction *act; | |
| 1875 | |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1876 act = gaim_plugin_action_new(_("Find buddies..."), |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1877 ggp_find_buddies); |
| 11360 | 1878 m = g_list_append(m, act); |
| 1879 | |
| 1880 m = g_list_append(m, NULL); | |
| 1881 | |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1882 act = gaim_plugin_action_new(_("Change password..."), |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1883 ggp_change_passwd); |
| 11360 | 1884 m = g_list_append(m, act); |
| 1885 | |
| 1886 m = g_list_append(m, NULL); | |
| 1887 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1888 act = gaim_plugin_action_new(_("Upload buddylist to Server"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1889 ggp_action_buddylist_put); |
| 11360 | 1890 m = g_list_append(m, act); |
| 8775 | 1891 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1892 act = gaim_plugin_action_new(_("Download buddylist from Server"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1893 ggp_action_buddylist_get); |
| 11360 | 1894 m = g_list_append(m, act); |
| 1895 | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1896 act = gaim_plugin_action_new(_("Delete buddylist from Server"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1897 ggp_action_buddylist_delete); |
| 11360 | 1898 m = g_list_append(m, act); |
| 1899 | |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1900 act = gaim_plugin_action_new(_("Save buddylist to file..."), |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1901 ggp_action_buddylist_save); |
| 11360 | 1902 m = g_list_append(m, act); |
| 8775 | 1903 |
|
12220
64254fbabc7b
[gaim-migrate @ 14522]
Richard Laager <rlaager@wiktel.com>
parents:
12216
diff
changeset
|
1904 act = gaim_plugin_action_new(_("Load buddylist from file..."), |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1905 ggp_action_buddylist_load); |
| 11360 | 1906 m = g_list_append(m, act); |
| 1907 | |
| 1908 return m; | |
| 8775 | 1909 } |
| 11360 | 1910 /* }}} */ |
| 8775 | 1911 |
|
13299
b2b26d2ac2ef
[gaim-migrate @ 15665]
Richard Laager <rlaager@wiktel.com>
parents:
13297
diff
changeset
|
1912 /* static gboolean ggp_offline_message(const GaimBuddy *buddy) {{{ */ |
|
b2b26d2ac2ef
[gaim-migrate @ 15665]
Richard Laager <rlaager@wiktel.com>
parents:
13297
diff
changeset
|
1913 static gboolean ggp_offline_message(const GaimBuddy *buddy) |
|
13297
ec4e72c12863
[gaim-migrate @ 15663]
Richard Laager <rlaager@wiktel.com>
parents:
13296
diff
changeset
|
1914 { |
|
ec4e72c12863
[gaim-migrate @ 15663]
Richard Laager <rlaager@wiktel.com>
parents:
13296
diff
changeset
|
1915 return TRUE; |
|
ec4e72c12863
[gaim-migrate @ 15663]
Richard Laager <rlaager@wiktel.com>
parents:
13296
diff
changeset
|
1916 } |
|
ec4e72c12863
[gaim-migrate @ 15663]
Richard Laager <rlaager@wiktel.com>
parents:
13296
diff
changeset
|
1917 /* }}} */ |
|
ec4e72c12863
[gaim-migrate @ 15663]
Richard Laager <rlaager@wiktel.com>
parents:
13296
diff
changeset
|
1918 |
| 11360 | 1919 /* prpl_info setup {{{ */ |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
1920 static GaimPluginProtocolInfo prpl_info = |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
1921 { |
| 11360 | 1922 OPT_PROTO_REGISTER_NOSCREENNAME, |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1923 NULL, /* user_splits */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1924 NULL, /* protocol_options */ |
| 9950 | 1925 NO_BUDDY_ICONS, /* icon_spec */ |
| 11360 | 1926 ggp_list_icon, /* list_icon */ |
| 1927 ggp_list_emblems, /* list_emblems */ | |
| 1928 ggp_status_text, /* status_text */ | |
| 1929 ggp_tooltip_text, /* tooltip_text */ | |
| 1930 ggp_status_types, /* status_types */ | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1931 ggp_blist_node_menu, /* blist_node_menu */ |
| 11394 | 1932 ggp_chat_info, /* chat_info */ |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1933 NULL, /* chat_info_defaults */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1934 ggp_login, /* login */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1935 ggp_close, /* close */ |
| 11360 | 1936 ggp_send_im, /* send_im */ |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1937 NULL, /* set_info */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1938 NULL, /* send_typing */ |
| 11360 | 1939 ggp_get_info, /* get_info */ |
| 1940 ggp_set_status, /* set_away */ | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1941 NULL, /* set_idle */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1942 NULL, /* change_passwd */ |
| 11360 | 1943 ggp_add_buddy, /* add_buddy */ |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1944 NULL, /* add_buddies */ |
| 11360 | 1945 ggp_remove_buddy, /* remove_buddy */ |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1946 NULL, /* remove_buddies */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1947 NULL, /* add_permit */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1948 NULL, /* add_deny */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1949 NULL, /* rem_permit */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1950 NULL, /* rem_deny */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1951 NULL, /* set_permit_deny */ |
| 11394 | 1952 ggp_join_chat, /* join_chat */ |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1953 NULL, /* reject_chat */ |
| 11394 | 1954 ggp_get_chat_name, /* get_chat_name */ |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1955 NULL, /* chat_invite */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1956 NULL, /* chat_leave */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1957 NULL, /* chat_whisper */ |
| 11394 | 1958 ggp_chat_send, /* chat_send */ |
| 11360 | 1959 ggp_keepalive, /* keepalive */ |
| 1960 ggp_register_user, /* register_user */ | |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1961 NULL, /* get_cb_info */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1962 NULL, /* get_cb_away */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1963 NULL, /* alias_buddy */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1964 NULL, /* group_buddy */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1965 NULL, /* rename_group */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1966 NULL, /* buddy_free */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1967 NULL, /* convo_closed */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1968 NULL, /* normalize */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1969 NULL, /* set_buddy_icon */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1970 NULL, /* remove_group */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1971 NULL, /* get_cb_real_name */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1972 NULL, /* set_chat_topic */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1973 NULL, /* find_blist_chat */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1974 NULL, /* roomlist_get_list */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1975 NULL, /* roomlist_cancel */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1976 NULL, /* roomlist_expand_category */ |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
1977 NULL, /* can_receive_file */ |
|
12143
cbebda5f019c
[gaim-migrate @ 14444]
Richard Laager <rlaager@wiktel.com>
parents:
12007
diff
changeset
|
1978 NULL, /* send_file */ |
|
12600
e856f985a0b9
[gaim-migrate @ 14934]
Richard Laager <rlaager@wiktel.com>
parents:
12595
diff
changeset
|
1979 NULL, /* new_xfer */ |
|
13297
ec4e72c12863
[gaim-migrate @ 15663]
Richard Laager <rlaager@wiktel.com>
parents:
13296
diff
changeset
|
1980 ggp_offline_message, /* offline_message */ |
|
12600
e856f985a0b9
[gaim-migrate @ 14934]
Richard Laager <rlaager@wiktel.com>
parents:
12595
diff
changeset
|
1981 NULL, /* whiteboard_prpl_ops */ |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
1982 }; |
| 11360 | 1983 /* }}} */ |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
1984 |
| 11360 | 1985 /* GaimPluginInfo setup {{{ */ |
| 1986 static GaimPluginInfo info = { | |
| 1987 GAIM_PLUGIN_MAGIC, /* magic */ | |
| 1988 GAIM_MAJOR_VERSION, /* major_version */ | |
| 1989 GAIM_MINOR_VERSION, /* minor_version */ | |
| 1990 GAIM_PLUGIN_PROTOCOL, /* plugin type */ | |
| 1991 NULL, /* ui_requirement */ | |
| 1992 0, /* flags */ | |
| 1993 NULL, /* dependencies */ | |
| 1994 GAIM_PRIORITY_DEFAULT, /* priority */ | |
| 1995 | |
| 1996 "prpl-gg", /* id */ | |
| 1997 "Gadu-Gadu", /* name */ | |
| 1998 VERSION, /* version */ | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
1999 |
| 11360 | 2000 N_("Gadu-Gadu Protocol Plugin"), /* summary */ |
| 2001 N_("Polish popular IM"), /* description */ | |
| 2002 "boler@sourceforge.net", /* author */ | |
| 2003 GAIM_WEBSITE, /* homepage */ | |
| 2004 | |
| 2005 NULL, /* load */ | |
| 2006 NULL, /* unload */ | |
| 2007 NULL, /* destroy */ | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
2008 |
| 11360 | 2009 NULL, /* ui_info */ |
| 2010 &prpl_info, /* extra_info */ | |
| 2011 NULL, /* prefs_info */ | |
| 2012 ggp_actions /* actions */ | |
| 2013 }; | |
| 2014 /* }}} */ | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
2015 |
| 11565 | 2016 /* static void gaim_gg_debug_handler(int level, const char * format, va_list args) {{{ */ |
|
11541
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2017 static void gaim_gg_debug_handler(int level, const char * format, va_list args) { |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2018 GaimDebugLevel gaim_level; |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2019 char *msg = g_strdup_vprintf(format, args); |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2020 |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2021 /* This is pretty pointless since the GG_DEBUG levels don't correspond to |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2022 * the gaim ones */ |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2023 switch (level) { |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2024 case GG_DEBUG_FUNCTION: |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2025 gaim_level = GAIM_DEBUG_INFO; |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2026 break; |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2027 case GG_DEBUG_MISC: |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2028 case GG_DEBUG_NET: |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2029 case GG_DEBUG_DUMP: |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2030 case GG_DEBUG_TRAFFIC: |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2031 default: |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2032 gaim_level = GAIM_DEBUG_MISC; |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2033 break; |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2034 } |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2035 |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2036 gaim_debug(gaim_level, "gg", msg); |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2037 g_free(msg); |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2038 } |
| 11565 | 2039 /* }}} */ |
|
11541
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2040 |
| 11360 | 2041 /* |
| 2042 */ | |
| 2043 /* static void init_plugin(GaimPlugin *plugin) {{{ */ | |
| 2044 static void init_plugin(GaimPlugin *plugin) | |
| 2393 | 2045 { |
|
5638
0bdfa28c678e
[gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents:
5618
diff
changeset
|
2046 GaimAccountOption *option; |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
2047 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
2048 option = gaim_account_option_string_new(_("Nickname"), |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
2049 "nick", _("Gadu-Gadu User")); |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
2050 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, |
|
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
2051 option); |
| 3572 | 2052 |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
2053 my_protocol = plugin; |
|
11541
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2054 |
|
5fc015909164
[gaim-migrate @ 13796]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11538
diff
changeset
|
2055 gg_debug_handler = gaim_gg_debug_handler; |
| 2393 | 2056 } |
| 11360 | 2057 /* }}} */ |
| 2393 | 2058 |
|
11909
1b029c5898af
[gaim-migrate @ 14200]
Richard Laager <rlaager@wiktel.com>
parents:
11837
diff
changeset
|
2059 GAIM_INIT_PLUGIN(gg, init_plugin, info); |
| 11360 | 2060 |
|
12007
8724718d387f
[gaim-migrate @ 14300]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
11920
diff
changeset
|
2061 /* vim: set ts=8 sts=0 sw=8 noet: */ |
