libpurple/protocols/gg/gg.c

Tue, 20 Feb 2024 00:55:28 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Tue, 20 Feb 2024 00:55:28 -0600
changeset 42592
6b65c0e4ba15
parent 42291
a86b7bcbb471
permissions
-rw-r--r--

Remove unnecessary casts for GObject methods

Testing Done:
Compiled with the turtles and verified no new warnings appeared.

Reviewed at https://reviews.imfreedom.org/r/2956/

11394
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
1 /**
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
2 * @file gg.c Gadu-Gadu protocol plugin
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
3 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
4 * purple
11394
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
5 *
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
6 * Copyright (C) 2005 Bartosz Oler <bartosz@bzimage.us>
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
7 *
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
8 * Some parts of the code are adapted or taken from the previous implementation
11394
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
9 * of this plugin written by Arkadiusz Miskiewicz <misiek@pld.org.pl>
27388
e72ccf802d25 Support fetching Gadu-Gadu avatars. Closes #9371.
Krzysztof Klinikowski <kkszysiu@gmail.com>
parents: 27371
diff changeset
10 * Some parts Copyright (C) 2009 Krzysztof Klinikowski <grommasher@gmail.com>
11394
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
11 *
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
12 * Thanks to Google's Summer of Code Program.
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
13 *
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
14 * This program is free software; you can redistribute it and/or modify
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
15 * it under the terms of the GNU General Public License as published by
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
16 * the Free Software Foundation; either version 2 of the License, or
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
17 * (at your option) any later version.
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
18 *
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
19 * This program is distributed in the hope that it will be useful,
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
22 * GNU General Public License for more details.
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
23 *
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
24 * You should have received a copy of the GNU General Public License
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
25 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 18629
diff changeset
26 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
11394
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
27 */
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
28
40441
f23c7e772667 Make sure we're not including the gettext macros in header files and deal with the repercussions of that.
Gary Kramlich <grim@reaperworld.com>
parents: 40439
diff changeset
29 #include <glib/gi18n-lib.h>
f23c7e772667 Make sure we're not including the gettext macros in header files and deal with the repercussions of that.
Gary Kramlich <grim@reaperworld.com>
parents: 40439
diff changeset
30
40945
bbeb2e98ea5b Use GPLUGIN_NATIVE_PLUGIN_DECLARE for all libpurple plugins and remove PURPLE_PLUGIN_INIT
Gary Kramlich <grim@reaperworld.com>
parents: 40885
diff changeset
31 #include <gplugin.h>
bbeb2e98ea5b Use GPLUGIN_NATIVE_PLUGIN_DECLARE for all libpurple plugins and remove PURPLE_PLUGIN_INIT
Gary Kramlich <grim@reaperworld.com>
parents: 40885
diff changeset
32 #include <gplugin-native.h>
bbeb2e98ea5b Use GPLUGIN_NATIVE_PLUGIN_DECLARE for all libpurple plugins and remove PURPLE_PLUGIN_INIT
Gary Kramlich <grim@reaperworld.com>
parents: 40885
diff changeset
33
40350
72271baf92bc Split PurpleKeyValuePair out to it's own file and try to do some cleanup in the files that need to include it.
Gary Kramlich <grim@reaperworld.com>
parents: 40331
diff changeset
34 #include <purple.h>
2393
cfef0212506b [gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
35
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
36 #include "gg.h"
34350
89441dbabc83 Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34348
diff changeset
37 #include "chat.h"
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
38 #include "search.h"
34710
6182323fbb0c Renamed gg's buddylist.[ch] to blist.[ch]
Ankit Vani <a@nevitus.org>
parents: 34706
diff changeset
39 #include "blist.h"
33299
b3c4ab3aeb7f Gadu-Gadu: utils refactoring, (partially) fix new account registration
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33298
diff changeset
40 #include "utils.h"
33291
b70ab10887a7 New custom resolver, that uses libpurple for DNS queries. Get rid of old win32 resolver. Refs#343. Fixes #6263
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33287
diff changeset
41 #include "resolver-purple.h"
33306
b1bef9a92b4c Gadu-Gadu: rename purple.(c|h) to purplew.(c|h) - purple wrappers
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33305
diff changeset
42 #include "purplew.h"
33313
5a0c6582d5b1 Gadu-Gadu: refactoring of buddy avatars handling. Fixes #13739, #14305
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33311
diff changeset
43 #include "libgadu-events.h"
33334
734fc6da6179 Gadu-Gadu: initial multilogon support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33333
diff changeset
44 #include "multilogon.h"
33336
7c97b5dd3bf4 Gadu-Gadu: status refactoring - own status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33334
diff changeset
45 #include "status.h"
33339
02ee2834030c Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33337
diff changeset
46 #include "servconn.h"
34433
fa2313e5f320 Gadu-Gadu: use our own proxy/tls connecting code instead of libgadu's
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34429
diff changeset
47 #include "tcpsocket.h"
33345
740174b22496 Gadu-Gadu: retrieve buddy public alias after adding to blist. Fixes #2188
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33344
diff changeset
48 #include "pubdir-prpl.h"
34356
5d59fd4d5b2d Gadu-Gadu: reimplementation of receiving messages
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34353
diff changeset
49 #include "message-prpl.h"
34359
7cf367cc1141 Gadu-Gadu: compile regular expressions only once per plugin load
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34357
diff changeset
50 #include "html.h"
34408
ee5663c0ffe8 Gadu-Gadu: new libgadu debug handler
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34406
diff changeset
51 #include "libgaduw.h"
31550
909496097dcf Gadu-Gadu: Allow showing your status only to people on your buddy list.
Mateusz Piękos <mateuszpiekos@gmail.com>
parents: 31386
diff changeset
52
40865
82e45cd837fa Migrate gg, novel, null, sametime, silc, and zephyr to using G_DECLARE_FINAL_TYPE for their protocol objects
Gary Kramlich <grim@reaperworld.com>
parents: 40819
diff changeset
53 struct _GGPProtocol {
82e45cd837fa Migrate gg, novel, null, sametime, silc, and zephyr to using G_DECLARE_FINAL_TYPE for their protocol objects
Gary Kramlich <grim@reaperworld.com>
parents: 40819
diff changeset
54 PurpleProtocol parent;
82e45cd837fa Migrate gg, novel, null, sametime, silc, and zephyr to using G_DECLARE_FINAL_TYPE for their protocol objects
Gary Kramlich <grim@reaperworld.com>
parents: 40819
diff changeset
55 };
82e45cd837fa Migrate gg, novel, null, sametime, silc, and zephyr to using G_DECLARE_FINAL_TYPE for their protocol objects
Gary Kramlich <grim@reaperworld.com>
parents: 40819
diff changeset
56
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
57 /* ---------------------------------------------------------------------- */
36578
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
58 static PurpleProtocol *my_protocol = NULL;
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
59
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
60 /* ---------------------------------------------------------------------- */
9950
ac8bc7606554 [gaim-migrate @ 10846]
Tim Ringenbach <marv@pidgin.im>
parents: 9944
diff changeset
61
33340
5f00ed891179 Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33339
diff changeset
62 ggp_buddy_data * ggp_buddy_get_data(PurpleBuddy *buddy)
34474
f0210174619a Gadu-Gadu: (almost) correctly refresh libgadu's file descriptor
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34303
diff changeset
63 {
33340
5f00ed891179 Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33339
diff changeset
64 ggp_buddy_data *buddy_data = purple_buddy_get_protocol_data(buddy);
5f00ed891179 Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33339
diff changeset
65 if (buddy_data)
5f00ed891179 Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33339
diff changeset
66 return buddy_data;
34474
f0210174619a Gadu-Gadu: (almost) correctly refresh libgadu's file descriptor
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34303
diff changeset
67
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
68 buddy_data = g_new0(ggp_buddy_data, 1); /* TODO: leak */
33340
5f00ed891179 Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33339
diff changeset
69 purple_buddy_set_protocol_data(buddy, buddy_data);
5f00ed891179 Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33339
diff changeset
70 return buddy_data;
34474
f0210174619a Gadu-Gadu: (almost) correctly refresh libgadu's file descriptor
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34303
diff changeset
71 }
f0210174619a Gadu-Gadu: (almost) correctly refresh libgadu's file descriptor
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34303
diff changeset
72
40634
4d3018b00ad4 Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40618
diff changeset
73 static void
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
74 ggp_buddy_free(G_GNUC_UNUSED PurpleProtocolClient *client, PurpleBuddy *buddy)
13515
0cea461e904c [gaim-migrate @ 15890]
Bartosz Oler <bartosz@pidgin.im>
parents: 13466
diff changeset
75 {
33340
5f00ed891179 Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33339
diff changeset
76 ggp_buddy_data *buddy_data = purple_buddy_get_protocol_data(buddy);
13515
0cea461e904c [gaim-migrate @ 15890]
Bartosz Oler <bartosz@pidgin.im>
parents: 13466
diff changeset
77
40634
4d3018b00ad4 Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40618
diff changeset
78 if (!buddy_data) {
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
79 return;
40634
4d3018b00ad4 Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40618
diff changeset
80 }
13515
0cea461e904c [gaim-migrate @ 15890]
Bartosz Oler <bartosz@pidgin.im>
parents: 13466
diff changeset
81
33340
5f00ed891179 Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33339
diff changeset
82 g_free(buddy_data);
5f00ed891179 Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33339
diff changeset
83 purple_buddy_set_protocol_data(buddy, NULL);
13515
0cea461e904c [gaim-migrate @ 15890]
Bartosz Oler <bartosz@pidgin.im>
parents: 13466
diff changeset
84 }
0cea461e904c [gaim-migrate @ 15890]
Bartosz Oler <bartosz@pidgin.im>
parents: 13466
diff changeset
85
34373
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
86 const gchar * ggp_get_imtoken(PurpleConnection *gc)
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
87 {
34373
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
88 GGPInfo *accdata = purple_connection_get_protocol_data(gc);
13515
0cea461e904c [gaim-migrate @ 15890]
Bartosz Oler <bartosz@pidgin.im>
parents: 13466
diff changeset
89
34373
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
90 if (accdata->imtoken)
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
91 return accdata->imtoken;
13515
0cea461e904c [gaim-migrate @ 15890]
Bartosz Oler <bartosz@pidgin.im>
parents: 13466
diff changeset
92
34373
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
93 if (accdata->imtoken_warned)
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
94 return NULL;
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
95 accdata->imtoken_warned = TRUE;
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
96
34373
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
97 purple_notify_error(gc, _("Authentication failed"),
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
98 _("IMToken value has not been received."),
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
99 _("Some features will be disabled. "
34449
bbcb198650b7 Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
100 "You may try again after a while."),
bbcb198650b7 Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
101 purple_request_cpar_from_connection(gc));
34373
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
102 return NULL;
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
103 }
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
104
41979
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
105 uin_t
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
106 ggp_own_uin(PurpleConnection *gc) {
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
107 PurpleAccount *account = purple_connection_get_account(gc);
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
108 PurpleContactInfo *info = PURPLE_CONTACT_INFO(account);
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
109
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
110 return ggp_str_to_uin(purple_contact_info_get_username(info));
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
111 }
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
112
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
113 /* ---------------------------------------------------------------------- */
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
114 /* buddy list import/export from/to file */
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
115
21496
32972bf7cd4e Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <resiak@pidgin.im>
parents: 21485
diff changeset
116 static void ggp_callback_buddylist_save_ok(PurpleConnection *gc, const char *filename)
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
117 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
118 PurpleAccount *account = purple_connection_get_account(gc);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
119
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
120 char *buddylist = ggp_buddylist_dump(account);
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
121
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
122 purple_debug_info("gg", "Saving...\n");
21496
32972bf7cd4e Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <resiak@pidgin.im>
parents: 21485
diff changeset
123 purple_debug_info("gg", "file = %s\n", filename);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
124
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
125 if (buddylist == NULL) {
34449
bbcb198650b7 Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
126 purple_notify_info(account, _("Save Buddylist..."), _("Your "
bbcb198650b7 Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
127 "buddylist is empty, nothing was written to the file."),
bbcb198650b7 Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
128 NULL, purple_request_cpar_from_connection(gc));
2792
f40db99e87c7 [gaim-migrate @ 2805]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents: 2791
diff changeset
129 return;
f40db99e87c7 [gaim-migrate @ 2805]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents: 2791
diff changeset
130 }
2393
cfef0212506b [gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
131
40650
94e777c03e4a Deprecate purple_util_write_data_to_file_absolute and use g_file_set_contents in place of it
Gary Kramlich <grim@reaperworld.com>
parents: 40634
diff changeset
132 if (g_file_set_contents(filename, buddylist, -1, NULL)) {
21496
32972bf7cd4e Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <resiak@pidgin.im>
parents: 21485
diff changeset
133 purple_notify_info(account, _("Save Buddylist..."),
34449
bbcb198650b7 Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
134 _("Buddylist saved successfully!"), NULL,
bbcb198650b7 Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
135 purple_request_cpar_from_connection(gc));
21496
32972bf7cd4e Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <resiak@pidgin.im>
parents: 21485
diff changeset
136 } else {
41979
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
137 PurpleContactInfo *info = PURPLE_CONTACT_INFO(account);
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
138 gchar *primary = NULL;
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
139
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
140 primary = g_strdup_printf(_("Couldn't write buddy list for %s to %s"),
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
141 purple_contact_info_get_username(info),
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
142 filename);
21497
8187406f2043 May as well use an existing string as the title for the error notification.
Will Thompson <resiak@pidgin.im>
parents: 21496
diff changeset
143 purple_notify_error(account, _("Save Buddylist..."),
34449
bbcb198650b7 Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
144 primary, NULL, purple_request_cpar_from_connection(gc));
21496
32972bf7cd4e Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <resiak@pidgin.im>
parents: 21485
diff changeset
145 g_free(primary);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
146 }
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
147
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
148 g_free(buddylist);
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
149 }
2806
1576edefc75a [gaim-migrate @ 2819]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents: 2792
diff changeset
150
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
151 static void ggp_callback_buddylist_load_ok(PurpleConnection *gc, gchar *file)
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
152 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
153 PurpleAccount *account = purple_connection_get_account(gc);
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
154 GError *error = NULL;
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
155 char *buddylist = NULL;
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
156 gsize length;
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
157
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
158 purple_debug_info("gg", "file_name = %s\n", file);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
159
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
160 if (!g_file_get_contents(file, &buddylist, &length, &error)) {
34449
bbcb198650b7 Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
161 purple_notify_error(account, _("Couldn't load buddylist"),
bbcb198650b7 Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
162 _("Couldn't load buddylist"), error->message,
bbcb198650b7 Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
163 purple_request_cpar_from_connection(gc));
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
164
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
165 purple_debug_error("gg",
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
166 "Couldn't load buddylist. file = %s; error = %s\n",
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
167 file, error->message);
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
168
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
169 g_error_free(error);
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
170
2806
1576edefc75a [gaim-migrate @ 2819]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents: 2792
diff changeset
171 return;
1576edefc75a [gaim-migrate @ 2819]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents: 2792
diff changeset
172 }
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
173
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
174 ggp_buddylist_load(gc, buddylist);
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
175 g_free(buddylist);
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
176
34449
bbcb198650b7 Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
177 purple_notify_info(account, _("Load Buddylist..."),
bbcb198650b7 Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
178 _("Buddylist loaded successfully!"), NULL,
bbcb198650b7 Notify API: extend purple_notify_message with PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34448
diff changeset
179 purple_request_cpar_from_connection(gc));
2806
1576edefc75a [gaim-migrate @ 2819]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents: 2792
diff changeset
180 }
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
181 /* }}} */
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
182
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
183 static void
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
184 ggp_action_buddylist_save(G_GNUC_UNUSED GSimpleAction *action,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
185 GVariant *parameter,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
186 G_GNUC_UNUSED gpointer data)
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
187 {
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
188 const gchar *account_id = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
189 PurpleAccountManager *manager = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
190 PurpleAccount *account = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
191 PurpleConnection *connection = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
192
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
193 if(!g_variant_is_of_type(parameter, G_VARIANT_TYPE_STRING)) {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
194 g_critical("GG save buddylist action parameter is of incorrect type %s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
195 g_variant_get_type_string(parameter));
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
196 }
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
197
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
198 account_id = g_variant_get_string(parameter, NULL);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
199 manager = purple_account_manager_get_default();
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
200 account = purple_account_manager_find_by_id(manager, account_id);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
201 connection = purple_account_get_connection(account);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
202
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
203 purple_request_file(action, _("Save buddylist..."), NULL, TRUE,
34333
b92698241603 Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34332
diff changeset
204 G_CALLBACK(ggp_callback_buddylist_save_ok), NULL,
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
205 purple_request_cpar_from_connection(connection), connection);
42291
a86b7bcbb471 Make the purple_account_manager_find functions return transfer full.
Gary Kramlich <grim@reaperworld.com>
parents: 42175
diff changeset
206
a86b7bcbb471 Make the purple_account_manager_find functions return transfer full.
Gary Kramlich <grim@reaperworld.com>
parents: 42175
diff changeset
207 g_clear_object(&account);
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
208 }
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
209
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
210 static void
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
211 ggp_action_buddylist_load(G_GNUC_UNUSED GSimpleAction *action,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
212 GVariant *parameter,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
213 G_GNUC_UNUSED gpointer data)
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
214 {
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
215 const gchar *account_id = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
216 PurpleAccountManager *manager = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
217 PurpleAccount *account = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
218 PurpleConnection *connection = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
219
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
220 if(!g_variant_is_of_type(parameter, G_VARIANT_TYPE_STRING)) {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
221 g_critical("GG load buddylist action parameter is of incorrect type %s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
222 g_variant_get_type_string(parameter));
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
223 }
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
224
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
225 account_id = g_variant_get_string(parameter, NULL);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
226 manager = purple_account_manager_get_default();
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
227 account = purple_account_manager_find_by_id(manager, account_id);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
228 connection = purple_account_get_connection(account);
31550
909496097dcf Gadu-Gadu: Allow showing your status only to people on your buddy list.
Mateusz Piękos <mateuszpiekos@gmail.com>
parents: 31386
diff changeset
229
23379
536450c4f7f9 Mark a string as translatable in prpl-gg. References #5693.
Will Thompson <resiak@pidgin.im>
parents: 23325
diff changeset
230 purple_request_file(action, _("Load buddylist from file..."), NULL,
34333
b92698241603 Request API refactoring: switch purple_request_file to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34332
diff changeset
231 FALSE, G_CALLBACK(ggp_callback_buddylist_load_ok), NULL,
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
232 purple_request_cpar_from_connection(connection), connection);
42291
a86b7bcbb471 Make the purple_account_manager_find functions return transfer full.
Gary Kramlich <grim@reaperworld.com>
parents: 42175
diff changeset
233
a86b7bcbb471 Make the purple_account_manager_find functions return transfer full.
Gary Kramlich <grim@reaperworld.com>
parents: 42175
diff changeset
234 g_clear_object(&account);
11394
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
235 }
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
236
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
237 /* ----- BLOCK BUDDIES -------------------------------------------------- */
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
238
41958
76d1633b8ec0 Remove the privacy api
Gary Kramlich <grim@reaperworld.com>
parents: 41911
diff changeset
239 #if 0
40521
c4269b37a13a Make PurpleProtocolPrivacy a proper GInterface and move it to it's own file
Gary Kramlich <grim@reaperworld.com>
parents: 40507
diff changeset
240 static void ggp_add_deny(PurpleProtocolPrivacy *privacy, PurpleConnection *gc,
c4269b37a13a Make PurpleProtocolPrivacy a proper GInterface and move it to it's own file
Gary Kramlich <grim@reaperworld.com>
parents: 40507
diff changeset
241 const char *who)
11410
08212b2e6083 [gaim-migrate @ 13647]
Bartosz Oler <bartosz@pidgin.im>
parents: 11397
diff changeset
242 {
32261
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
243 GGPInfo *info = purple_connection_get_protocol_data(gc);
31938
13c568701e8a Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31892
diff changeset
244 uin_t uin = ggp_str_to_uin(who);
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
245
31938
13c568701e8a Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31892
diff changeset
246 purple_debug_info("gg", "ggp_add_deny: %u\n", uin);
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
247
31938
13c568701e8a Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31892
diff changeset
248 gg_remove_notify_ex(info->session, uin, GG_USER_NORMAL);
13c568701e8a Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31892
diff changeset
249 gg_add_notify_ex(info->session, uin, GG_USER_BLOCKED);
13c568701e8a Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31892
diff changeset
250 }
13c568701e8a Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31892
diff changeset
251
40521
c4269b37a13a Make PurpleProtocolPrivacy a proper GInterface and move it to it's own file
Gary Kramlich <grim@reaperworld.com>
parents: 40507
diff changeset
252 static void ggp_remove_deny(PurpleProtocolPrivacy *privacy,
c4269b37a13a Make PurpleProtocolPrivacy a proper GInterface and move it to it's own file
Gary Kramlich <grim@reaperworld.com>
parents: 40507
diff changeset
253 PurpleConnection *gc, const char *who)
31938
13c568701e8a Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31892
diff changeset
254 {
32261
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
255 GGPInfo *info = purple_connection_get_protocol_data(gc);
31938
13c568701e8a Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31892
diff changeset
256 uin_t uin = ggp_str_to_uin(who);
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
257
31938
13c568701e8a Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31892
diff changeset
258 purple_debug_info("gg", "ggp_rem_deny: %u\n", uin);
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
259
31938
13c568701e8a Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31892
diff changeset
260 gg_remove_notify_ex(info->session, uin, GG_USER_BLOCKED);
13c568701e8a Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31892
diff changeset
261 gg_add_notify_ex(info->session, uin, GG_USER_NORMAL);
11410
08212b2e6083 [gaim-migrate @ 13647]
Bartosz Oler <bartosz@pidgin.im>
parents: 11397
diff changeset
262 }
41958
76d1633b8ec0 Remove the privacy api
Gary Kramlich <grim@reaperworld.com>
parents: 41911
diff changeset
263 #endif
11410
08212b2e6083 [gaim-migrate @ 13647]
Bartosz Oler <bartosz@pidgin.im>
parents: 11397
diff changeset
264
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
265 /* ---------------------------------------------------------------------- */
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
266 /* ----- INTERNAL CALLBACKS --------------------------------------------- */
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
267 /* ---------------------------------------------------------------------- */
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
268
31630
47b2ee63a797 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
Jan Zachorowski <quantifier666@gmail.com>
parents: 31628
diff changeset
269 static void ggp_typing_notification_handler(PurpleConnection *gc, uin_t uin, int length) {
31795
ee01a0566a86 Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31739
diff changeset
270 gchar *from;
ee01a0566a86 Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31739
diff changeset
271
ee01a0566a86 Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31739
diff changeset
272 from = g_strdup_printf("%u", uin);
ee01a0566a86 Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31739
diff changeset
273 if (length)
35499
c4c5e0a670b1 Fix namespaces issues in libpurple.
Ankit Vani <a@nevitus.org>
parents: 35360
diff changeset
274 purple_serv_got_typing(gc, from, 0, PURPLE_IM_TYPING);
31795
ee01a0566a86 Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31739
diff changeset
275 else
35501
602747bb4af9 Fix duplicate prefixes
Ankit Vani <a@nevitus.org>
parents: 35499
diff changeset
276 purple_serv_got_typing_stopped(gc, from);
31795
ee01a0566a86 Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31739
diff changeset
277 g_free(from);
31630
47b2ee63a797 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
Jan Zachorowski <quantifier666@gmail.com>
parents: 31628
diff changeset
278 }
47b2ee63a797 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
Jan Zachorowski <quantifier666@gmail.com>
parents: 31628
diff changeset
279
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
280 /**
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
281 * Handling of XML events.
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
282 *
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
283 * @param gc PurpleConnection.
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
284 * @param data Raw XML contents.
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
285 *
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
286 * @see http://toxygen.net/libgadu/protocol/#ch1.13
33313
5a0c6582d5b1 Gadu-Gadu: refactoring of buddy avatars handling. Fixes #13739, #14305
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33311
diff changeset
287 * @todo: this may not be necessary anymore
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
288 */
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
289 static void
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
290 ggp_xml_event_handler(G_GNUC_UNUSED PurpleConnection *gc, char *data)
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
291 {
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34904
diff changeset
292 PurpleXmlNode *xml = NULL;
34946
76aa2e0f8701 Merged default branch
Ankit Vani <a@nevitus.org>
parents: 34940 34437
diff changeset
293 PurpleXmlNode *xmlnode_next_event;
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
294
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34904
diff changeset
295 xml = purple_xmlnode_from_str(data, -1);
35360
29d788c72350 Style: fix gg braces (part 1)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35358
diff changeset
296 if (xml == NULL) {
34350
89441dbabc83 Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34348
diff changeset
297 purple_debug_error("gg", "ggp_xml_event_handler: "
89441dbabc83 Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34348
diff changeset
298 "invalid xml: [%s]\n", data);
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
299 goto out;
34350
89441dbabc83 Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34348
diff changeset
300 }
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
301
34946
76aa2e0f8701 Merged default branch
Ankit Vani <a@nevitus.org>
parents: 34940 34437
diff changeset
302 xmlnode_next_event = purple_xmlnode_get_child(xml, "event");
35360
29d788c72350 Style: fix gg braces (part 1)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35358
diff changeset
303 while (xmlnode_next_event != NULL) {
34946
76aa2e0f8701 Merged default branch
Ankit Vani <a@nevitus.org>
parents: 34940 34437
diff changeset
304 PurpleXmlNode *xmlnode_current_event = xmlnode_next_event;
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
305
34946
76aa2e0f8701 Merged default branch
Ankit Vani <a@nevitus.org>
parents: 34940 34437
diff changeset
306 PurpleXmlNode *xmlnode_type;
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
307 char *event_type_raw;
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
308 int event_type = 0;
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
309
34946
76aa2e0f8701 Merged default branch
Ankit Vani <a@nevitus.org>
parents: 34940 34437
diff changeset
310 PurpleXmlNode *xmlnode_sender;
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
311 char *event_sender_raw;
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
312 uin_t event_sender = 0;
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
313
34946
76aa2e0f8701 Merged default branch
Ankit Vani <a@nevitus.org>
parents: 34940 34437
diff changeset
314 xmlnode_next_event = purple_xmlnode_get_next_twin(xmlnode_next_event);
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
315
34946
76aa2e0f8701 Merged default branch
Ankit Vani <a@nevitus.org>
parents: 34940 34437
diff changeset
316 xmlnode_type = purple_xmlnode_get_child(xmlnode_current_event, "type");
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
317 if (xmlnode_type == NULL)
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
318 continue;
34946
76aa2e0f8701 Merged default branch
Ankit Vani <a@nevitus.org>
parents: 34940 34437
diff changeset
319 event_type_raw = purple_xmlnode_get_data(xmlnode_type);
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
320 if (event_type_raw != NULL)
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
321 event_type = atoi(event_type_raw);
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
322 g_free(event_type_raw);
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
323
34946
76aa2e0f8701 Merged default branch
Ankit Vani <a@nevitus.org>
parents: 34940 34437
diff changeset
324 xmlnode_sender = purple_xmlnode_get_child(xmlnode_current_event, "sender");
35360
29d788c72350 Style: fix gg braces (part 1)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35358
diff changeset
325 if (xmlnode_sender != NULL) {
34946
76aa2e0f8701 Merged default branch
Ankit Vani <a@nevitus.org>
parents: 34940 34437
diff changeset
326 event_sender_raw = purple_xmlnode_get_data(xmlnode_sender);
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
327 if (event_sender_raw != NULL)
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
328 event_sender = ggp_str_to_uin(event_sender_raw);
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
329 g_free(event_sender_raw);
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
330 }
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
331
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
332 switch (event_type)
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
333 {
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
334 case 28: /* avatar update */
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
335 purple_debug_info("gg",
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
336 "ggp_xml_event_handler: avatar updated (uid: %u)\n",
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
337 event_sender);
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
338 break;
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
339 default:
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
340 purple_debug_error("gg",
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
341 "ggp_xml_event_handler: unsupported event type=%d from=%u\n",
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
342 event_type, event_sender);
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
343 }
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
344 }
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
345
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
346 out:
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
347 if (xml)
34935
686fa55b0deb Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents: 34904
diff changeset
348 purple_xmlnode_free(xml);
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
349 }
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
350
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
351 static void
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
352 ggp_callback_recv(gpointer _gc, G_GNUC_UNUSED gint fd,
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
353 G_GNUC_UNUSED PurpleInputCondition cond)
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
354 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
355 PurpleConnection *gc = _gc;
32261
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
356 GGPInfo *info = purple_connection_get_protocol_data(gc);
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
357 struct gg_event *ev;
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
358
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
359 if (!(ev = gg_watch_fd(info->session))) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
360 purple_debug_error("gg",
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
361 "ggp_callback_recv: gg_watch_fd failed -- CRITICAL!\n");
32157
39ba2e2492ee Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <markdoliner@pidgin.im>
parents: 32147
diff changeset
362 purple_connection_error (gc,
21279
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 20437
diff changeset
363 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
27626
62fbae50be08 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <markdoliner@pidgin.im>
parents: 27388
diff changeset
364 _("Unable to read from socket"));
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
365 return;
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
366 }
31661
2a8aceaee628 Don't update last_received when receiving data on gg. Fixes #13699.
Jan Zachorowski <quantifier666@gmail.com>
parents: 31649
diff changeset
367
34473
fb04c75906e0 Gadu-Gadu: update code for the new libpurple and libgadu APIs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34454
diff changeset
368 if (purple_debug_is_verbose()) {
fb04c75906e0 Gadu-Gadu: update code for the new libpurple and libgadu APIs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34454
diff changeset
369 purple_debug_misc("gg", "ggp_callback_recv: got event %s",
fb04c75906e0 Gadu-Gadu: update code for the new libpurple and libgadu APIs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34454
diff changeset
370 gg_debug_event(ev->type));
fb04c75906e0 Gadu-Gadu: update code for the new libpurple and libgadu APIs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34454
diff changeset
371 }
fb04c75906e0 Gadu-Gadu: update code for the new libpurple and libgadu APIs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34454
diff changeset
372
41762
5c21747ff7dc Replace purple_input_remove by g_source_remove
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41709
diff changeset
373 g_source_remove(info->inpa);
34473
fb04c75906e0 Gadu-Gadu: update code for the new libpurple and libgadu APIs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34454
diff changeset
374 info->inpa = purple_input_add(info->session->fd,
34474
f0210174619a Gadu-Gadu: (almost) correctly refresh libgadu's file descriptor
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34303
diff changeset
375 ggp_tcpsocket_inputcond_gg_to_purple(info->session->check),
f0210174619a Gadu-Gadu: (almost) correctly refresh libgadu's file descriptor
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34303
diff changeset
376 ggp_callback_recv, gc);
f0210174619a Gadu-Gadu: (almost) correctly refresh libgadu's file descriptor
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34303
diff changeset
377
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
378 switch (ev->type) {
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
379 case GG_EVENT_NONE:
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
380 /* Nothing happened. */
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
381 break;
34361
ddcc82637afa Gadu-Gadu: incoming images works again
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34359
diff changeset
382 case GG_EVENT_CONN_FAILED:
ddcc82637afa Gadu-Gadu: incoming images works again
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34359
diff changeset
383 purple_connection_error (gc,
ddcc82637afa Gadu-Gadu: incoming images works again
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34359
diff changeset
384 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
ddcc82637afa Gadu-Gadu: incoming images works again
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34359
diff changeset
385 _("Server disconnected"));
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
386 break;
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
387 case GG_EVENT_MSG:
34356
5d59fd4d5b2d Gadu-Gadu: reimplementation of receiving messages
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34353
diff changeset
388 ggp_message_got(gc, &ev->event.msg);
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
389 break;
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
390 case GG_EVENT_ACK:
34406
46f06ef265e3 Gadu-Gadu: update for the newest devel libgadu
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34394
diff changeset
391 case GG_EVENT_ACK110:
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
392 break;
24745
511df62cb366 Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24683
diff changeset
393 case GG_EVENT_IMAGE_REPLY:
33298
519acf37d16e Gadu-Gadu: fix receiving of inline images after 3.x changes; code refactoring here as well
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33296
diff changeset
394 ggp_image_recv(gc, &ev->event.image_reply);
24745
511df62cb366 Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24683
diff changeset
395 break;
511df62cb366 Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24683
diff changeset
396 case GG_EVENT_IMAGE_REQUEST:
33301
3f18ba8aed0f Gadu-Gadu sending images refactoring; notify about too large images
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33299
diff changeset
397 ggp_image_send(gc, &ev->event.image_request);
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
398 break;
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
399 case GG_EVENT_NOTIFY60:
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
400 case GG_EVENT_STATUS60:
33340
5f00ed891179 Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33339
diff changeset
401 ggp_status_got_others(gc, ev);
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
402 break;
31630
47b2ee63a797 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
Jan Zachorowski <quantifier666@gmail.com>
parents: 31628
diff changeset
403 case GG_EVENT_TYPING_NOTIFICATION:
47b2ee63a797 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
Jan Zachorowski <quantifier666@gmail.com>
parents: 31628
diff changeset
404 ggp_typing_notification_handler(gc, ev->event.typing_notification.uin,
47b2ee63a797 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
Jan Zachorowski <quantifier666@gmail.com>
parents: 31628
diff changeset
405 ev->event.typing_notification.length);
47b2ee63a797 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
Jan Zachorowski <quantifier666@gmail.com>
parents: 31628
diff changeset
406 break;
31665
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
407 case GG_EVENT_XML_EVENT:
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
408 purple_debug_info("gg", "GG_EVENT_XML_EVENT\n");
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
409 ggp_xml_event_handler(gc, ev->event.xml_event.data);
1854b313a9bb Recently I found out a small issue: if another user changes it's avatar, we
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31663
diff changeset
410 break;
33296
33a9adb52028 Enable receiving of user_data packets
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33295
diff changeset
411 case GG_EVENT_USER_DATA:
33313
5a0c6582d5b1 Gadu-Gadu: refactoring of buddy avatars handling. Fixes #13739, #14305
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33311
diff changeset
412 ggp_events_user_data(gc, &ev->event.user_data);
33296
33a9adb52028 Enable receiving of user_data packets
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33295
diff changeset
413 break;
34383
4b1a106bbf1d Preparing a file transfer
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34380
diff changeset
414 case GG_EVENT_JSON_EVENT:
4b1a106bbf1d Preparing a file transfer
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34380
diff changeset
415 ggp_events_json(gc, &ev->event.json_event);
4b1a106bbf1d Preparing a file transfer
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34380
diff changeset
416 break;
33314
57013b9e1a8e Gadu-Gadu: roster - downloading
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33313
diff changeset
417 case GG_EVENT_USERLIST100_VERSION:
33315
42bbe5b85df8 Gadu-Gadu: roster - uploading/synchronization - part1
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33314
diff changeset
418 ggp_roster_version(gc, &ev->event.userlist100_version);
33314
57013b9e1a8e Gadu-Gadu: roster - downloading
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33313
diff changeset
419 break;
57013b9e1a8e Gadu-Gadu: roster - downloading
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33313
diff changeset
420 case GG_EVENT_USERLIST100_REPLY:
57013b9e1a8e Gadu-Gadu: roster - downloading
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33313
diff changeset
421 ggp_roster_reply(gc, &ev->event.userlist100_reply);
57013b9e1a8e Gadu-Gadu: roster - downloading
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33313
diff changeset
422 break;
33334
734fc6da6179 Gadu-Gadu: initial multilogon support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33333
diff changeset
423 case GG_EVENT_MULTILOGON_MSG:
34356
5d59fd4d5b2d Gadu-Gadu: reimplementation of receiving messages
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34353
diff changeset
424 ggp_message_got_multilogon(gc, &ev->event.multilogon_msg);
33334
734fc6da6179 Gadu-Gadu: initial multilogon support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33333
diff changeset
425 break;
734fc6da6179 Gadu-Gadu: initial multilogon support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33333
diff changeset
426 case GG_EVENT_MULTILOGON_INFO:
734fc6da6179 Gadu-Gadu: initial multilogon support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33333
diff changeset
427 ggp_multilogon_info(gc, &ev->event.multilogon_info);
734fc6da6179 Gadu-Gadu: initial multilogon support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33333
diff changeset
428 break;
34348
15361867e114 Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33363
diff changeset
429 case GG_EVENT_IMTOKEN:
34373
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
430 purple_debug_info("gg", "gg11: got IMTOKEN\n");
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
431 g_free(info->imtoken);
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
432 info->imtoken = g_strdup(ev->event.imtoken.imtoken);
34348
15361867e114 Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33363
diff changeset
433 break;
15361867e114 Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33363
diff changeset
434 case GG_EVENT_PONG110:
35139
c30787ce6256 Use external libgadu for win32 build and update some dependencies. Refs #343
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35079
diff changeset
435 purple_debug_info("gg", "gg11: got PONG110 %lu\n",
c30787ce6256 Use external libgadu for win32 build and update some dependencies. Refs #343
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35079
diff changeset
436 (long unsigned)ev->event.pong110.time);
34348
15361867e114 Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33363
diff changeset
437 break;
34350
89441dbabc83 Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34348
diff changeset
438 case GG_EVENT_CHAT_INFO:
34353
300c246402ac Gadu-Gadu: delayed chat joining
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34352
diff changeset
439 case GG_EVENT_CHAT_INFO_GOT_ALL:
34350
89441dbabc83 Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34348
diff changeset
440 case GG_EVENT_CHAT_INFO_UPDATE:
89441dbabc83 Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34348
diff changeset
441 case GG_EVENT_CHAT_CREATED:
89441dbabc83 Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34348
diff changeset
442 case GG_EVENT_CHAT_INVITE_ACK:
89441dbabc83 Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34348
diff changeset
443 ggp_chat_got_event(gc, ev);
89441dbabc83 Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34348
diff changeset
444 break;
35145
01ef7274b440 Gadu-Gadu: handle apropriate event when getting remotely disconnected from other session
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35144
diff changeset
445 case GG_EVENT_DISCONNECT:
01ef7274b440 Gadu-Gadu: handle apropriate event when getting remotely disconnected from other session
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35144
diff changeset
446 ggp_servconn_remote_disconnect(gc);
01ef7274b440 Gadu-Gadu: handle apropriate event when getting remotely disconnected from other session
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35144
diff changeset
447 break;
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
448 default:
34348
15361867e114 Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33363
diff changeset
449 purple_debug_warning("gg",
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
450 "unsupported event type=%d\n", ev->type);
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
451 break;
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
452 }
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
453
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
454 gg_free_event(ev);
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
455 }
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
456
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
457 void
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
458 ggp_async_login_handler(gpointer _gc, G_GNUC_UNUSED gint fd,
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
459 G_GNUC_UNUSED PurpleInputCondition cond)
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
460 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
461 PurpleConnection *gc = _gc;
15419
c8f83c72739d [gaim-migrate @ 18150]
Evan Schoenberg <evands@pidgin.im>
parents: 15294
diff changeset
462 GGPInfo *info;
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
463 struct gg_event *ev;
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
464
36068
e9b9320a985a Drop PURPLE_CONNECTION_IS_VALID in favor of (temporary) PURPLE_ASSERT_CONNECTION_IS_VALID
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36055
diff changeset
465 PURPLE_ASSERT_CONNECTION_IS_VALID(gc);
15419
c8f83c72739d [gaim-migrate @ 18150]
Evan Schoenberg <evands@pidgin.im>
parents: 15294
diff changeset
466
32261
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
467 info = purple_connection_get_protocol_data(gc);
15419
c8f83c72739d [gaim-migrate @ 18150]
Evan Schoenberg <evands@pidgin.im>
parents: 15294
diff changeset
468
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
469 purple_debug_info("gg", "login_handler: session: check = %d; state = %d;\n",
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
470 info->session->check, info->session->state);
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
471
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
472 switch (info->session->state) {
34442
4534c27446e8 Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34437
diff changeset
473 case GG_STATE_ERROR:
4534c27446e8 Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34437
diff changeset
474 purple_debug_info("gg", "GG_STATE_ERROR\n");
4534c27446e8 Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34437
diff changeset
475 break;
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
476 case GG_STATE_RESOLVING:
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
477 purple_debug_info("gg", "GG_STATE_RESOLVING\n");
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
478 break;
31685
166a2f589d32 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31665
diff changeset
479 case GG_STATE_RESOLVING_GG:
166a2f589d32 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31665
diff changeset
480 purple_debug_info("gg", "GG_STATE_RESOLVING_GG\n");
166a2f589d32 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31665
diff changeset
481 break;
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
482 case GG_STATE_CONNECTING_HUB:
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
483 purple_debug_info("gg", "GG_STATE_CONNECTING_HUB\n");
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
484 break;
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
485 case GG_STATE_READING_DATA:
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
486 purple_debug_info("gg", "GG_STATE_READING_DATA\n");
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
487 break;
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
488 case GG_STATE_CONNECTING_GG:
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
489 purple_debug_info("gg", "GG_STATE_CONNECTING_GG\n");
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
490 break;
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
491 case GG_STATE_READING_KEY:
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
492 purple_debug_info("gg", "GG_STATE_READING_KEY\n");
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
493 break;
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
494 case GG_STATE_READING_REPLY:
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
495 purple_debug_info("gg", "GG_STATE_READING_REPLY\n");
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
496 break;
31685
166a2f589d32 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31665
diff changeset
497 case GG_STATE_TLS_NEGOTIATION:
166a2f589d32 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31665
diff changeset
498 purple_debug_info("gg", "GG_STATE_TLS_NEGOTIATION\n");
166a2f589d32 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31665
diff changeset
499 break;
34348
15361867e114 Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33363
diff changeset
500 case GG_STATE_RESOLVING_HUB:
15361867e114 Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33363
diff changeset
501 purple_debug_info("gg", "GG_STATE_RESOLVING_HUB\n");
15361867e114 Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33363
diff changeset
502 break;
15361867e114 Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33363
diff changeset
503 case GG_STATE_READING_HUB:
15361867e114 Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33363
diff changeset
504 purple_debug_info("gg", "GG_STATE_READING_HUB\n");
15361867e114 Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33363
diff changeset
505 break;
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
506 default:
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
507 purple_debug_error("gg", "unknown state = %d\n",
35360
29d788c72350 Style: fix gg braces (part 1)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35358
diff changeset
508 info->session->state);
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
509 break;
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
510 }
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
511
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
512 if (!(ev = gg_watch_fd(info->session))) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
513 purple_debug_error("gg", "login_handler: gg_watch_fd failed!\n");
32157
39ba2e2492ee Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <markdoliner@pidgin.im>
parents: 32147
diff changeset
514 purple_connection_error (gc,
21279
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 20437
diff changeset
515 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
27626
62fbae50be08 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <markdoliner@pidgin.im>
parents: 27388
diff changeset
516 _("Unable to read from socket"));
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
517 return;
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
518 }
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
519 purple_debug_info("gg", "login_handler: session->fd = %d\n", info->session->fd);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
520 purple_debug_info("gg", "login_handler: session: check = %d; state = %d;\n",
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
521 info->session->check, info->session->state);
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
522
42175
4185b4043214 Use g_clear_handle_id everywhere
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42167
diff changeset
523 g_clear_handle_id(&info->inpa, g_source_remove);
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
524
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
525 /** XXX I think that this shouldn't be done if ev->type is GG_EVENT_CONN_FAILED or GG_EVENT_CONN_SUCCESS -datallah */
31685
166a2f589d32 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31665
diff changeset
526 if (info->session->fd >= 0)
32685
140518f18665 GG: Move the "inpa" input watcher into protocol_data.
Andrew Victor <andrew.victor@mxit.com>
parents: 32678
diff changeset
527 info->inpa = purple_input_add(info->session->fd,
31685
166a2f589d32 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31665
diff changeset
528 (info->session->check == 1) ? PURPLE_INPUT_WRITE :
166a2f589d32 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31665
diff changeset
529 PURPLE_INPUT_READ,
166a2f589d32 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31665
diff changeset
530 ggp_async_login_handler, gc);
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
531
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
532 switch (ev->type) {
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
533 case GG_EVENT_NONE:
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
534 /* Nothing happened. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
535 purple_debug_info("gg", "GG_EVENT_NONE\n");
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
536 break;
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
537 case GG_EVENT_CONN_SUCCESS:
12964
3b3d00bb141b [gaim-migrate @ 15317]
Bartosz Oler <bartosz@pidgin.im>
parents: 12961
diff changeset
538 {
33339
02ee2834030c Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33337
diff changeset
539 purple_debug_info("gg", "GG_EVENT_CONN_SUCCESS:"
02ee2834030c Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33337
diff changeset
540 " successfully connected to %s\n",
34427
2ba83d5d5417 Gadu-Gadu: store server's hostname, instead of IP address, fix memory leak
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34425
diff changeset
541 info->session->connect_host);
2ba83d5d5417 Gadu-Gadu: store server's hostname, instead of IP address, fix memory leak
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34425
diff changeset
542 ggp_servconn_add_server(info->session->
2ba83d5d5417 Gadu-Gadu: store server's hostname, instead of IP address, fix memory leak
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34425
diff changeset
543 connect_host);
41762
5c21747ff7dc Replace purple_input_remove by g_source_remove
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41709
diff changeset
544 g_source_remove(info->inpa);
32685
140518f18665 GG: Move the "inpa" input watcher into protocol_data.
Andrew Victor <andrew.victor@mxit.com>
parents: 32678
diff changeset
545 info->inpa = purple_input_add(info->session->fd,
35360
29d788c72350 Style: fix gg braces (part 1)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35358
diff changeset
546 PURPLE_INPUT_READ,
34474
f0210174619a Gadu-Gadu: (almost) correctly refresh libgadu's file descriptor
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34303
diff changeset
547 ggp_callback_recv, gc);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30163
diff changeset
548
41812
c3cd920261b6 Fix the namespace of the PurpleConnectionState enum constants
Gary Kramlich <grim@reaperworld.com>
parents: 41799
diff changeset
549 purple_connection_set_state(gc, PURPLE_CONNECTION_STATE_CONNECTED);
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
550
27642
6ae79601ad84 Patch from kkszysiu to make the GG prpl support
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27626
diff changeset
551 ggp_buddylist_send(gc);
33318
636bfc28f2cf Gadu-Gadu: roster - finally working
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33316
diff changeset
552 ggp_roster_request_update(gc);
12964
3b3d00bb141b [gaim-migrate @ 15317]
Bartosz Oler <bartosz@pidgin.im>
parents: 12961
diff changeset
553 }
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
554 break;
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
555 case GG_EVENT_CONN_FAILED:
42175
4185b4043214 Use g_clear_handle_id everywhere
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42167
diff changeset
556 g_clear_handle_id(&info->inpa, g_source_remove);
32646
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
557 purple_debug_info("gg", "Connection failure: %d\n",
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
558 ev->event.failure);
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
559 switch (ev->event.failure) {
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
560 case GG_FAILURE_RESOLVING:
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
561 purple_connection_error(gc,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
562 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
563 _("Unable to resolve "
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
564 "hostname"));
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
565 break;
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
566 case GG_FAILURE_PASSWORD:
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
567 purple_connection_error(gc,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
568 PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
569 _("Incorrect password"));
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
570 break;
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
571 case GG_FAILURE_TLS:
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
572 purple_connection_error(gc,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
573 PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
574 _("SSL Connection Failed"));
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
575 break;
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
576 case GG_FAILURE_INTRUDER:
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
577 purple_connection_error(gc,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
578 PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
579 _("Your account has been "
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
580 "disabled because too many "
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
581 "incorrect passwords were "
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
582 "entered"));
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
583 break;
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
584 case GG_FAILURE_UNAVAILABLE:
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
585 purple_connection_error(gc,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
586 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
587 _("Service temporarily "
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
588 "unavailable"));
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
589 break;
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
590 case GG_FAILURE_PROXY:
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
591 purple_connection_error(gc,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
592 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
593 _("Error connecting to proxy "
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
594 "server"));
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
595 break;
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
596 case GG_FAILURE_HUB:
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
597 purple_connection_error(gc,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
598 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
599 _("Error connecting to master "
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
600 "server"));
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
601 break;
34442
4534c27446e8 Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34437
diff changeset
602 case GG_FAILURE_INTERNAL:
4534c27446e8 Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34437
diff changeset
603 purple_connection_error(gc,
4534c27446e8 Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34437
diff changeset
604 PURPLE_CONNECTION_ERROR_OTHER_ERROR,
4534c27446e8 Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34437
diff changeset
605 _("Internal error"));
4534c27446e8 Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34437
diff changeset
606 break;
32646
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
607 default:
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
608 purple_connection_error(gc,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
609 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
610 _("Connection failed"));
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
611 }
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
612 break;
31874
6ddbbcd38154 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31795
diff changeset
613 case GG_EVENT_MSG:
35360
29d788c72350 Style: fix gg braces (part 1)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35358
diff changeset
614 if (ev->event.msg.sender == 0) {
32647
a8e9b3781df1 Gadu-Gadu: check for NULL pointer before logging system messages.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32646
diff changeset
615 if (ev->event.msg.message == NULL)
a8e9b3781df1 Gadu-Gadu: check for NULL pointer before logging system messages.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32646
diff changeset
616 break;
a8e9b3781df1 Gadu-Gadu: check for NULL pointer before logging system messages.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32646
diff changeset
617
31874
6ddbbcd38154 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31795
diff changeset
618 /* system messages are mostly ads */
6ddbbcd38154 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31795
diff changeset
619 purple_debug_info("gg", "System message:\n%s\n",
6ddbbcd38154 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31795
diff changeset
620 ev->event.msg.message);
35360
29d788c72350 Style: fix gg braces (part 1)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35358
diff changeset
621 } else {
31874
6ddbbcd38154 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31795
diff changeset
622 purple_debug_warning("gg", "GG_EVENT_MSG: message from user %u "
6ddbbcd38154 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31795
diff changeset
623 "unexpected while connecting:\n%s\n",
6ddbbcd38154 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31795
diff changeset
624 ev->event.msg.sender,
6ddbbcd38154 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31795
diff changeset
625 ev->event.msg.message);
35360
29d788c72350 Style: fix gg braces (part 1)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35358
diff changeset
626 }
31874
6ddbbcd38154 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31795
diff changeset
627 break;
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
628 default:
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
629 purple_debug_error("gg", "strange event: %d\n", ev->type);
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
630 break;
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
631 }
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
632
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
633 gg_free_event(ev);
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
634 }
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
635
41641
ff6dff2228e1 Add a custom find to account manager
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41472
diff changeset
636 static gboolean
39833
cd90938cd6f7 Silence various discarded const warnings.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
637 gg_uri_handler_find_account(PurpleAccount *account,
cd90938cd6f7 Silence various discarded const warnings.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
638 G_GNUC_UNUSED gconstpointer data)
39328
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
639 {
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
640 const gchar *protocol_id;
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
641
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
642 protocol_id = purple_account_get_protocol_id(account);
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
643
41641
ff6dff2228e1 Add a custom find to account manager
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41472
diff changeset
644 return (purple_strequal(protocol_id, "prpl-gg") &&
ff6dff2228e1 Add a custom find to account manager
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41472
diff changeset
645 purple_account_is_connected(account));
39328
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
646 }
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
647
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
648 static gboolean
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
649 gg_uri_handler(const gchar *scheme, const gchar *screenname,
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
650 G_GNUC_UNUSED GHashTable *params)
39328
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
651 {
41206
afcae29ce67e Port libpurple plugins and protocols to the AccountManager API
Gary Kramlich <grim@reaperworld.com>
parents: 41159
diff changeset
652 PurpleAccountManager *manager = NULL;
41641
ff6dff2228e1 Add a custom find to account manager
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41472
diff changeset
653 PurpleAccount *account;
40885
87f6241da196 Update purple_conversations_find_* to return PurpleConversations instead of subclasses
Gary Kramlich <grim@reaperworld.com>
parents: 40865
diff changeset
654 PurpleConversation *im;
39328
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
655
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
656 g_return_val_if_fail(screenname != NULL, FALSE);
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
657
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
658 if (!purple_strequal(scheme, "gg")) {
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
659 return FALSE;
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
660 }
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
661
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
662 if (screenname[0] == '\0') {
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
663 purple_debug_warning("gg", "Invalid empty screenname in URI");
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
664 return FALSE;
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
665 }
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
666
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
667 /* Find online Gadu-Gadu account */
41206
afcae29ce67e Port libpurple plugins and protocols to the AccountManager API
Gary Kramlich <grim@reaperworld.com>
parents: 41159
diff changeset
668 manager = purple_account_manager_get_default();
41641
ff6dff2228e1 Add a custom find to account manager
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41472
diff changeset
669 account = purple_account_manager_find_custom(manager,
ff6dff2228e1 Add a custom find to account manager
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41472
diff changeset
670 (GEqualFunc)gg_uri_handler_find_account,
ff6dff2228e1 Add a custom find to account manager
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41472
diff changeset
671 NULL);
39328
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
672
41641
ff6dff2228e1 Add a custom find to account manager
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41472
diff changeset
673 if (account == NULL) {
39328
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
674 return FALSE;
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
675 }
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
676
41641
ff6dff2228e1 Add a custom find to account manager
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41472
diff changeset
677 im = purple_im_conversation_new(account, screenname);
40885
87f6241da196 Update purple_conversations_find_* to return PurpleConversations instead of subclasses
Gary Kramlich <grim@reaperworld.com>
parents: 40865
diff changeset
678 purple_conversation_present(im);
39328
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
679
42291
a86b7bcbb471 Make the purple_account_manager_find functions return transfer full.
Gary Kramlich <grim@reaperworld.com>
parents: 42175
diff changeset
680 g_clear_object(&account);
a86b7bcbb471 Make the purple_account_manager_find functions return transfer full.
Gary Kramlich <grim@reaperworld.com>
parents: 42175
diff changeset
681
39328
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
682 return TRUE;
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
683 }
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
684
11414
10b74079ef15 [gaim-migrate @ 13651]
Bartosz Oler <bartosz@pidgin.im>
parents: 11410
diff changeset
685 /* ---------------------------------------------------------------------- */
36544
1bf8b6ef5aea Renamed PurplePluginProtocolInfo to PurpleProtocol
Ankit Vani <a@nevitus.org>
parents: 36536
diff changeset
686 /* ----- PurpleProtocol ----------------------------------------- */
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
687 /* ---------------------------------------------------------------------- */
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
688
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
689 static PurpleBuddyIconSpec *
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
690 ggp_protocol_get_buddy_icon_spec(G_GNUC_UNUSED PurpleProtocol *protocol) {
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
691 return purple_buddy_icon_spec_new("png",
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
692 1, 1, 200, 200, 0,
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
693 PURPLE_ICON_SCALE_DISPLAY |
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
694 PURPLE_ICON_SCALE_SEND);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
695 }
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
696
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
697 static GList *
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
698 ggp_protocol_get_account_options(G_GNUC_UNUSED PurpleProtocol *protocol) {
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
699 PurpleAccountOption *option = NULL;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
700 PurpleKeyValuePair *kvp = NULL;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
701 GList *encryption_options = NULL;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
702 GList *protocol_version = NULL;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
703 GList *opts = NULL;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
704
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
705 option = purple_account_option_string_new(_("GG server"), "gg_server", "");
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
706 opts = g_list_append(opts, option);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
707
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
708 /* setup encryption options */
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
709 kvp = purple_key_value_pair_new(_("Use encryption if available"),
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
710 "opportunistic_tls");
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
711 encryption_options = g_list_append(encryption_options, kvp);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
712
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
713 kvp = purple_key_value_pair_new(_("Require encryption"), "require_tls");
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
714 encryption_options = g_list_append(encryption_options, kvp);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
715
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
716 kvp = purple_key_value_pair_new(_("Don't use encryption"), "none");
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
717 encryption_options = g_list_append(encryption_options, kvp);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
718
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
719 option = purple_account_option_list_new(_("Connection security"),
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
720 "encryption", encryption_options);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
721 opts = g_list_append(opts, option);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
722
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
723 /* setup the protocol version */
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
724 kvp = purple_key_value_pair_new(_("Default"), "default");
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
725 protocol_version = g_list_append(protocol_version, kvp);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
726
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
727 kvp = purple_key_value_pair_new("GG 10", "gg10");
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
728 protocol_version = g_list_append(protocol_version, kvp);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
729
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
730 kvp = purple_key_value_pair_new("GG 11", "gg11");
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
731 protocol_version = g_list_append(protocol_version, kvp);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
732
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
733 option = purple_account_option_list_new(_("Protocol version"),
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
734 "protocol_version",
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
735 protocol_version);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
736 opts = g_list_append(opts, option);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
737
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
738 option = purple_account_option_bool_new(_("Show links from strangers"),
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
739 "show_links_from_strangers", 1);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
740 opts = g_list_append(opts, option);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
741
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
742 return opts;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
743 }
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
744
40634
4d3018b00ad4 Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40618
diff changeset
745 static const char *
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
746 ggp_normalize(G_GNUC_UNUSED PurpleProtocolClient *client,
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
747 G_GNUC_UNUSED PurpleAccount *account, const char *who)
2846
4f0435806f95 [gaim-migrate @ 2859]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents: 2835
diff changeset
748 {
32652
9cf860cf65f2 Gadu-Gadu: function to normalize gg usernames
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32651
diff changeset
749 static char normalized[21]; /* maximum unsigned long long int size */
2846
4f0435806f95 [gaim-migrate @ 2859]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents: 2835
diff changeset
750
32652
9cf860cf65f2 Gadu-Gadu: function to normalize gg usernames
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32651
diff changeset
751 uin_t uin = ggp_str_to_uin(who);
40634
4d3018b00ad4 Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40618
diff changeset
752 if(uin <= 0) {
31892
3368a7044a4a Better status message handling in Gadu-Gadu. Fixes #14314
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31879
diff changeset
753 return NULL;
40634
4d3018b00ad4 Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40618
diff changeset
754 }
31892
3368a7044a4a Better status message handling in Gadu-Gadu. Fixes #14314
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31879
diff changeset
755
32652
9cf860cf65f2 Gadu-Gadu: function to normalize gg usernames
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32651
diff changeset
756 g_snprintf(normalized, sizeof(normalized), "%u", uin);
31892
3368a7044a4a Better status message handling in Gadu-Gadu. Fixes #14314
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 31879
diff changeset
757
32652
9cf860cf65f2 Gadu-Gadu: function to normalize gg usernames
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32651
diff changeset
758 return normalized;
2846
4f0435806f95 [gaim-migrate @ 2859]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents: 2835
diff changeset
759 }
4f0435806f95 [gaim-migrate @ 2859]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents: 2835
diff changeset
760
41814
f8940ebd4eee Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents: 41812
diff changeset
761 static void
f8940ebd4eee Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents: 41812
diff changeset
762 ggp_login(G_GNUC_UNUSED PurpleProtocol *protocol, PurpleAccount *account) {
f8940ebd4eee Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents: 41812
diff changeset
763 PurpleConnection *gc = purple_account_get_connection(account);
41979
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
764 PurpleContactInfo *contact_info = PURPLE_CONTACT_INFO(account);
13515
0cea461e904c [gaim-migrate @ 15890]
Bartosz Oler <bartosz@pidgin.im>
parents: 13466
diff changeset
765 struct gg_login_params *glp;
0cea461e904c [gaim-migrate @ 15890]
Bartosz Oler <bartosz@pidgin.im>
parents: 13466
diff changeset
766 GGPInfo *info;
27255
d2284774cfed Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <darkrain42@pidgin.im>
parents: 27197
diff changeset
767 const char *address;
34424
70fb82cea2a7 Make it possible to select protocol version
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34415
diff changeset
768 const gchar *encryption_type, *protocol_version;
40019
5bf1b06ebd65 Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39970
diff changeset
769 GProxyResolver *resolver;
41159
2b4446ccebc9 Make sure our GError variables are initialized to NULL
Gary Kramlich <grim@reaperworld.com>
parents: 41078
diff changeset
770 GError *error = NULL;
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
771
36069
f99249837123 Gadu-Gadu: disable inline images for libgadu<1.12.0
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36068
diff changeset
772 purple_connection_set_flags(gc,
f99249837123 Gadu-Gadu: disable inline images for libgadu<1.12.0
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36068
diff changeset
773 PURPLE_CONNECTION_FLAG_HTML |
f99249837123 Gadu-Gadu: disable inline images for libgadu<1.12.0
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36068
diff changeset
774 PURPLE_CONNECTION_FLAG_NO_URLDESC);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
775
40019
5bf1b06ebd65 Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39970
diff changeset
776 resolver = purple_proxy_get_proxy_resolver(account, &error);
5bf1b06ebd65 Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39970
diff changeset
777 if (resolver == NULL) {
5bf1b06ebd65 Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39970
diff changeset
778 purple_debug_error("gg", "Unable to get account proxy resolver: %s",
5bf1b06ebd65 Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39970
diff changeset
779 error->message);
40618
4726bf0ff977 Fix some GError leaks.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40521
diff changeset
780 purple_connection_take_error(gc, error);
41814
f8940ebd4eee Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents: 41812
diff changeset
781 return;
40019
5bf1b06ebd65 Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39970
diff changeset
782 }
5bf1b06ebd65 Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39970
diff changeset
783
13515
0cea461e904c [gaim-migrate @ 15890]
Bartosz Oler <bartosz@pidgin.im>
parents: 13466
diff changeset
784 glp = g_new0(struct gg_login_params, 1);
34427
2ba83d5d5417 Gadu-Gadu: store server's hostname, instead of IP address, fix memory leak
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34425
diff changeset
785 glp->struct_size = sizeof(struct gg_login_params);
13515
0cea461e904c [gaim-migrate @ 15890]
Bartosz Oler <bartosz@pidgin.im>
parents: 13466
diff changeset
786 info = g_new0(GGPInfo, 1);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
787
32261
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
788 purple_connection_set_protocol_data(gc, info);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
789
40819
54b2a95ac176 Cleanup deprecated libsoup usage
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40813
diff changeset
790 info->http = soup_session_new_with_options("proxy-resolver", resolver,
54b2a95ac176 Cleanup deprecated libsoup usage
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40813
diff changeset
791 NULL);
40019
5bf1b06ebd65 Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39970
diff changeset
792
34433
fa2313e5f320 Gadu-Gadu: use our own proxy/tls connecting code instead of libgadu's
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34429
diff changeset
793 ggp_tcpsocket_setup(gc, glp);
33298
519acf37d16e Gadu-Gadu: fix receiving of inline images after 3.x changes; code refactoring here as well
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33296
diff changeset
794 ggp_image_setup(gc);
33313
5a0c6582d5b1 Gadu-Gadu: refactoring of buddy avatars handling. Fixes #13739, #14305
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33311
diff changeset
795 ggp_avatar_setup(gc);
33314
57013b9e1a8e Gadu-Gadu: roster - downloading
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33313
diff changeset
796 ggp_roster_setup(gc);
33334
734fc6da6179 Gadu-Gadu: initial multilogon support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33333
diff changeset
797 ggp_multilogon_setup(gc);
33336
7c97b5dd3bf4 Gadu-Gadu: status refactoring - own status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33334
diff changeset
798 ggp_status_setup(gc);
34350
89441dbabc83 Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34348
diff changeset
799 ggp_chat_setup(gc);
34361
ddcc82637afa Gadu-Gadu: incoming images works again
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34359
diff changeset
800 ggp_message_setup(gc);
40025
7668af6d772c Convert GG file transfers to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40019
diff changeset
801 ggp_edisc_setup(gc, resolver);
7668af6d772c Convert GG file transfers to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40019
diff changeset
802 g_object_unref(resolver);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30163
diff changeset
803
41979
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
804 glp->uin = ggp_str_to_uin(purple_contact_info_get_username(contact_info));
34145
fa72f1e5cd77 Some polishing on files modified on this branch (mostly formatting)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34115
diff changeset
805 glp->password =
fa72f1e5cd77 Some polishing on files modified on this branch (mostly formatting)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34115
diff changeset
806 ggp_convert_to_cp1250(purple_connection_get_password(gc));
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
807
32646
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
808 if (glp->uin == 0) {
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
809 purple_connection_error(gc,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
810 PURPLE_CONNECTION_ERROR_INVALID_USERNAME,
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
811 _("The username specified is invalid."));
34428
f52357f34177 Gadu-Gadu: wipe password
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34427
diff changeset
812 purple_str_wipe(glp->password);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
813 g_free(glp);
41814
f8940ebd4eee Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents: 41812
diff changeset
814 return;
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
815 }
32646
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
816
24745
511df62cb366 Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24683
diff changeset
817 glp->image_size = 255;
32651
cc247c37281e Gadu-Gadu: option to show links from strangers. Fixes #10591
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32650
diff changeset
818 glp->status_flags = GG_STATUS_FLAG_UNKNOWN;
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
819
32651
cc247c37281e Gadu-Gadu: option to show links from strangers. Fixes #10591
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32650
diff changeset
820 if (purple_account_get_bool(account, "show_links_from_strangers", 1))
cc247c37281e Gadu-Gadu: option to show links from strangers. Fixes #10591
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32650
diff changeset
821 glp->status_flags |= GG_STATUS_FLAG_SPAM;
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
822
29824
9878119b5d78 Finish making libgadu compile on Windows. Fixes #10542 finally!
Krzysztof Klinikowski <kkszysiu@gmail.com>
parents: 29404
diff changeset
823 glp->encoding = GG_ENCODING_UTF8;
33296
33a9adb52028 Enable receiving of user_data packets
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33295
diff changeset
824 glp->protocol_features = (GG_FEATURE_DND_FFC |
33a9adb52028 Enable receiving of user_data packets
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33295
diff changeset
825 GG_FEATURE_TYPING_NOTIFICATION | GG_FEATURE_MULTILOGON |
33a9adb52028 Enable receiving of user_data packets
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33295
diff changeset
826 GG_FEATURE_USER_DATA);
35976
3f076483405f Gadu-Gadu: use asynchronous purple_dnsquery_a_account instead of deprecated gg_gethostbyname
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35251
diff changeset
827
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
828 glp->async = 1;
35976
3f076483405f Gadu-Gadu: use asynchronous purple_dnsquery_a_account instead of deprecated gg_gethostbyname
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35251
diff changeset
829
32643
c7ba76b54779 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32617
diff changeset
830 encryption_type = purple_account_get_string(account, "encryption",
c7ba76b54779 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32617
diff changeset
831 "opportunistic_tls");
c7ba76b54779 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32617
diff changeset
832 purple_debug_info("gg", "Requested encryption type: %s\n",
c7ba76b54779 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32617
diff changeset
833 encryption_type);
38358
30ba44276e74 Merge release-2.x.y into default
dx <dx@dxzone.com.ar>
parents: 37163 38259
diff changeset
834 if (purple_strequal(encryption_type, "opportunistic_tls"))
32643
c7ba76b54779 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32617
diff changeset
835 glp->tls = GG_SSL_ENABLED;
38358
30ba44276e74 Merge release-2.x.y into default
dx <dx@dxzone.com.ar>
parents: 37163 38259
diff changeset
836 else if (purple_strequal(encryption_type, "require_tls")) {
32643
c7ba76b54779 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32617
diff changeset
837 if (gg_libgadu_check_feature(GG_LIBGADU_FEATURE_SSL))
c7ba76b54779 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32617
diff changeset
838 glp->tls = GG_SSL_REQUIRED;
32646
d1e3538b0c5f Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32645
diff changeset
839 else {
32643
c7ba76b54779 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32617
diff changeset
840 purple_connection_error(gc,
c7ba76b54779 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32617
diff changeset
841 PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT,
c7ba76b54779 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32617
diff changeset
842 _("SSL support unavailable"));
34428
f52357f34177 Gadu-Gadu: wipe password
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34427
diff changeset
843 purple_str_wipe(glp->password);
32643
c7ba76b54779 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32617
diff changeset
844 g_free(glp);
41814
f8940ebd4eee Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents: 41812
diff changeset
845 return;
35976
3f076483405f Gadu-Gadu: use asynchronous purple_dnsquery_a_account instead of deprecated gg_gethostbyname
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35251
diff changeset
846 }
32643
c7ba76b54779 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32617
diff changeset
847 }
c7ba76b54779 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32617
diff changeset
848 else /* encryption_type == "none" */
c7ba76b54779 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 32617
diff changeset
849 glp->tls = GG_SSL_DISABLED;
34424
70fb82cea2a7 Make it possible to select protocol version
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34415
diff changeset
850 purple_debug_misc("gg", "TLS mode: %d\n", glp->tls);
35976
3f076483405f Gadu-Gadu: use asynchronous purple_dnsquery_a_account instead of deprecated gg_gethostbyname
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35251
diff changeset
851
34424
70fb82cea2a7 Make it possible to select protocol version
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34415
diff changeset
852 protocol_version = purple_account_get_string(account,
70fb82cea2a7 Make it possible to select protocol version
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34415
diff changeset
853 "protocol_version", "default");
70fb82cea2a7 Make it possible to select protocol version
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34415
diff changeset
854 purple_debug_info("gg", "Requested protocol version: %s\n",
70fb82cea2a7 Make it possible to select protocol version
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34415
diff changeset
855 protocol_version);
38358
30ba44276e74 Merge release-2.x.y into default
dx <dx@dxzone.com.ar>
parents: 37163 38259
diff changeset
856 if (purple_strequal(protocol_version, "gg10"))
34424
70fb82cea2a7 Make it possible to select protocol version
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34415
diff changeset
857 glp->protocol_version = GG_PROTOCOL_VERSION_100;
38358
30ba44276e74 Merge release-2.x.y into default
dx <dx@dxzone.com.ar>
parents: 37163 38259
diff changeset
858 else if (purple_strequal(protocol_version, "gg11"))
34424
70fb82cea2a7 Make it possible to select protocol version
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34415
diff changeset
859 glp->protocol_version = GG_PROTOCOL_VERSION_110;
34473
fb04c75906e0 Gadu-Gadu: update code for the new libpurple and libgadu APIs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34454
diff changeset
860 glp->compatibility = GG_COMPAT_1_12_0;
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
861
33336
7c97b5dd3bf4 Gadu-Gadu: status refactoring - own status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33334
diff changeset
862 ggp_status_set_initial(gc, glp);
35976
3f076483405f Gadu-Gadu: use asynchronous purple_dnsquery_a_account instead of deprecated gg_gethostbyname
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35251
diff changeset
863
27255
d2284774cfed Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <darkrain42@pidgin.im>
parents: 27197
diff changeset
864 address = purple_account_get_string(account, "gg_server", "");
33292
0ad1dc71f5c7 Makefile cleanup, fix building with external libgadu, little synchronization of internal libgadu with upstream. Refs #343
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33291
diff changeset
865 if (address && *address)
34427
2ba83d5d5417 Gadu-Gadu: store server's hostname, instead of IP address, fix memory leak
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34425
diff changeset
866 glp->connect_host = g_strdup(address);
27255
d2284774cfed Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <darkrain42@pidgin.im>
parents: 27197
diff changeset
867
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
868 info->session = gg_login(glp);
34427
2ba83d5d5417 Gadu-Gadu: store server's hostname, instead of IP address, fix memory leak
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34425
diff changeset
869 g_free(glp->connect_host);
34428
f52357f34177 Gadu-Gadu: wipe password
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34427
diff changeset
870 purple_str_wipe(glp->password);
34427
2ba83d5d5417 Gadu-Gadu: store server's hostname, instead of IP address, fix memory leak
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34425
diff changeset
871 g_free(glp);
2ba83d5d5417 Gadu-Gadu: store server's hostname, instead of IP address, fix memory leak
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34425
diff changeset
872
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
873 if (info->session == NULL) {
32157
39ba2e2492ee Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <markdoliner@pidgin.im>
parents: 32147
diff changeset
874 purple_connection_error (gc,
21279
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 20437
diff changeset
875 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
27626
62fbae50be08 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <markdoliner@pidgin.im>
parents: 27388
diff changeset
876 _("Connection failed"));
41814
f8940ebd4eee Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents: 41812
diff changeset
877 return;
35976
3f076483405f Gadu-Gadu: use asynchronous purple_dnsquery_a_account instead of deprecated gg_gethostbyname
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35251
diff changeset
878 }
3f076483405f Gadu-Gadu: use asynchronous purple_dnsquery_a_account instead of deprecated gg_gethostbyname
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35251
diff changeset
879
34433
fa2313e5f320 Gadu-Gadu: use our own proxy/tls connecting code instead of libgadu's
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34429
diff changeset
880 if (info->session->fd > 0) {
fa2313e5f320 Gadu-Gadu: use our own proxy/tls connecting code instead of libgadu's
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34429
diff changeset
881 info->inpa = purple_input_add(info->session->fd,
fa2313e5f320 Gadu-Gadu: use our own proxy/tls connecting code instead of libgadu's
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34429
diff changeset
882 PURPLE_INPUT_READ, ggp_async_login_handler, gc);
35976
3f076483405f Gadu-Gadu: use asynchronous purple_dnsquery_a_account instead of deprecated gg_gethostbyname
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35251
diff changeset
883 }
3f076483405f Gadu-Gadu: use asynchronous purple_dnsquery_a_account instead of deprecated gg_gethostbyname
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35251
diff changeset
884 }
3f076483405f Gadu-Gadu: use asynchronous purple_dnsquery_a_account instead of deprecated gg_gethostbyname
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35251
diff changeset
885
41775
82c861678f39 Pass the PurpleProtocol objects to all methods of the class
Gary Kramlich <grim@reaperworld.com>
parents: 41762
diff changeset
886 static void
82c861678f39 Pass the PurpleProtocol objects to all methods of the class
Gary Kramlich <grim@reaperworld.com>
parents: 41762
diff changeset
887 ggp_close(G_GNUC_UNUSED PurpleProtocol *protocol, PurpleConnection *gc) {
32261
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
888 PurpleAccount *account;
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
889 GGPInfo *info;;
8997
a30b6b11674a [gaim-migrate @ 9772]
Luke Schierer <lschiere@pidgin.im>
parents: 8996
diff changeset
890
34373
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
891 g_return_if_fail(gc != NULL);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
892
32261
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
893 account = purple_connection_get_account(gc);
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
894 info = purple_connection_get_protocol_data(gc);
12964
3b3d00bb141b [gaim-migrate @ 15317]
Bartosz Oler <bartosz@pidgin.im>
parents: 12961
diff changeset
895
34373
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
896 purple_notify_close_with_handle(gc);
35976
3f076483405f Gadu-Gadu: use asynchronous purple_dnsquery_a_account instead of deprecated gg_gethostbyname
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35251
diff changeset
897
32261
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
898 if (info) {
11538
d87f3717d5a5 [gaim-migrate @ 13792]
Daniel Atallah <datallah@pidgin.im>
parents: 11522
diff changeset
899 if (info->session != NULL) {
33340
5f00ed891179 Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33339
diff changeset
900 ggp_status_set_disconnected(account);
11538
d87f3717d5a5 [gaim-migrate @ 13792]
Daniel Atallah <datallah@pidgin.im>
parents: 11522
diff changeset
901 gg_logoff(info->session);
d87f3717d5a5 [gaim-migrate @ 13792]
Daniel Atallah <datallah@pidgin.im>
parents: 11522
diff changeset
902 gg_free_session(info->session);
d87f3717d5a5 [gaim-migrate @ 13792]
Daniel Atallah <datallah@pidgin.im>
parents: 11522
diff changeset
903 }
13641
1173f8ca3fbf [gaim-migrate @ 16038]
Bartosz Oler <bartosz@pidgin.im>
parents: 13627
diff changeset
904
33313
5a0c6582d5b1 Gadu-Gadu: refactoring of buddy avatars handling. Fixes #13739, #14305
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33311
diff changeset
905 ggp_image_cleanup(gc);
5a0c6582d5b1 Gadu-Gadu: refactoring of buddy avatars handling. Fixes #13739, #14305
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33311
diff changeset
906 ggp_avatar_cleanup(gc);
33314
57013b9e1a8e Gadu-Gadu: roster - downloading
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33313
diff changeset
907 ggp_roster_cleanup(gc);
33334
734fc6da6179 Gadu-Gadu: initial multilogon support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33333
diff changeset
908 ggp_multilogon_cleanup(gc);
33336
7c97b5dd3bf4 Gadu-Gadu: status refactoring - own status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33334
diff changeset
909 ggp_status_cleanup(gc);
34350
89441dbabc83 Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34348
diff changeset
910 ggp_chat_cleanup(gc);
34361
ddcc82637afa Gadu-Gadu: incoming images works again
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34359
diff changeset
911 ggp_message_cleanup(gc);
34380
2179667660bc Edisc authentication, file transfer implementation started
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34378
diff changeset
912 ggp_edisc_cleanup(gc);
14060
e1a87aabd80c [gaim-migrate @ 16583]
Evan Schoenberg <evands@pidgin.im>
parents: 13645
diff changeset
913
42175
4185b4043214 Use g_clear_handle_id everywhere
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42167
diff changeset
914 g_clear_handle_id(&info->inpa, g_source_remove);
34373
169db6aa5e08 Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34361
diff changeset
915 g_free(info->imtoken);
32685
140518f18665 GG: Move the "inpa" input watcher into protocol_data.
Andrew Victor <andrew.victor@mxit.com>
parents: 32678
diff changeset
916
40019
5bf1b06ebd65 Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39970
diff changeset
917 if (info->http) {
5bf1b06ebd65 Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39970
diff changeset
918 soup_session_abort(info->http);
5bf1b06ebd65 Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39970
diff changeset
919 g_object_unref(info->http);
5bf1b06ebd65 Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39970
diff changeset
920 }
5bf1b06ebd65 Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39970
diff changeset
921
32685
140518f18665 GG: Move the "inpa" input watcher into protocol_data.
Andrew Victor <andrew.victor@mxit.com>
parents: 32678
diff changeset
922 purple_connection_set_protocol_data(gc, NULL);
11545
df2f9bb3fd6e [gaim-migrate @ 13800]
Daniel Atallah <datallah@pidgin.im>
parents: 11544
diff changeset
923 g_free(info);
11538
d87f3717d5a5 [gaim-migrate @ 13792]
Daniel Atallah <datallah@pidgin.im>
parents: 11522
diff changeset
924 }
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
925
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
926 purple_debug_info("gg", "Connection closed.\n");
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
927 }
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
928
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
929 static unsigned int
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
930 ggp_send_typing(G_GNUC_UNUSED PurpleProtocolIM *im, PurpleConnection *gc,
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
931 const char *name, PurpleIMTypingState state)
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
932 {
32261
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
933 GGPInfo *info = purple_connection_get_protocol_data(gc);
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
934 int dummy_length; /* we don't send real length of typed message */
24745
511df62cb366 Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24683
diff changeset
935
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
936 if (state == PURPLE_IM_TYPED) /* not supported */
31648
03cb811f6382 This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31630
diff changeset
937 return 1;
31628
339576876d0b Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31611
diff changeset
938
34670
9bd5bd903dc7 Renamed chat buddies to chat users, and IM conversation typing state to IM typing state.
Ankit Vani <a@nevitus.org>
parents: 34632
diff changeset
939 if (state == PURPLE_IM_TYPING)
31648
03cb811f6382 This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31630
diff changeset
940 dummy_length = (int)g_random_int();
37063
a84be725efad Merge gtkdoc-conversion
Ankit Vani <a@nevitus.org>
parents: 37038 35358
diff changeset
941 else /* PURPLE_IM_NOT_TYPING */
31648
03cb811f6382 This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31630
diff changeset
942 dummy_length = 0;
24745
511df62cb366 Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24683
diff changeset
943
31648
03cb811f6382 This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31630
diff changeset
944 gg_typing_notification(
32261
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
945 info->session,
31648
03cb811f6382 This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31630
diff changeset
946 ggp_str_to_uin(name),
35358
7beae478c905 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35356
diff changeset
947 dummy_length);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30163
diff changeset
948
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
949 return 1; /* wait 1 second before another notification */
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
950 }
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
951
40708
53a26c29d26c Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40650
diff changeset
952 static void
53a26c29d26c Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40650
diff changeset
953 ggp_add_buddy(PurpleProtocolServer *protocol_server, PurpleConnection *gc,
53a26c29d26c Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40650
diff changeset
954 PurpleBuddy *buddy, PurpleGroup *group, const gchar *message)
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
955 {
33299
b3c4ab3aeb7f Gadu-Gadu: utils refactoring, (partially) fix new account registration
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33298
diff changeset
956 PurpleAccount *account = purple_connection_get_account(gc);
41979
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
957 PurpleContactInfo *contact_info = PURPLE_CONTACT_INFO(account);
32261
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
958 GGPInfo *info = purple_connection_get_protocol_data(gc);
24939
d25fdf62ae92 moved gg to use the api rather than structs directly
Gary Kramlich <grim@reaperworld.com>
parents: 24043
diff changeset
959 const gchar *name = purple_buddy_get_name(buddy);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
960
24939
d25fdf62ae92 moved gg to use the api rather than structs directly
Gary Kramlich <grim@reaperworld.com>
parents: 24043
diff changeset
961 gg_add_notify(info->session, ggp_str_to_uin(name));
20289
5c844288fbec applied changes from 32f31e981f0618a4167aa98bcc22c2dab13d1550
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 20288
diff changeset
962
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
963 /* gg server won't tell us our status here */
41979
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
964 if(purple_strequal(purple_contact_info_get_username(contact_info), name)) {
33337
458d578d553d Gadu-Gadu: status refactoring - fix bug with long status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33336
diff changeset
965 ggp_status_fake_to_self(gc);
41979
31c32b8d4bef Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents: 41958
diff changeset
966 }
35354
aa1f0e988567 Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35305
diff changeset
967
40708
53a26c29d26c Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40650
diff changeset
968 ggp_roster_add_buddy(protocol_server, gc, buddy, group, message);
33345
740174b22496 Gadu-Gadu: retrieve buddy public alias after adding to blist. Fixes #2188
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33344
diff changeset
969 ggp_pubdir_request_buddy_alias(gc, buddy);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
970 }
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
971
40708
53a26c29d26c Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40650
diff changeset
972 static void
53a26c29d26c Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40650
diff changeset
973 ggp_remove_buddy(PurpleProtocolServer *protocol_server, PurpleConnection *gc,
53a26c29d26c Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40650
diff changeset
974 PurpleBuddy *buddy, PurpleGroup *group)
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
975 {
32261
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
976 GGPInfo *info = purple_connection_get_protocol_data(gc);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
977
24939
d25fdf62ae92 moved gg to use the api rather than structs directly
Gary Kramlich <grim@reaperworld.com>
parents: 24043
diff changeset
978 gg_remove_notify(info->session, ggp_str_to_uin(purple_buddy_get_name(buddy)));
40708
53a26c29d26c Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40650
diff changeset
979 ggp_roster_remove_buddy(protocol_server, gc, buddy, group);
11394
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
980 }
044b3779f027 [gaim-migrate @ 13625]
Bartosz Oler <bartosz@pidgin.im>
parents: 11360
diff changeset
981
40708
53a26c29d26c Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40650
diff changeset
982 static void
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
983 ggp_keepalive(G_GNUC_UNUSED PurpleProtocolServer *protocol_server,
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
984 PurpleConnection *gc)
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
985 {
32261
bd956558346e Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
Andrew Victor <andrew.victor@mxit.com>
parents: 32191
diff changeset
986 GGPInfo *info = purple_connection_get_protocol_data(gc);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
987
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
988 /* purple_debug_info("gg", "Keeping connection alive....\n"); */
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
989
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
990 if (gg_ping(info->session) < 0) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
991 purple_debug_info("gg", "Not connected to the server "
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
992 "or gg_session is not correct\n");
32157
39ba2e2492ee Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <markdoliner@pidgin.im>
parents: 32147
diff changeset
993 purple_connection_error (gc,
21279
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 20437
diff changeset
994 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
27626
62fbae50be08 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <markdoliner@pidgin.im>
parents: 27388
diff changeset
995 _("Not connected to the server"));
4916
11b8fd3f8ffc [gaim-migrate @ 5250]
Sean Egan <seanegan@pidgin.im>
parents: 4793
diff changeset
996 }
2393
cfef0212506b [gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
997 }
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
998
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
999 static void
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1000 ggp_action_multilogon(G_GNUC_UNUSED GSimpleAction *action,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1001 GVariant *parameter,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1002 G_GNUC_UNUSED gpointer data)
35144
3590ceb242b5 Gadu-Gadu: multilogon / other sessions dialog implementation. Refs #14366
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35139
diff changeset
1003 {
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1004 const gchar *account_id = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1005 PurpleAccountManager *manager = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1006 PurpleAccount *account = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1007 PurpleConnection *connection = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1008
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1009 if(!g_variant_is_of_type(parameter, G_VARIANT_TYPE_STRING)) {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1010 g_critical("GG multilogin action parameter is of incorrect type %s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1011 g_variant_get_type_string(parameter));
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1012 }
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1013
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1014 account_id = g_variant_get_string(parameter, NULL);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1015 manager = purple_account_manager_get_default();
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1016 account = purple_account_manager_find_by_id(manager, account_id);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1017 connection = purple_account_get_connection(account);
42291
a86b7bcbb471 Make the purple_account_manager_find functions return transfer full.
Gary Kramlich <grim@reaperworld.com>
parents: 42175
diff changeset
1018 g_clear_object(&account);
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1019
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1020 ggp_multilogon_dialog(connection);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1021 }
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1022
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1023 static void
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1024 ggp_action_status_broadcasting(G_GNUC_UNUSED GSimpleAction *action,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1025 GVariant *parameter,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1026 G_GNUC_UNUSED gpointer data)
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1027 {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1028 const gchar *account_id = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1029 PurpleAccountManager *manager = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1030 PurpleAccount *account = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1031 PurpleConnection *connection = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1032
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1033 if(!g_variant_is_of_type(parameter, G_VARIANT_TYPE_STRING)) {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1034 g_critical("GG broadcast action parameter is of incorrect type %s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1035 g_variant_get_type_string(parameter));
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1036 }
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1037
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1038 account_id = g_variant_get_string(parameter, NULL);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1039 manager = purple_account_manager_get_default();
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1040 account = purple_account_manager_find_by_id(manager, account_id);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1041 connection = purple_account_get_connection(account);
42291
a86b7bcbb471 Make the purple_account_manager_find functions return transfer full.
Gary Kramlich <grim@reaperworld.com>
parents: 42175
diff changeset
1042 g_clear_object(&account);
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1043
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1044 ggp_status_broadcasting_dialog(connection);
35144
3590ceb242b5 Gadu-Gadu: multilogon / other sessions dialog implementation. Refs #14366
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35139
diff changeset
1045 }
3590ceb242b5 Gadu-Gadu: multilogon / other sessions dialog implementation. Refs #14366
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35139
diff changeset
1046
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1047 static void
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1048 ggp_action_search(G_GNUC_UNUSED GSimpleAction *action,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1049 GVariant *parameter,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1050 G_GNUC_UNUSED gpointer data)
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
1051 {
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1052 const gchar *account_id = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1053 PurpleAccountManager *manager = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1054 PurpleAccount *account = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1055 PurpleConnection *connection = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1056
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1057 if(!g_variant_is_of_type(parameter, G_VARIANT_TYPE_STRING)) {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1058 g_critical("GG search action parameter is of incorrect type %s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1059 g_variant_get_type_string(parameter));
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1060 }
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1061
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1062 account_id = g_variant_get_string(parameter, NULL);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1063 manager = purple_account_manager_get_default();
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1064 account = purple_account_manager_find_by_id(manager, account_id);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1065 connection = purple_account_get_connection(account);
42291
a86b7bcbb471 Make the purple_account_manager_find functions return transfer full.
Gary Kramlich <grim@reaperworld.com>
parents: 42175
diff changeset
1066 g_clear_object(&account);
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1067
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1068 ggp_pubdir_search(connection, NULL);
2393
cfef0212506b [gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1069 }
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
1070
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1071 static void
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1072 ggp_action_set_info(G_GNUC_UNUSED GSimpleAction *action,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1073 GVariant *parameter,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1074 G_GNUC_UNUSED gpointer data)
33343
09f740724036 Gadu-Gadu: extended OAuth support, initial support for gg10.5 public directory
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33342
diff changeset
1075 {
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1076 const gchar *account_id = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1077 PurpleAccountManager *manager = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1078 PurpleAccount *account = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1079 PurpleConnection *connection = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1080
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1081 if(!g_variant_is_of_type(parameter, G_VARIANT_TYPE_STRING)) {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1082 g_critical("GG set info action parameter is of incorrect type %s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1083 g_variant_get_type_string(parameter));
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1084 }
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1085
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1086 account_id = g_variant_get_string(parameter, NULL);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1087 manager = purple_account_manager_get_default();
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1088 account = purple_account_manager_find_by_id(manager, account_id);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1089 connection = purple_account_get_connection(account);
42291
a86b7bcbb471 Make the purple_account_manager_find functions return transfer full.
Gary Kramlich <grim@reaperworld.com>
parents: 42175
diff changeset
1090 g_clear_object(&account);
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1091
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1092 ggp_pubdir_set_info(connection);
33343
09f740724036 Gadu-Gadu: extended OAuth support, initial support for gg10.5 public directory
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33342
diff changeset
1093 }
09f740724036 Gadu-Gadu: extended OAuth support, initial support for gg10.5 public directory
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33342
diff changeset
1094
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1095 static const gchar *
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1096 ggp_protocol_actions_get_prefix(G_GNUC_UNUSED PurpleProtocolActions *actions) {
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1097 return "prpl-gg";
2393
cfef0212506b [gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1098 }
cfef0212506b [gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1099
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1100 static GActionGroup *
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1101 ggp_protocol_actions_get_action_group(G_GNUC_UNUSED PurpleProtocolActions *actions,
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1102 G_GNUC_UNUSED PurpleConnection *connection)
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1103 {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1104 GSimpleActionGroup *group = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1105 GActionEntry entries[] = {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1106 {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1107 .name = "multilogon",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1108 .activate = ggp_action_multilogon,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1109 .parameter_type = "s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1110 },
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1111 {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1112 .name = "broadcasting",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1113 .activate = ggp_action_status_broadcasting,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1114 .parameter_type = "s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1115 },
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1116 {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1117 .name = "search",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1118 .activate = ggp_action_search,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1119 .parameter_type = "s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1120 },
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1121 {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1122 .name = "set-info",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1123 .activate = ggp_action_set_info,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1124 .parameter_type = "s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1125 },
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1126 {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1127 .name = "save-buddylist",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1128 .activate = ggp_action_buddylist_save,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1129 .parameter_type = "s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1130 },
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1131 {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1132 .name = "load-buddylist",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1133 .activate = ggp_action_buddylist_load,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1134 .parameter_type = "s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1135 },
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1136 };
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1137 gsize nentries = G_N_ELEMENTS(entries);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
1138
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1139 group = g_simple_action_group_new();
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1140 g_action_map_add_action_entries(G_ACTION_MAP(group), entries, nentries,
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1141 NULL);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
1142
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1143 return G_ACTION_GROUP(group);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1144 }
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
1145
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1146 static GMenu *
42004
620d1adf91f2 Add a connection parameter to the PurpleProtocolActions.get_menu virtual function
Gary Kramlich <grim@reaperworld.com>
parents: 41979
diff changeset
1147 ggp_protocol_actions_get_menu(G_GNUC_UNUSED PurpleProtocolActions *actions,
620d1adf91f2 Add a connection parameter to the PurpleProtocolActions.get_menu virtual function
Gary Kramlich <grim@reaperworld.com>
parents: 41979
diff changeset
1148 G_GNUC_UNUSED PurpleConnection *connection) {
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1149 GMenu *menu = NULL, *submenu = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1150 GMenuItem *item = NULL;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1151
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1152 menu = g_menu_new();
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1153
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1154 item = g_menu_item_new(_("Show other sessions"), "prpl-gg.multilogon");
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1155 g_menu_item_set_attribute(item, PURPLE_MENU_ATTRIBUTE_DYNAMIC_TARGET, "s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1156 "account");
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1157 g_menu_append_item(menu, item);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1158 g_object_unref(item);
8775
6cb5dddaad4f [gaim-migrate @ 9537]
Andrew Wellington <proton@users.sourceforge.net>
parents: 8749
diff changeset
1159
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1160 item = g_menu_item_new(_("Show status only for buddies"),
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1161 "prpl-gg.broadcasting");
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1162 g_menu_item_set_attribute(item, PURPLE_MENU_ATTRIBUTE_DYNAMIC_TARGET, "s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1163 "account");
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1164 g_menu_append_item(menu, item);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1165 g_object_unref(item);
8775
6cb5dddaad4f [gaim-migrate @ 9537]
Andrew Wellington <proton@users.sourceforge.net>
parents: 8749
diff changeset
1166
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1167 item = g_menu_item_new(_("Find buddies..."), "prpl-gg.search");
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1168 g_menu_item_set_attribute(item, PURPLE_MENU_ATTRIBUTE_DYNAMIC_TARGET, "s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1169 "account");
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1170 g_menu_append_item(menu, item);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1171 g_object_unref(item);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
1172
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1173 item = g_menu_item_new(_("Set User Info"), "prpl-gg.set-info");
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1174 g_menu_item_set_attribute(item, PURPLE_MENU_ATTRIBUTE_DYNAMIC_TARGET, "s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1175 "account");
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1176 g_menu_append_item(menu, item);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1177 g_object_unref(item);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1178
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1179 /* Buddy list management. */
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1180 submenu = g_menu_new();
8775
6cb5dddaad4f [gaim-migrate @ 9537]
Andrew Wellington <proton@users.sourceforge.net>
parents: 8749
diff changeset
1181
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1182 item = g_menu_item_new(_("Save to file..."), "prpl-gg.save-buddylist");
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1183 g_menu_item_set_attribute(item, PURPLE_MENU_ATTRIBUTE_DYNAMIC_TARGET, "s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1184 "account");
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1185 g_menu_append_item(menu, item);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1186 g_object_unref(item);
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
1187
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1188 item = g_menu_item_new(_("Load from file..."), "prpl-gg.load-buddylist");
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1189 g_menu_item_set_attribute(item, PURPLE_MENU_ATTRIBUTE_DYNAMIC_TARGET, "s",
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1190 "account");
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1191 g_menu_append_item(menu, item);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1192 g_object_unref(item);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1193
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1194 g_menu_append_submenu(menu, _("Buddy list"), G_MENU_MODEL(submenu));
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1195 g_object_unref(submenu);
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1196
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1197 return menu;
8775
6cb5dddaad4f [gaim-migrate @ 9537]
Andrew Wellington <proton@users.sourceforge.net>
parents: 8749
diff changeset
1198 }
6cb5dddaad4f [gaim-migrate @ 9537]
Andrew Wellington <proton@users.sourceforge.net>
parents: 8749
diff changeset
1199
40634
4d3018b00ad4 Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40618
diff changeset
1200 static const char *
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1201 ggp_list_emblem(G_GNUC_UNUSED PurpleProtocolClient *client,
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1202 PurpleBuddy *buddy)
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1203 {
33340
5f00ed891179 Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33339
diff changeset
1204 ggp_buddy_data *buddy_data = ggp_buddy_get_data(buddy);
33327
4e6e895f161b Gadu-Gadu: correctly handle buddies that blocks us
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33318
diff changeset
1205
4e6e895f161b Gadu-Gadu: correctly handle buddies that blocks us
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33318
diff changeset
1206 if (buddy_data->blocked)
4e6e895f161b Gadu-Gadu: correctly handle buddies that blocks us
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33318
diff changeset
1207 return "not-authorized";
34409
198c6f5c19ca Gadu-Gadu: Add support for GG_STATUS_UNKNOWN status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34408
diff changeset
1208 if (buddy_data->not_a_friend)
198c6f5c19ca Gadu-Gadu: Add support for GG_STATUS_UNKNOWN status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34408
diff changeset
1209 return "unavailable";
33327
4e6e895f161b Gadu-Gadu: correctly handle buddies that blocks us
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33318
diff changeset
1210
4e6e895f161b Gadu-Gadu: correctly handle buddies that blocks us
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33318
diff changeset
1211 return NULL;
4e6e895f161b Gadu-Gadu: correctly handle buddies that blocks us
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33318
diff changeset
1212 }
4e6e895f161b Gadu-Gadu: correctly handle buddies that blocks us
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33318
diff changeset
1213
40634
4d3018b00ad4 Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40618
diff changeset
1214 static gboolean
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1215 ggp_offline_message(G_GNUC_UNUSED PurpleProtocolClient *client,
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1216 G_GNUC_UNUSED PurpleBuddy *buddy)
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1217 {
13298
7a41e676010b [gaim-migrate @ 15663]
Richard Laager <rlaager@pidgin.im>
parents: 13297
diff changeset
1218 return TRUE;
7a41e676010b [gaim-migrate @ 15663]
Richard Laager <rlaager@pidgin.im>
parents: 13297
diff changeset
1219 }
7a41e676010b [gaim-migrate @ 15663]
Richard Laager <rlaager@pidgin.im>
parents: 13297
diff changeset
1220
40634
4d3018b00ad4 Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents: 40618
diff changeset
1221 static GHashTable *
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1222 ggp_get_account_text_table(G_GNUC_UNUSED PurpleProtocolClient *client,
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1223 G_GNUC_UNUSED PurpleAccount *account)
36118
f1c54a78d896 Better check for libgadu GPL compliance, some tidying up
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35976
diff changeset
1224 {
33311
3ba9260b0e74 Gadu-Gadu: add login_label field
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33310
diff changeset
1225 GHashTable *table;
3ba9260b0e74 Gadu-Gadu: add login_label field
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33310
diff changeset
1226 table = g_hash_table_new(g_str_hash, g_str_equal);
3ba9260b0e74 Gadu-Gadu: add login_label field
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33310
diff changeset
1227 g_hash_table_insert(table, "login_label", (gpointer)_("GG number..."));
3ba9260b0e74 Gadu-Gadu: add login_label field
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33310
diff changeset
1228 return table;
36118
f1c54a78d896 Better check for libgadu GPL compliance, some tidying up
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35976
diff changeset
1229 }
f1c54a78d896 Better check for libgadu GPL compliance, some tidying up
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35976
diff changeset
1230
34321
f60fcab02bd4 Reconsidered characters count callback for prpl API: make it per-conversation and distinguish infinite from undefined
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34312
diff changeset
1231 static gssize
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1232 ggp_get_max_message_size(G_GNUC_UNUSED PurpleProtocolClient *client,
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1233 G_GNUC_UNUSED PurpleConversation *conv)
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5136
diff changeset
1234 {
34321
f60fcab02bd4 Reconsidered characters count callback for prpl API: make it per-conversation and distinguish infinite from undefined
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34312
diff changeset
1235 /* TODO: it may depend on protocol version or other factors */
34448
e15d91a77cb3 Request API: PURPLE_REQUEST_WAIT with progress bar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34442
diff changeset
1236 return 1200; /* no more than 1232 */
36118
f1c54a78d896 Better check for libgadu GPL compliance, some tidying up
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35976
diff changeset
1237 }
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5136
diff changeset
1238
36283
e7949b2aa31a Gadu-Gadu: fix log printing for win32
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36274
diff changeset
1239 static void
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1240 ggp_protocol_init(G_GNUC_UNUSED GGPProtocol *self) {
2393
cfef0212506b [gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1241 }
11541
b1468184879c [gaim-migrate @ 13796]
Daniel Atallah <datallah@pidgin.im>
parents: 11538
diff changeset
1242
36578
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1243 static void
39894
7eab91ea30a1 Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
1244 ggp_protocol_class_init(GGPProtocolClass *klass)
36684
ecc74498e088 Refactored other protocols to use instance init
Ankit Vani <a@nevitus.org>
parents: 36678
diff changeset
1245 {
39894
7eab91ea30a1 Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
1246 PurpleProtocolClass *protocol_class = PURPLE_PROTOCOL_CLASS(klass);
7eab91ea30a1 Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
1247
7eab91ea30a1 Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
1248 protocol_class->login = ggp_login;
7eab91ea30a1 Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
1249 protocol_class->close = ggp_close;
7eab91ea30a1 Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
1250 protocol_class->status_types = ggp_status_types;
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
1251
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
1252 protocol_class->get_account_options = ggp_protocol_get_account_options;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
1253 protocol_class->get_buddy_icon_spec = ggp_protocol_get_buddy_icon_spec;
39894
7eab91ea30a1 Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
1254 }
7eab91ea30a1 Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
1255
7eab91ea30a1 Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
1256 static void
7eab91ea30a1 Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
1257 ggp_protocol_class_finalize(G_GNUC_UNUSED GGPProtocolClass *klass)
7eab91ea30a1 Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
1258 {
36684
ecc74498e088 Refactored other protocols to use instance init
Ankit Vani <a@nevitus.org>
parents: 36678
diff changeset
1259 }
ecc74498e088 Refactored other protocols to use instance init
Ankit Vani <a@nevitus.org>
parents: 36678
diff changeset
1260
ecc74498e088 Refactored other protocols to use instance init
Ankit Vani <a@nevitus.org>
parents: 36678
diff changeset
1261 static void
41464
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1262 ggp_protocol_actions_iface_init(PurpleProtocolActionsInterface *iface)
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1263 {
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1264 iface->get_prefix = ggp_protocol_actions_get_prefix;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1265 iface->get_action_group = ggp_protocol_actions_get_action_group;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1266 iface->get_menu = ggp_protocol_actions_get_menu;
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1267 }
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1268
979c8cc3413a Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41348
diff changeset
1269 static void
39757
4a5ba806d8c9 Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39669
diff changeset
1270 ggp_protocol_client_iface_init(PurpleProtocolClientInterface *client_iface)
36578
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1271 {
36729
7f9fac14ed60 Temporarily replaced PurpleProtocolInterface with PurpleProtocolClientIface in protocols
Ankit Vani <a@nevitus.org>
parents: 36714
diff changeset
1272 client_iface->list_emblem = ggp_list_emblem;
7f9fac14ed60 Temporarily replaced PurpleProtocolInterface with PurpleProtocolClientIface in protocols
Ankit Vani <a@nevitus.org>
parents: 36714
diff changeset
1273 client_iface->buddy_free = ggp_buddy_free;
7f9fac14ed60 Temporarily replaced PurpleProtocolInterface with PurpleProtocolClientIface in protocols
Ankit Vani <a@nevitus.org>
parents: 36714
diff changeset
1274 client_iface->normalize = ggp_normalize;
7f9fac14ed60 Temporarily replaced PurpleProtocolInterface with PurpleProtocolClientIface in protocols
Ankit Vani <a@nevitus.org>
parents: 36714
diff changeset
1275 client_iface->offline_message = ggp_offline_message;
7f9fac14ed60 Temporarily replaced PurpleProtocolInterface with PurpleProtocolClientIface in protocols
Ankit Vani <a@nevitus.org>
parents: 36714
diff changeset
1276 client_iface->get_account_text_table = ggp_get_account_text_table;
7f9fac14ed60 Temporarily replaced PurpleProtocolInterface with PurpleProtocolClientIface in protocols
Ankit Vani <a@nevitus.org>
parents: 36714
diff changeset
1277 client_iface->get_max_message_size = ggp_get_max_message_size;
36578
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1278 }
11541
b1468184879c [gaim-migrate @ 13796]
Daniel Atallah <datallah@pidgin.im>
parents: 11538
diff changeset
1279
36730
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1280 static void
39757
4a5ba806d8c9 Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39669
diff changeset
1281 ggp_protocol_server_iface_init(PurpleProtocolServerInterface *server_iface)
36730
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1282 {
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1283 server_iface->get_info = ggp_pubdir_get_info_protocol;
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1284 server_iface->set_status = ggp_status_set_purplestatus;
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1285 server_iface->add_buddy = ggp_add_buddy;
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1286 server_iface->remove_buddy = ggp_remove_buddy;
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1287 server_iface->keepalive = ggp_keepalive;
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1288 server_iface->alias_buddy = ggp_roster_alias_buddy;
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1289 server_iface->group_buddy = ggp_roster_group_buddy;
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1290 server_iface->rename_group = ggp_roster_rename_group;
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1291 server_iface->set_buddy_icon = ggp_avatar_own_set;
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1292 }
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1293
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1294 static void
39757
4a5ba806d8c9 Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39669
diff changeset
1295 ggp_protocol_im_iface_init(PurpleProtocolIMInterface *im_iface)
36730
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1296 {
36744
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1297 im_iface->send = ggp_message_send_im;
36730
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1298 im_iface->send_typing = ggp_send_typing;
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1299 }
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1300
36744
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1301 static void
39757
4a5ba806d8c9 Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39669
diff changeset
1302 ggp_protocol_chat_iface_init(PurpleProtocolChatInterface *chat_iface)
36744
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1303 {
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1304 chat_iface->info = ggp_chat_info;
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1305 chat_iface->info_defaults = ggp_chat_info_defaults;
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1306 chat_iface->join = ggp_chat_join;
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1307 chat_iface->get_name = ggp_chat_get_name;
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1308 chat_iface->invite = ggp_chat_invite;
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1309 chat_iface->leave = ggp_chat_leave;
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1310 chat_iface->send = ggp_chat_send;
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1311
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1312 chat_iface->reject = NULL; /* TODO */
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1313 }
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1314
36730
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1315 static void
39757
4a5ba806d8c9 Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39669
diff changeset
1316 ggp_protocol_roomlist_iface_init(PurpleProtocolRoomlistInterface *roomlist_iface)
36730
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1317 {
36744
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1318 roomlist_iface->get_list = ggp_chat_roomlist_get_list;
36730
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1319 }
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1320
66018273528a Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents: 36729
diff changeset
1321 static void
38837
153c0c3bcced finish fixing up gg for the xfer move
Gary Kramlich <grim@reaperworld.com>
parents: 38358
diff changeset
1322 ggp_protocol_xfer_iface_init(PurpleProtocolXferInterface *xfer_iface)
36744
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1323 {
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1324 xfer_iface->can_receive = ggp_edisc_xfer_can_receive_file;
39005
6a56e1366809 xfer: Rename PurpleProtocolXferInterface.send() to send_file()
Mike Ruprecht <cmaiku@gmail.com>
parents: 38837
diff changeset
1325 xfer_iface->send_file = ggp_edisc_xfer_send_file;
36744
a7c26ee6e466 Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents: 36733 34946
diff changeset
1326 xfer_iface->new_xfer = ggp_edisc_xfer_send_new;
2393
cfef0212506b [gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1327 }
cfef0212506b [gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1328
39894
7eab91ea30a1 Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
1329 G_DEFINE_DYNAMIC_TYPE_EXTENDED(
41911
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1330 GGPProtocol,
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1331 ggp_protocol,
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1332 PURPLE_TYPE_PROTOCOL,
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1333 G_TYPE_FLAG_FINAL,
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1334 G_IMPLEMENT_INTERFACE_DYNAMIC(PURPLE_TYPE_PROTOCOL_ACTIONS,
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1335 ggp_protocol_actions_iface_init)
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1336 G_IMPLEMENT_INTERFACE_DYNAMIC(PURPLE_TYPE_PROTOCOL_CLIENT,
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1337 ggp_protocol_client_iface_init)
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1338 G_IMPLEMENT_INTERFACE_DYNAMIC(PURPLE_TYPE_PROTOCOL_SERVER,
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1339 ggp_protocol_server_iface_init)
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1340 G_IMPLEMENT_INTERFACE_DYNAMIC(PURPLE_TYPE_PROTOCOL_IM,
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1341 ggp_protocol_im_iface_init)
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1342 G_IMPLEMENT_INTERFACE_DYNAMIC(PURPLE_TYPE_PROTOCOL_CHAT,
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1343 ggp_protocol_chat_iface_init)
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1344 G_IMPLEMENT_INTERFACE_DYNAMIC(PURPLE_TYPE_PROTOCOL_ROOMLIST,
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1345 ggp_protocol_roomlist_iface_init)
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1346 G_IMPLEMENT_INTERFACE_DYNAMIC(PURPLE_TYPE_PROTOCOL_XFER,
201aae92d734 Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
1347 ggp_protocol_xfer_iface_init))
36714
ec178f7d66da Refactored protocols to use the new type definition macros
Ankit Vani <a@nevitus.org>
parents: 36701
diff changeset
1348
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
1349 static PurpleProtocol *
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
1350 ggp_protocol_new(void) {
42592
6b65c0e4ba15 Remove unnecessary casts for GObject methods
Gary Kramlich <grim@reaperworld.com>
parents: 42291
diff changeset
1351 return g_object_new(
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
1352 GGP_TYPE_PROTOCOL,
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
1353 "id", "prpl-gg",
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
1354 "name", "Gadu-Gadu",
41348
74b1a5db343b Mark the protocol descriptions for translation and tweak them a bit.
Gary Kramlich <grim@reaperworld.com>
parents: 41314
diff changeset
1355 "description", _("Gadu-Gadu is a Polish instant messaging network."),
41071
f4f7d9f816f9 move the gadu-gadu protocol plugins icons to a resource in the plugin
Gary Kramlich <grim@reaperworld.com>
parents: 40985
diff changeset
1356 "icon-name", "im-gadu-gadu",
f4f7d9f816f9 move the gadu-gadu protocol plugins icons to a resource in the plugin
Gary Kramlich <grim@reaperworld.com>
parents: 40985
diff changeset
1357 "icon-resource-path", "/im/pidgin/libpurple/gg/icons",
42592
6b65c0e4ba15 Remove unnecessary casts for GObject methods
Gary Kramlich <grim@reaperworld.com>
parents: 42291
diff changeset
1358 NULL);
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
1359 }
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
1360
40945
bbeb2e98ea5b Use GPLUGIN_NATIVE_PLUGIN_DECLARE for all libpurple plugins and remove PURPLE_PLUGIN_INIT
Gary Kramlich <grim@reaperworld.com>
parents: 40885
diff changeset
1361 static GPluginPluginInfo *
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1362 gg_query(G_GNUC_UNUSED GError **error)
36578
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1363 {
41472
0b3b172cd50e Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41464
diff changeset
1364 GPluginPluginInfo *info = NULL;
0b3b172cd50e Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41464
diff changeset
1365 gchar *description = NULL;
36642
b8ba53daa445 Updated libpurple to use current GPlugin
Ankit Vani <a@nevitus.org>
parents: 36638
diff changeset
1366 const gchar * const authors[] = {
b8ba53daa445 Updated libpurple to use current GPlugin
Ankit Vani <a@nevitus.org>
parents: 36638
diff changeset
1367 "boler@sourceforge.net",
b8ba53daa445 Updated libpurple to use current GPlugin
Ankit Vani <a@nevitus.org>
parents: 36638
diff changeset
1368 NULL
b8ba53daa445 Updated libpurple to use current GPlugin
Ankit Vani <a@nevitus.org>
parents: 36638
diff changeset
1369 };
b8ba53daa445 Updated libpurple to use current GPlugin
Ankit Vani <a@nevitus.org>
parents: 36638
diff changeset
1370
41472
0b3b172cd50e Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41464
diff changeset
1371 description = g_strdup_printf(N_("Polish popular IM\nlibgadu version %s"),
0b3b172cd50e Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41464
diff changeset
1372 gg_libgadu_version());
0b3b172cd50e Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41464
diff changeset
1373
0b3b172cd50e Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41464
diff changeset
1374 info = purple_plugin_info_new(
36985
9faafe43603e Rename protocol plugin IDs to prpl-*
Ankit Vani <a@nevitus.org>
parents: 36984
diff changeset
1375 "id", "prpl-gg",
36638
5f6dcd83e8c1 Seperate plugin and protocol IDs. Protocol ID example: "msn". Plugin ID example: "protocol-msn".
Ankit Vani <a@nevitus.org>
parents: 36637
diff changeset
1376 "name", "Gadu-Gadu Protocol",
36578
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1377 "version", DISPLAY_VERSION,
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1378 "category", N_("Protocol"),
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1379 "summary", N_("Gadu-Gadu Protocol Plugin"),
41472
0b3b172cd50e Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41464
diff changeset
1380 "description", description,
36642
b8ba53daa445 Updated libpurple to use current GPlugin
Ankit Vani <a@nevitus.org>
parents: 36638
diff changeset
1381 "authors", authors,
36578
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1382 "website", PURPLE_WEBSITE,
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1383 "abi-version", PURPLE_ABI_VERSION,
36653
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
1384 "flags", PURPLE_PLUGIN_INFO_FLAGS_INTERNAL |
4084c34c051d Override gplugin info's "flags" property. Added PURPLE_PLUGIN_INFO_FLAGS_INTERNAL and PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD.
Ankit Vani <a@nevitus.org>
parents: 36642
diff changeset
1385 PURPLE_PLUGIN_INFO_FLAGS_AUTO_LOAD,
36578
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1386 NULL
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1387 );
41472
0b3b172cd50e Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41464
diff changeset
1388
0b3b172cd50e Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41464
diff changeset
1389 g_free(description);
0b3b172cd50e Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41464
diff changeset
1390
0b3b172cd50e Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41464
diff changeset
1391 return info;
36578
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1392 }
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1393
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1394 static gboolean
40945
bbeb2e98ea5b Use GPLUGIN_NATIVE_PLUGIN_DECLARE for all libpurple plugins and remove PURPLE_PLUGIN_INIT
Gary Kramlich <grim@reaperworld.com>
parents: 40885
diff changeset
1395 gg_load(GPluginPlugin *plugin, GError **error)
36578
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1396 {
40800
be00e9c87cb7 Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
1397 PurpleProtocolManager *manager = purple_protocol_manager_get_default();
be00e9c87cb7 Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
1398
39894
7eab91ea30a1 Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39760
diff changeset
1399 ggp_protocol_register_type(G_TYPE_MODULE(plugin));
36714
ec178f7d66da Refactored protocols to use the new type definition macros
Ankit Vani <a@nevitus.org>
parents: 36701
diff changeset
1400
39669
bab07ecb9330 Make PurpleXfer a derivable type and create subclasses in all the protocols that support file transfers
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
1401 ggp_xfer_register(G_TYPE_MODULE(plugin));
bab07ecb9330 Make PurpleXfer a derivable type and create subclasses in all the protocols that support file transfers
Gary Kramlich <grim@reaperworld.com>
parents: 39480
diff changeset
1402
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
1403 my_protocol = ggp_protocol_new();
40800
be00e9c87cb7 Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
1404 if(!purple_protocol_manager_register(manager, my_protocol, error)) {
be00e9c87cb7 Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
1405 g_clear_object(&my_protocol);
be00e9c87cb7 Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
1406
36578
219de60342be Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents: 36555
diff changeset
1407 return FALSE;
40800
be00e9c87cb7 Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
1408 }
36518
78f27f38b9ad Refactored gg to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1409
36984
1768a56dbcf4 Re-revert pref renames
Ankit Vani <a@nevitus.org>
parents: 36982
diff changeset
1410 purple_prefs_add_none("/plugins/prpl/gg");
11541
b1468184879c [gaim-migrate @ 13796]
Daniel Atallah <datallah@pidgin.im>
parents: 11538
diff changeset
1411
33339
02ee2834030c Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33337
diff changeset
1412 purple_debug_info("gg", "Loading Gadu-Gadu protocol plugin with "
02ee2834030c Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33337
diff changeset
1413 "libgadu %s...\n", gg_libgadu_version());
02ee2834030c Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33337
diff changeset
1414
34408
ee5663c0ffe8 Gadu-Gadu: new libgadu debug handler
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34406
diff changeset
1415 ggp_libgaduw_setup();
33339
02ee2834030c Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33337
diff changeset
1416 ggp_resolver_purple_setup();
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40800
diff changeset
1417 ggp_servconn_setup(NULL);
34359
7cf367cc1141 Gadu-Gadu: compile regular expressions only once per plugin load
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34357
diff changeset
1418 ggp_html_setup();
7cf367cc1141 Gadu-Gadu: compile regular expressions only once per plugin load
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34357
diff changeset
1419 ggp_message_setup_global();
7cf367cc1141 Gadu-Gadu: compile regular expressions only once per plugin load
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34357
diff changeset
1420
39328
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
1421 purple_signal_connect(purple_get_core(), "uri-handler", plugin,
41314
0dc72eacd8bf Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41206
diff changeset
1422 G_CALLBACK(gg_uri_handler), NULL);
39328
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
1423
33339
02ee2834030c Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33337
diff changeset
1424 return TRUE;
02ee2834030c Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33337
diff changeset
1425 }
02ee2834030c Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33337
diff changeset
1426
36518
78f27f38b9ad Refactored gg to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1427 static gboolean
42085
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1428 gg_unload(GPluginPlugin *plugin, G_GNUC_UNUSED gboolean shutdown,
a76f1668564c Make the gadu gadu protocol plugin clean for warning level 2
Gary Kramlich <grim@reaperworld.com>
parents: 42004
diff changeset
1429 GError **error)
33339
02ee2834030c Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33337
diff changeset
1430 {
40800
be00e9c87cb7 Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
1431 PurpleProtocolManager *manager = purple_protocol_manager_get_default();
be00e9c87cb7 Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
1432
be00e9c87cb7 Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
1433 if(!purple_protocol_manager_unregister(manager, my_protocol, error)) {
be00e9c87cb7 Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
1434 return FALSE;
be00e9c87cb7 Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
1435 }
be00e9c87cb7 Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
1436
39328
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
1437 purple_signal_disconnect(purple_get_core(), "uri-handler", plugin,
41314
0dc72eacd8bf Replace PURPLE_CALLBACK by G_CALLBACK
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41206
diff changeset
1438 G_CALLBACK(gg_uri_handler));
39328
4a49d2904542 gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents: 39005
diff changeset
1439
33339
02ee2834030c Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33337
diff changeset
1440 ggp_servconn_cleanup();
34359
7cf367cc1141 Gadu-Gadu: compile regular expressions only once per plugin load
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34357
diff changeset
1441 ggp_html_cleanup();
7cf367cc1141 Gadu-Gadu: compile regular expressions only once per plugin load
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34357
diff changeset
1442 ggp_message_cleanup_global();
34408
ee5663c0ffe8 Gadu-Gadu: new libgadu debug handler
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34406
diff changeset
1443 ggp_libgaduw_cleanup();
34359
7cf367cc1141 Gadu-Gadu: compile regular expressions only once per plugin load
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34357
diff changeset
1444
40800
be00e9c87cb7 Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
1445 g_clear_object(&my_protocol);
36518
78f27f38b9ad Refactored gg to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
1446
33339
02ee2834030c Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33337
diff changeset
1447 return TRUE;
2393
cfef0212506b [gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1448 }
cfef0212506b [gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1449
40945
bbeb2e98ea5b Use GPLUGIN_NATIVE_PLUGIN_DECLARE for all libpurple plugins and remove PURPLE_PLUGIN_INIT
Gary Kramlich <grim@reaperworld.com>
parents: 40885
diff changeset
1450 GPLUGIN_NATIVE_PLUGIN_DECLARE(gg)
11360
b77fd5a8959a [gaim-migrate @ 13582]
Bartosz Oler <bartosz@pidgin.im>
parents: 11257
diff changeset
1451
12007
bf1190509b70 [gaim-migrate @ 14300]
Bartosz Oler <bartosz@pidgin.im>
parents: 11920
diff changeset
1452 /* vim: set ts=8 sts=0 sw=8 noet: */

mercurial