Thu, 05 Jan 2023 22:39:17 -0600
Add a connection parameter to the PurpleProtocolActions.get_menu virtual function
This is necessary so that protocols can dynamically add menu items for specific
accounts. This could be something like adding administrator actions after the
protocol has determined that you're an administrator for example.
Testing Done:
Connected an xmpp, ircv3, and demo account and verified all of their actions were displayed properly.
Reviewed at https://reviews.imfreedom.org/r/2172/
| 11394 | 1 | /** |
| 2 | * @file gg.c Gadu-Gadu protocol plugin | |
| 3 | * | |
| 15884 | 4 | * purple |
| 11394 | 5 | * |
| 6 | * Copyright (C) 2005 Bartosz Oler <bartosz@bzimage.us> | |
| 7 | * | |
| 12007 | 8 | * Some parts of the code are adapted or taken from the previous implementation |
| 11394 | 9 | * of this plugin written by Arkadiusz Miskiewicz <misiek@pld.org.pl> |
|
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 | 11 | * |
| 12 | * Thanks to Google's Summer of Code Program. | |
| 13 | * | |
| 14 | * This program is free software; you can redistribute it and/or modify | |
| 15 | * it under the terms of the GNU General Public License as published by | |
| 16 | * the Free Software Foundation; either version 2 of the License, or | |
| 17 | * (at your option) any later version. | |
| 18 | * | |
| 19 | * This program is distributed in the hope that it will be useful, | |
| 20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 22 | * GNU General Public License for more details. | |
| 23 | * | |
| 24 | * You should have received a copy of the GNU General Public License | |
| 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 | 27 | */ |
| 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 | 35 | |
| 11414 | 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 | 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 | 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 | 60 | /* ---------------------------------------------------------------------- */ |
| 9950 | 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 |
|
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
74 | ggp_buddy_free(PurpleProtocolClient *client, PurpleBuddy *buddy) |
| 13515 | 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 | 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 | 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 | 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 | 84 | } |
| 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 | 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 | 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 | 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 | 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 | 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 | 111 | } |
| 112 | ||
| 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 | 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 | 117 | { |
| 15884 | 118 | PurpleAccount *account = purple_connection_get_account(gc); |
| 11360 | 119 | |
| 120 | char *buddylist = ggp_buddylist_dump(account); | |
| 121 | ||
| 15884 | 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 | 124 | |
| 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 | 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 | 146 | } |
| 147 | ||
| 148 | g_free(buddylist); | |
| 149 | } | |
|
2806
1576edefc75a
[gaim-migrate @ 2819]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents:
2792
diff
changeset
|
150 | |
| 15884 | 151 | static void ggp_callback_buddylist_load_ok(PurpleConnection *gc, gchar *file) |
| 11360 | 152 | { |
| 15884 | 153 | PurpleAccount *account = purple_connection_get_account(gc); |
| 12007 | 154 | GError *error = NULL; |
| 155 | char *buddylist = NULL; | |
| 156 | gsize length; | |
| 11360 | 157 | |
| 15884 | 158 | purple_debug_info("gg", "file_name = %s\n", file); |
| 11360 | 159 | |
| 12007 | 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 | 164 | |
| 15884 | 165 | purple_debug_error("gg", |
| 12007 | 166 | "Couldn't load buddylist. file = %s; error = %s\n", |
| 167 | file, error->message); | |
| 168 | ||
| 169 | g_error_free(error); | |
| 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 | 173 | |
| 174 | ggp_buddylist_load(gc, buddylist); | |
| 175 | g_free(buddylist); | |
| 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 | 181 | /* }}} */ |
| 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 | 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 | 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); |
| 11414 | 206 | } |
| 207 | ||
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
208 | static void |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
209 | 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
|
210 | GVariant *parameter, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
211 | G_GNUC_UNUSED gpointer data) |
| 11414 | 212 | { |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
213 | const gchar *account_id = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
214 | PurpleAccountManager *manager = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
215 | PurpleAccount *account = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
216 | PurpleConnection *connection = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
217 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
218 | 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
|
219 | 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
|
220 | 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
|
221 | } |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
222 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
223 | 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
|
224 | 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
|
225 | 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
|
226 | 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
|
227 | |
|
23379
536450c4f7f9
Mark a string as translatable in prpl-gg. References #5693.
Will Thompson <resiak@pidgin.im>
parents:
23325
diff
changeset
|
228 | 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
|
229 | 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
|
230 | purple_request_cpar_from_connection(connection), connection); |
| 11394 | 231 | } |
| 232 | ||
| 11414 | 233 | /* ----- BLOCK BUDDIES -------------------------------------------------- */ |
| 234 | ||
|
41958
76d1633b8ec0
Remove the privacy api
Gary Kramlich <grim@reaperworld.com>
parents:
41911
diff
changeset
|
235 | #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
|
236 | 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
|
237 | const char *who) |
| 11410 | 238 | { |
|
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
|
239 | 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
|
240 | uin_t uin = ggp_str_to_uin(who); |
|
35354
aa1f0e988567
Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35305
diff
changeset
|
241 | |
|
31938
13c568701e8a
Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
31892
diff
changeset
|
242 | 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
|
243 | |
|
31938
13c568701e8a
Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
31892
diff
changeset
|
244 | 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
|
245 | 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
|
246 | } |
|
13c568701e8a
Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
31892
diff
changeset
|
247 | |
|
40521
c4269b37a13a
Make PurpleProtocolPrivacy a proper GInterface and move it to it's own file
Gary Kramlich <grim@reaperworld.com>
parents:
40507
diff
changeset
|
248 | 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
|
249 | 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
|
250 | { |
|
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
|
251 | 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
|
252 | uin_t uin = ggp_str_to_uin(who); |
|
35354
aa1f0e988567
Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35305
diff
changeset
|
253 | |
|
31938
13c568701e8a
Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
31892
diff
changeset
|
254 | 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
|
255 | |
|
31938
13c568701e8a
Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
31892
diff
changeset
|
256 | 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
|
257 | gg_add_notify_ex(info->session, uin, GG_USER_NORMAL); |
| 11410 | 258 | } |
|
41958
76d1633b8ec0
Remove the privacy api
Gary Kramlich <grim@reaperworld.com>
parents:
41911
diff
changeset
|
259 | #endif |
| 11410 | 260 | |
| 11360 | 261 | /* ---------------------------------------------------------------------- */ |
| 11414 | 262 | /* ----- INTERNAL CALLBACKS --------------------------------------------- */ |
| 263 | /* ---------------------------------------------------------------------- */ | |
| 264 | ||
|
31630
47b2ee63a797
Gadu-Gadu: Support receiving typing indications. Fixes #13362.
Jan Zachorowski <quantifier666@gmail.com>
parents:
31628
diff
changeset
|
265 | 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
|
266 | gchar *from; |
|
ee01a0566a86
Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31739
diff
changeset
|
267 | |
|
ee01a0566a86
Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31739
diff
changeset
|
268 | from = g_strdup_printf("%u", uin); |
|
ee01a0566a86
Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31739
diff
changeset
|
269 | if (length) |
|
35499
c4c5e0a670b1
Fix namespaces issues in libpurple.
Ankit Vani <a@nevitus.org>
parents:
35360
diff
changeset
|
270 | 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
|
271 | else |
| 35501 | 272 | 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
|
273 | g_free(from); |
|
31630
47b2ee63a797
Gadu-Gadu: Support receiving typing indications. Fixes #13362.
Jan Zachorowski <quantifier666@gmail.com>
parents:
31628
diff
changeset
|
274 | } |
|
47b2ee63a797
Gadu-Gadu: Support receiving typing indications. Fixes #13362.
Jan Zachorowski <quantifier666@gmail.com>
parents:
31628
diff
changeset
|
275 | |
|
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
|
276 | /** |
|
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
|
277 | * 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
|
278 | * |
|
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
|
279 | * @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
|
280 | * @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
|
281 | * |
|
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 | * @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
|
283 | * @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
|
284 | */ |
|
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 | static void ggp_xml_event_handler(PurpleConnection *gc, char *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
|
286 | { |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34904
diff
changeset
|
287 | PurpleXmlNode *xml = NULL; |
| 34946 | 288 | 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
|
289 | |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34904
diff
changeset
|
290 | xml = purple_xmlnode_from_str(data, -1); |
|
35360
29d788c72350
Style: fix gg braces (part 1)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35358
diff
changeset
|
291 | if (xml == NULL) { |
|
34350
89441dbabc83
Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34348
diff
changeset
|
292 | 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
|
293 | "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
|
294 | goto out; |
|
34350
89441dbabc83
Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34348
diff
changeset
|
295 | } |
|
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
|
296 | |
| 34946 | 297 | 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
|
298 | while (xmlnode_next_event != NULL) { |
| 34946 | 299 | PurpleXmlNode *xmlnode_current_event = xmlnode_next_event; |
|
35354
aa1f0e988567
Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35305
diff
changeset
|
300 | |
| 34946 | 301 | 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
|
302 | 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
|
303 | int event_type = 0; |
|
35354
aa1f0e988567
Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35305
diff
changeset
|
304 | |
| 34946 | 305 | 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
|
306 | 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
|
307 | 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
|
308 | |
| 34946 | 309 | 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
|
310 | |
| 34946 | 311 | 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
|
312 | 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
|
313 | continue; |
| 34946 | 314 | 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
|
315 | 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
|
316 | 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
|
317 | g_free(event_type_raw); |
|
35354
aa1f0e988567
Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35305
diff
changeset
|
318 | |
| 34946 | 319 | 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
|
320 | if (xmlnode_sender != NULL) { |
| 34946 | 321 | 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
|
322 | 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
|
323 | 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
|
324 | 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
|
325 | } |
|
35354
aa1f0e988567
Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35305
diff
changeset
|
326 | |
|
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 | 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
|
328 | { |
|
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 | 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
|
330 | 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
|
331 | "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
|
332 | 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
|
333 | 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
|
334 | 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
|
335 | 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
|
336 | "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
|
337 | 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
|
338 | } |
|
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 | } |
|
35354
aa1f0e988567
Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35305
diff
changeset
|
340 | |
|
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
|
341 | 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
|
342 | if (xml) |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34904
diff
changeset
|
343 | 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
|
344 | } |
|
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
|
345 | |
| 15884 | 346 | static void ggp_callback_recv(gpointer _gc, gint fd, PurpleInputCondition cond) |
| 11414 | 347 | { |
| 15884 | 348 | 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
|
349 | GGPInfo *info = purple_connection_get_protocol_data(gc); |
| 11414 | 350 | struct gg_event *ev; |
| 351 | ||
| 352 | if (!(ev = gg_watch_fd(info->session))) { | |
| 15884 | 353 | purple_debug_error("gg", |
| 12007 | 354 | "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
|
355 | purple_connection_error (gc, |
| 21279 | 356 | 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
|
357 | _("Unable to read from socket")); |
| 11414 | 358 | return; |
| 359 | } | |
|
31661
2a8aceaee628
Don't update last_received when receiving data on gg. Fixes #13699.
Jan Zachorowski <quantifier666@gmail.com>
parents:
31649
diff
changeset
|
360 | |
|
34473
fb04c75906e0
Gadu-Gadu: update code for the new libpurple and libgadu APIs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34454
diff
changeset
|
361 | 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
|
362 | 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
|
363 | 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
|
364 | } |
|
fb04c75906e0
Gadu-Gadu: update code for the new libpurple and libgadu APIs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34454
diff
changeset
|
365 | |
|
41762
5c21747ff7dc
Replace purple_input_remove by g_source_remove
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41709
diff
changeset
|
366 | 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
|
367 | 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
|
368 | 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
|
369 | ggp_callback_recv, gc); |
|
f0210174619a
Gadu-Gadu: (almost) correctly refresh libgadu's file descriptor
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34303
diff
changeset
|
370 | |
| 11414 | 371 | switch (ev->type) { |
| 372 | case GG_EVENT_NONE: | |
| 373 | /* Nothing happened. */ | |
| 374 | break; | |
|
34361
ddcc82637afa
Gadu-Gadu: incoming images works again
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34359
diff
changeset
|
375 | case GG_EVENT_CONN_FAILED: |
|
ddcc82637afa
Gadu-Gadu: incoming images works again
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34359
diff
changeset
|
376 | purple_connection_error (gc, |
|
ddcc82637afa
Gadu-Gadu: incoming images works again
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34359
diff
changeset
|
377 | PURPLE_CONNECTION_ERROR_NETWORK_ERROR, |
|
ddcc82637afa
Gadu-Gadu: incoming images works again
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34359
diff
changeset
|
378 | _("Server disconnected")); |
| 11414 | 379 | break; |
| 380 | case GG_EVENT_MSG: | |
|
34356
5d59fd4d5b2d
Gadu-Gadu: reimplementation of receiving messages
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34353
diff
changeset
|
381 | ggp_message_got(gc, &ev->event.msg); |
| 11414 | 382 | break; |
| 383 | case GG_EVENT_ACK: | |
|
34406
46f06ef265e3
Gadu-Gadu: update for the newest devel libgadu
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34394
diff
changeset
|
384 | case GG_EVENT_ACK110: |
| 11414 | 385 | break; |
|
24745
511df62cb366
Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents:
24683
diff
changeset
|
386 | 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
|
387 | 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
|
388 | break; |
|
511df62cb366
Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents:
24683
diff
changeset
|
389 | 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
|
390 | ggp_image_send(gc, &ev->event.image_request); |
| 11414 | 391 | break; |
| 392 | case GG_EVENT_NOTIFY60: | |
| 393 | case GG_EVENT_STATUS60: | |
|
33340
5f00ed891179
Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33339
diff
changeset
|
394 | ggp_status_got_others(gc, ev); |
| 12007 | 395 | break; |
|
31630
47b2ee63a797
Gadu-Gadu: Support receiving typing indications. Fixes #13362.
Jan Zachorowski <quantifier666@gmail.com>
parents:
31628
diff
changeset
|
396 | case GG_EVENT_TYPING_NOTIFICATION: |
|
47b2ee63a797
Gadu-Gadu: Support receiving typing indications. Fixes #13362.
Jan Zachorowski <quantifier666@gmail.com>
parents:
31628
diff
changeset
|
397 | 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
|
398 | ev->event.typing_notification.length); |
|
47b2ee63a797
Gadu-Gadu: Support receiving typing indications. Fixes #13362.
Jan Zachorowski <quantifier666@gmail.com>
parents:
31628
diff
changeset
|
399 | 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
|
400 | 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
|
401 | 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
|
402 | 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
|
403 | break; |
|
33296
33a9adb52028
Enable receiving of user_data packets
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33295
diff
changeset
|
404 | 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
|
405 | 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
|
406 | break; |
|
34383
4b1a106bbf1d
Preparing a file transfer
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34380
diff
changeset
|
407 | case GG_EVENT_JSON_EVENT: |
|
4b1a106bbf1d
Preparing a file transfer
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34380
diff
changeset
|
408 | ggp_events_json(gc, &ev->event.json_event); |
|
4b1a106bbf1d
Preparing a file transfer
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34380
diff
changeset
|
409 | break; |
|
33314
57013b9e1a8e
Gadu-Gadu: roster - downloading
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33313
diff
changeset
|
410 | case GG_EVENT_USERLIST100_VERSION: |
|
33315
42bbe5b85df8
Gadu-Gadu: roster - uploading/synchronization - part1
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33314
diff
changeset
|
411 | ggp_roster_version(gc, &ev->event.userlist100_version); |
|
33314
57013b9e1a8e
Gadu-Gadu: roster - downloading
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33313
diff
changeset
|
412 | break; |
|
57013b9e1a8e
Gadu-Gadu: roster - downloading
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33313
diff
changeset
|
413 | case GG_EVENT_USERLIST100_REPLY: |
|
57013b9e1a8e
Gadu-Gadu: roster - downloading
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33313
diff
changeset
|
414 | ggp_roster_reply(gc, &ev->event.userlist100_reply); |
|
57013b9e1a8e
Gadu-Gadu: roster - downloading
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33313
diff
changeset
|
415 | break; |
|
33334
734fc6da6179
Gadu-Gadu: initial multilogon support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33333
diff
changeset
|
416 | case GG_EVENT_MULTILOGON_MSG: |
|
34356
5d59fd4d5b2d
Gadu-Gadu: reimplementation of receiving messages
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34353
diff
changeset
|
417 | 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
|
418 | break; |
|
734fc6da6179
Gadu-Gadu: initial multilogon support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33333
diff
changeset
|
419 | case GG_EVENT_MULTILOGON_INFO: |
|
734fc6da6179
Gadu-Gadu: initial multilogon support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33333
diff
changeset
|
420 | ggp_multilogon_info(gc, &ev->event.multilogon_info); |
|
734fc6da6179
Gadu-Gadu: initial multilogon support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33333
diff
changeset
|
421 | break; |
|
34348
15361867e114
Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33363
diff
changeset
|
422 | case GG_EVENT_IMTOKEN: |
|
34373
169db6aa5e08
Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34361
diff
changeset
|
423 | 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
|
424 | g_free(info->imtoken); |
|
169db6aa5e08
Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34361
diff
changeset
|
425 | 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
|
426 | break; |
|
15361867e114
Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33363
diff
changeset
|
427 | 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
|
428 | 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
|
429 | (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
|
430 | break; |
|
34350
89441dbabc83
Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34348
diff
changeset
|
431 | case GG_EVENT_CHAT_INFO: |
|
34353
300c246402ac
Gadu-Gadu: delayed chat joining
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34352
diff
changeset
|
432 | 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
|
433 | case GG_EVENT_CHAT_INFO_UPDATE: |
|
89441dbabc83
Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34348
diff
changeset
|
434 | case GG_EVENT_CHAT_CREATED: |
|
89441dbabc83
Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34348
diff
changeset
|
435 | case GG_EVENT_CHAT_INVITE_ACK: |
|
89441dbabc83
Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34348
diff
changeset
|
436 | ggp_chat_got_event(gc, ev); |
|
89441dbabc83
Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34348
diff
changeset
|
437 | break; |
|
35145
01ef7274b440
Gadu-Gadu: handle apropriate event when getting remotely disconnected from other session
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35144
diff
changeset
|
438 | 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
|
439 | 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
|
440 | break; |
| 12007 | 441 | default: |
|
34348
15361867e114
Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33363
diff
changeset
|
442 | purple_debug_warning("gg", |
| 12007 | 443 | "unsupported event type=%d\n", ev->type); |
| 444 | break; | |
| 445 | } | |
| 11414 | 446 | |
| 12007 | 447 | gg_free_event(ev); |
| 448 | } | |
| 11414 | 449 | |
|
34433
fa2313e5f320
Gadu-Gadu: use our own proxy/tls connecting code instead of libgadu's
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34429
diff
changeset
|
450 | void ggp_async_login_handler(gpointer _gc, gint fd, PurpleInputCondition cond) |
| 12007 | 451 | { |
| 15884 | 452 | PurpleConnection *gc = _gc; |
|
15419
c8f83c72739d
[gaim-migrate @ 18150]
Evan Schoenberg <evands@pidgin.im>
parents:
15294
diff
changeset
|
453 | GGPInfo *info; |
| 12007 | 454 | struct gg_event *ev; |
| 11414 | 455 | |
|
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
|
456 | PURPLE_ASSERT_CONNECTION_IS_VALID(gc); |
|
15419
c8f83c72739d
[gaim-migrate @ 18150]
Evan Schoenberg <evands@pidgin.im>
parents:
15294
diff
changeset
|
457 | |
|
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
|
458 | info = purple_connection_get_protocol_data(gc); |
|
15419
c8f83c72739d
[gaim-migrate @ 18150]
Evan Schoenberg <evands@pidgin.im>
parents:
15294
diff
changeset
|
459 | |
| 15884 | 460 | purple_debug_info("gg", "login_handler: session: check = %d; state = %d;\n", |
| 12007 | 461 | info->session->check, info->session->state); |
| 11414 | 462 | |
| 12007 | 463 | switch (info->session->state) { |
|
34442
4534c27446e8
Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34437
diff
changeset
|
464 | case GG_STATE_ERROR: |
|
4534c27446e8
Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34437
diff
changeset
|
465 | 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
|
466 | break; |
| 12007 | 467 | case GG_STATE_RESOLVING: |
| 15884 | 468 | purple_debug_info("gg", "GG_STATE_RESOLVING\n"); |
| 12007 | 469 | 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
|
470 | 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
|
471 | 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
|
472 | break; |
| 12007 | 473 | case GG_STATE_CONNECTING_HUB: |
| 15884 | 474 | purple_debug_info("gg", "GG_STATE_CONNECTING_HUB\n"); |
| 12007 | 475 | break; |
| 476 | case GG_STATE_READING_DATA: | |
| 15884 | 477 | purple_debug_info("gg", "GG_STATE_READING_DATA\n"); |
| 12007 | 478 | break; |
| 479 | case GG_STATE_CONNECTING_GG: | |
| 15884 | 480 | purple_debug_info("gg", "GG_STATE_CONNECTING_GG\n"); |
| 12007 | 481 | break; |
| 482 | case GG_STATE_READING_KEY: | |
| 15884 | 483 | purple_debug_info("gg", "GG_STATE_READING_KEY\n"); |
| 12007 | 484 | break; |
| 485 | case GG_STATE_READING_REPLY: | |
| 15884 | 486 | purple_debug_info("gg", "GG_STATE_READING_REPLY\n"); |
| 11414 | 487 | 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
|
488 | 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
|
489 | 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
|
490 | break; |
|
34348
15361867e114
Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33363
diff
changeset
|
491 | case GG_STATE_RESOLVING_HUB: |
|
15361867e114
Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33363
diff
changeset
|
492 | 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
|
493 | break; |
|
15361867e114
Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33363
diff
changeset
|
494 | case GG_STATE_READING_HUB: |
|
15361867e114
Gadu-Gadu: add some prints for gg11
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33363
diff
changeset
|
495 | 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
|
496 | break; |
| 11414 | 497 | default: |
| 15884 | 498 | 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
|
499 | info->session->state); |
| 12007 | 500 | break; |
| 501 | } | |
| 502 | ||
| 503 | if (!(ev = gg_watch_fd(info->session))) { | |
| 15884 | 504 | 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
|
505 | purple_connection_error (gc, |
| 21279 | 506 | 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
|
507 | _("Unable to read from socket")); |
| 12007 | 508 | return; |
| 509 | } | |
| 15884 | 510 | purple_debug_info("gg", "login_handler: session->fd = %d\n", info->session->fd); |
| 511 | purple_debug_info("gg", "login_handler: session: check = %d; state = %d;\n", | |
| 12007 | 512 | info->session->check, info->session->state); |
| 513 | ||
|
41762
5c21747ff7dc
Replace purple_input_remove by g_source_remove
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41709
diff
changeset
|
514 | 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
|
515 | info->inpa = 0; |
| 12007 | 516 | |
| 517 | /** 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
|
518 | 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
|
519 | 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
|
520 | (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
|
521 | 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
|
522 | ggp_async_login_handler, gc); |
| 12007 | 523 | |
| 524 | switch (ev->type) { | |
| 525 | case GG_EVENT_NONE: | |
| 526 | /* Nothing happened. */ | |
| 15884 | 527 | purple_debug_info("gg", "GG_EVENT_NONE\n"); |
| 12007 | 528 | break; |
| 529 | case GG_EVENT_CONN_SUCCESS: | |
| 12964 | 530 | { |
|
33339
02ee2834030c
Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33337
diff
changeset
|
531 | purple_debug_info("gg", "GG_EVENT_CONN_SUCCESS:" |
|
02ee2834030c
Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33337
diff
changeset
|
532 | " 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
|
533 | 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
|
534 | 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
|
535 | connect_host); |
|
41762
5c21747ff7dc
Replace purple_input_remove by g_source_remove
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41709
diff
changeset
|
536 | 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
|
537 | 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
|
538 | PURPLE_INPUT_READ, |
|
34474
f0210174619a
Gadu-Gadu: (almost) correctly refresh libgadu's file descriptor
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34303
diff
changeset
|
539 | ggp_callback_recv, gc); |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30163
diff
changeset
|
540 | |
|
41812
c3cd920261b6
Fix the namespace of the PurpleConnectionState enum constants
Gary Kramlich <grim@reaperworld.com>
parents:
41799
diff
changeset
|
541 | purple_connection_set_state(gc, PURPLE_CONNECTION_STATE_CONNECTED); |
|
35354
aa1f0e988567
Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35305
diff
changeset
|
542 | |
|
27642
6ae79601ad84
Patch from kkszysiu to make the GG prpl support
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
27626
diff
changeset
|
543 | ggp_buddylist_send(gc); |
|
33318
636bfc28f2cf
Gadu-Gadu: roster - finally working
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33316
diff
changeset
|
544 | ggp_roster_request_update(gc); |
| 12964 | 545 | } |
| 12007 | 546 | break; |
| 547 | case GG_EVENT_CONN_FAILED: | |
|
35360
29d788c72350
Style: fix gg braces (part 1)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35358
diff
changeset
|
548 | if (info->inpa > 0) { |
|
41762
5c21747ff7dc
Replace purple_input_remove by g_source_remove
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41709
diff
changeset
|
549 | g_source_remove(info->inpa); |
|
33363
52cc04429e2c
Gadu-Gadu: small bugfixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33347
diff
changeset
|
550 | info->inpa = 0; |
|
52cc04429e2c
Gadu-Gadu: small bugfixes
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33347
diff
changeset
|
551 | } |
|
32646
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
552 | 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
|
553 | ev->event.failure); |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
554 | switch (ev->event.failure) { |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
555 | case GG_FAILURE_RESOLVING: |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
556 | purple_connection_error(gc, |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
557 | 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
|
558 | _("Unable to resolve " |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
559 | "hostname")); |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
560 | break; |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
561 | case GG_FAILURE_PASSWORD: |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
562 | purple_connection_error(gc, |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
563 | 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
|
564 | _("Incorrect password")); |
|
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_TLS: |
|
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_ENCRYPTION_ERROR, |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
569 | _("SSL Connection Failed")); |
|
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_INTRUDER: |
|
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_AUTHENTICATION_FAILED, |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
574 | _("Your account has been " |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
575 | "disabled because too many " |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
576 | "incorrect passwords were " |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
577 | "entered")); |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
578 | break; |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
579 | case GG_FAILURE_UNAVAILABLE: |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
580 | purple_connection_error(gc, |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
581 | 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
|
582 | _("Service temporarily " |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
583 | "unavailable")); |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
584 | break; |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
585 | case GG_FAILURE_PROXY: |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
586 | purple_connection_error(gc, |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
587 | 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
|
588 | _("Error connecting to proxy " |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
589 | "server")); |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
590 | break; |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
591 | case GG_FAILURE_HUB: |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
592 | purple_connection_error(gc, |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
593 | 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
|
594 | _("Error connecting to master " |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
595 | "server")); |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
596 | break; |
|
34442
4534c27446e8
Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34437
diff
changeset
|
597 | case GG_FAILURE_INTERNAL: |
|
4534c27446e8
Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34437
diff
changeset
|
598 | purple_connection_error(gc, |
|
4534c27446e8
Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34437
diff
changeset
|
599 | PURPLE_CONNECTION_ERROR_OTHER_ERROR, |
|
4534c27446e8
Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34437
diff
changeset
|
600 | _("Internal error")); |
|
4534c27446e8
Gadu-Gadu: better fit for new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34437
diff
changeset
|
601 | break; |
|
32646
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
602 | default: |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
603 | purple_connection_error(gc, |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
604 | 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
|
605 | _("Connection failed")); |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
606 | } |
| 12007 | 607 | break; |
|
31874
6ddbbcd38154
No more warnings when receiving Gadu-Gadu system messages - fixes #13914
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
31795
diff
changeset
|
608 | case GG_EVENT_MSG: |
|
35360
29d788c72350
Style: fix gg braces (part 1)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35358
diff
changeset
|
609 | 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
|
610 | 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
|
611 | break; |
|
a8e9b3781df1
Gadu-Gadu: check for NULL pointer before logging system messages.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32646
diff
changeset
|
612 | |
|
31874
6ddbbcd38154
No more warnings when receiving Gadu-Gadu system messages - fixes #13914
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
31795
diff
changeset
|
613 | /* 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
|
614 | 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
|
615 | ev->event.msg.message); |
|
35360
29d788c72350
Style: fix gg braces (part 1)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35358
diff
changeset
|
616 | } else { |
|
31874
6ddbbcd38154
No more warnings when receiving Gadu-Gadu system messages - fixes #13914
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
31795
diff
changeset
|
617 | 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
|
618 | "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
|
619 | 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
|
620 | ev->event.msg.message); |
|
35360
29d788c72350
Style: fix gg braces (part 1)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35358
diff
changeset
|
621 | } |
|
31874
6ddbbcd38154
No more warnings when receiving Gadu-Gadu system messages - fixes #13914
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
31795
diff
changeset
|
622 | break; |
| 12007 | 623 | default: |
| 15884 | 624 | purple_debug_error("gg", "strange event: %d\n", ev->type); |
| 11414 | 625 | break; |
| 626 | } | |
| 627 | ||
| 628 | gg_free_event(ev); | |
| 629 | } | |
| 630 | ||
|
41641
ff6dff2228e1
Add a custom find to account manager
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41472
diff
changeset
|
631 | static gboolean |
|
39833
cd90938cd6f7
Silence various discarded const warnings.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39760
diff
changeset
|
632 | gg_uri_handler_find_account(PurpleAccount *account, |
|
cd90938cd6f7
Silence various discarded const warnings.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39760
diff
changeset
|
633 | G_GNUC_UNUSED gconstpointer data) |
|
39328
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
634 | { |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
635 | const gchar *protocol_id; |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
636 | |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
637 | protocol_id = purple_account_get_protocol_id(account); |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
638 | |
|
41641
ff6dff2228e1
Add a custom find to account manager
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41472
diff
changeset
|
639 | 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
|
640 | purple_account_is_connected(account)); |
|
39328
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 | |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
643 | static gboolean |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
644 | gg_uri_handler(const gchar *scheme, const gchar *screenname, |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
645 | GHashTable *params) |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
646 | { |
|
41206
afcae29ce67e
Port libpurple plugins and protocols to the AccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41159
diff
changeset
|
647 | PurpleAccountManager *manager = NULL; |
|
41641
ff6dff2228e1
Add a custom find to account manager
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41472
diff
changeset
|
648 | PurpleAccount *account; |
|
40885
87f6241da196
Update purple_conversations_find_* to return PurpleConversations instead of subclasses
Gary Kramlich <grim@reaperworld.com>
parents:
40865
diff
changeset
|
649 | PurpleConversation *im; |
|
39328
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
650 | |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
651 | g_return_val_if_fail(screenname != NULL, FALSE); |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
652 | |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
653 | if (!purple_strequal(scheme, "gg")) { |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
654 | return FALSE; |
|
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 | |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
657 | if (screenname[0] == '\0') { |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
658 | purple_debug_warning("gg", "Invalid empty screenname in URI"); |
|
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 | /* 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
|
663 | 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
|
664 | 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
|
665 | (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
|
666 | NULL); |
|
39328
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
667 | |
|
41641
ff6dff2228e1
Add a custom find to account manager
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41472
diff
changeset
|
668 | if (account == NULL) { |
|
39328
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
669 | return FALSE; |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
670 | } |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
671 | |
|
41641
ff6dff2228e1
Add a custom find to account manager
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41472
diff
changeset
|
672 | 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
|
673 | purple_conversation_present(im); |
|
39328
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
674 | |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
675 | return TRUE; |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
676 | } |
|
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
677 | |
| 11414 | 678 | /* ---------------------------------------------------------------------- */ |
|
36544
1bf8b6ef5aea
Renamed PurplePluginProtocolInfo to PurpleProtocol
Ankit Vani <a@nevitus.org>
parents:
36536
diff
changeset
|
679 | /* ----- PurpleProtocol ----------------------------------------- */ |
| 11360 | 680 | /* ---------------------------------------------------------------------- */ |
| 681 | ||
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
682 | static PurpleBuddyIconSpec * |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
683 | ggp_protocol_get_buddy_icon_spec(PurpleProtocol *protocol) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
684 | return purple_buddy_icon_spec_new("png", |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
685 | 1, 1, 200, 200, 0, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
686 | PURPLE_ICON_SCALE_DISPLAY | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
687 | PURPLE_ICON_SCALE_SEND); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
688 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
689 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
690 | static GList * |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
691 | ggp_protocol_get_account_options(PurpleProtocol *protocol) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
692 | PurpleAccountOption *option = NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
693 | PurpleKeyValuePair *kvp = NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
694 | GList *encryption_options = NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
695 | GList *protocol_version = NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
696 | GList *opts = NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
697 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
698 | option = purple_account_option_string_new(_("GG server"), "gg_server", ""); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
699 | opts = g_list_append(opts, option); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
700 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
701 | /* setup encryption options */ |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
702 | kvp = purple_key_value_pair_new(_("Use encryption if available"), |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
703 | "opportunistic_tls"); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
704 | encryption_options = g_list_append(encryption_options, kvp); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
705 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
706 | kvp = purple_key_value_pair_new(_("Require encryption"), "require_tls"); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
707 | encryption_options = g_list_append(encryption_options, kvp); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
708 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
709 | kvp = purple_key_value_pair_new(_("Don't use encryption"), "none"); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
710 | encryption_options = g_list_append(encryption_options, kvp); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
711 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
712 | option = purple_account_option_list_new(_("Connection security"), |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
713 | "encryption", encryption_options); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
714 | opts = g_list_append(opts, option); |
|
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 | /* setup the protocol version */ |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
717 | kvp = purple_key_value_pair_new(_("Default"), "default"); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
718 | protocol_version = g_list_append(protocol_version, kvp); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
719 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
720 | kvp = purple_key_value_pair_new("GG 10", "gg10"); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
721 | protocol_version = g_list_append(protocol_version, kvp); |
|
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 | kvp = purple_key_value_pair_new("GG 11", "gg11"); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
724 | protocol_version = g_list_append(protocol_version, kvp); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
725 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
726 | option = purple_account_option_list_new(_("Protocol version"), |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
727 | "protocol_version", |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
728 | protocol_version); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
729 | opts = g_list_append(opts, option); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
730 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
731 | option = purple_account_option_bool_new(_("Show links from strangers"), |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
732 | "show_links_from_strangers", 1); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
733 | opts = g_list_append(opts, option); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
734 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
735 | return opts; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
736 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
737 | |
|
40634
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
738 | static const char * |
|
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
739 | ggp_normalize(PurpleProtocolClient *client, PurpleAccount *account, |
|
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
740 | const char *who) |
|
2846
4f0435806f95
[gaim-migrate @ 2859]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents:
2835
diff
changeset
|
741 | { |
|
32652
9cf860cf65f2
Gadu-Gadu: function to normalize gg usernames
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32651
diff
changeset
|
742 | static char normalized[21]; /* maximum unsigned long long int size */ |
|
2846
4f0435806f95
[gaim-migrate @ 2859]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents:
2835
diff
changeset
|
743 | |
|
32652
9cf860cf65f2
Gadu-Gadu: function to normalize gg usernames
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32651
diff
changeset
|
744 | 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
|
745 | if(uin <= 0) { |
|
31892
3368a7044a4a
Better status message handling in Gadu-Gadu. Fixes #14314
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
31879
diff
changeset
|
746 | 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
|
747 | } |
|
31892
3368a7044a4a
Better status message handling in Gadu-Gadu. Fixes #14314
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
31879
diff
changeset
|
748 | |
|
32652
9cf860cf65f2
Gadu-Gadu: function to normalize gg usernames
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32651
diff
changeset
|
749 | 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
|
750 | |
|
32652
9cf860cf65f2
Gadu-Gadu: function to normalize gg usernames
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32651
diff
changeset
|
751 | return normalized; |
|
2846
4f0435806f95
[gaim-migrate @ 2859]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents:
2835
diff
changeset
|
752 | } |
|
4f0435806f95
[gaim-migrate @ 2859]
Arkadiusz Miskiewicz <arekm@maven.pl>
parents:
2835
diff
changeset
|
753 | |
|
34409
198c6f5c19ca
Gadu-Gadu: Add support for GG_STATUS_UNKNOWN status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34408
diff
changeset
|
754 | /* TODO: |
|
198c6f5c19ca
Gadu-Gadu: Add support for GG_STATUS_UNKNOWN status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34408
diff
changeset
|
755 | * - move to status.c ? |
|
198c6f5c19ca
Gadu-Gadu: Add support for GG_STATUS_UNKNOWN status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34408
diff
changeset
|
756 | * - add information about not adding to his buddy list (not_a_friend) |
|
198c6f5c19ca
Gadu-Gadu: Add support for GG_STATUS_UNKNOWN status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34408
diff
changeset
|
757 | */ |
|
40634
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
758 | static void |
|
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
759 | ggp_tooltip_text(PurpleProtocolClient *client, PurpleBuddy *b, |
|
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
760 | PurpleNotifyUserInfo *user_info, gboolean full) |
| 11360 | 761 | { |
| 15884 | 762 | PurpleStatus *status; |
|
32188
cb9cad610bc6
I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents:
32157
diff
changeset
|
763 | char *tmp; |
|
33342
26ba5e4e8c24
Gadu-Gadu: status refactoring - polishing
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33341
diff
changeset
|
764 | const char *name, *alias; |
|
26ba5e4e8c24
Gadu-Gadu: status refactoring - polishing
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33341
diff
changeset
|
765 | gchar *msg; |
| 11360 | 766 | |
| 15005 | 767 | g_return_if_fail(b != NULL); |
| 768 | ||
| 15884 | 769 | status = purple_presence_get_active_status(purple_buddy_get_presence(b)); |
| 770 | name = purple_status_get_name(status); | |
|
24745
511df62cb366
Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents:
24683
diff
changeset
|
771 | alias = purple_buddy_get_alias(b); |
|
33342
26ba5e4e8c24
Gadu-Gadu: status refactoring - polishing
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33341
diff
changeset
|
772 | ggp_status_from_purplestatus(status, &msg); |
|
24745
511df62cb366
Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents:
24683
diff
changeset
|
773 | |
|
32188
cb9cad610bc6
I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents:
32157
diff
changeset
|
774 | purple_notify_user_info_add_pair_plaintext(user_info, _("Alias"), alias); |
| 11360 | 775 | |
| 776 | if (msg != NULL) { | |
| 15884 | 777 | if (PURPLE_BUDDY_IS_ONLINE(b)) { |
|
32188
cb9cad610bc6
I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents:
32157
diff
changeset
|
778 | tmp = g_strdup_printf("%s: %s", name, msg); |
|
cb9cad610bc6
I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents:
32157
diff
changeset
|
779 | purple_notify_user_info_add_pair_plaintext(user_info, _("Status"), tmp); |
|
15205
f642029b2f97
[gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents:
15196
diff
changeset
|
780 | g_free(tmp); |
| 15196 | 781 | } else { |
|
32188
cb9cad610bc6
I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents:
32157
diff
changeset
|
782 | purple_notify_user_info_add_pair_plaintext(user_info, _("Message"), msg); |
| 15196 | 783 | } |
|
33342
26ba5e4e8c24
Gadu-Gadu: status refactoring - polishing
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33341
diff
changeset
|
784 | g_free(msg); |
| 15227 | 785 | /* We don't want to duplicate 'Status: Offline'. */ |
| 15884 | 786 | } else if (PURPLE_BUDDY_IS_ONLINE(b)) { |
|
32188
cb9cad610bc6
I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <markdoliner@pidgin.im>
parents:
32157
diff
changeset
|
787 | purple_notify_user_info_add_pair_plaintext(user_info, _("Status"), name); |
| 11360 | 788 | } |
| 789 | } | |
| 790 | ||
|
41814
f8940ebd4eee
Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents:
41812
diff
changeset
|
791 | static void |
|
f8940ebd4eee
Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents:
41812
diff
changeset
|
792 | 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
|
793 | 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
|
794 | PurpleContactInfo *contact_info = PURPLE_CONTACT_INFO(account); |
| 13515 | 795 | struct gg_login_params *glp; |
| 796 | GGPInfo *info; | |
|
27255
d2284774cfed
Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <darkrain42@pidgin.im>
parents:
27197
diff
changeset
|
797 | const char *address; |
|
34424
70fb82cea2a7
Make it possible to select protocol version
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34415
diff
changeset
|
798 | 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
|
799 | GProxyResolver *resolver; |
|
41159
2b4446ccebc9
Make sure our GError variables are initialized to NULL
Gary Kramlich <grim@reaperworld.com>
parents:
41078
diff
changeset
|
800 | GError *error = NULL; |
| 11360 | 801 | |
|
36069
f99249837123
Gadu-Gadu: disable inline images for libgadu<1.12.0
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36068
diff
changeset
|
802 | 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
|
803 | PURPLE_CONNECTION_FLAG_HTML | |
|
f99249837123
Gadu-Gadu: disable inline images for libgadu<1.12.0
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36068
diff
changeset
|
804 | PURPLE_CONNECTION_FLAG_NO_URLDESC); |
| 11360 | 805 | |
|
40019
5bf1b06ebd65
Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39970
diff
changeset
|
806 | 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
|
807 | if (resolver == NULL) { |
|
5bf1b06ebd65
Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39970
diff
changeset
|
808 | 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
|
809 | error->message); |
|
40618
4726bf0ff977
Fix some GError leaks.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40521
diff
changeset
|
810 | 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
|
811 | return; |
|
40019
5bf1b06ebd65
Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39970
diff
changeset
|
812 | } |
|
5bf1b06ebd65
Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39970
diff
changeset
|
813 | |
| 13515 | 814 | 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
|
815 | glp->struct_size = sizeof(struct gg_login_params); |
| 13515 | 816 | info = g_new0(GGPInfo, 1); |
| 11360 | 817 | |
|
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
|
818 | purple_connection_set_protocol_data(gc, info); |
| 11360 | 819 | |
|
40819
54b2a95ac176
Cleanup deprecated libsoup usage
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40813
diff
changeset
|
820 | 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
|
821 | NULL); |
|
40019
5bf1b06ebd65
Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39970
diff
changeset
|
822 | |
|
34433
fa2313e5f320
Gadu-Gadu: use our own proxy/tls connecting code instead of libgadu's
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34429
diff
changeset
|
823 | 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
|
824 | 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
|
825 | ggp_avatar_setup(gc); |
|
33314
57013b9e1a8e
Gadu-Gadu: roster - downloading
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33313
diff
changeset
|
826 | ggp_roster_setup(gc); |
|
33334
734fc6da6179
Gadu-Gadu: initial multilogon support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33333
diff
changeset
|
827 | ggp_multilogon_setup(gc); |
|
33336
7c97b5dd3bf4
Gadu-Gadu: status refactoring - own status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33334
diff
changeset
|
828 | ggp_status_setup(gc); |
|
34350
89441dbabc83
Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34348
diff
changeset
|
829 | ggp_chat_setup(gc); |
|
34361
ddcc82637afa
Gadu-Gadu: incoming images works again
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34359
diff
changeset
|
830 | ggp_message_setup(gc); |
|
40025
7668af6d772c
Convert GG file transfers to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
40019
diff
changeset
|
831 | ggp_edisc_setup(gc, resolver); |
|
7668af6d772c
Convert GG file transfers to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
40019
diff
changeset
|
832 | g_object_unref(resolver); |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30163
diff
changeset
|
833 | |
|
41979
31c32b8d4bef
Replace all of the deprecated account api in Gadu Gadu
Gary Kramlich <grim@reaperworld.com>
parents:
41958
diff
changeset
|
834 | 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
|
835 | glp->password = |
|
fa72f1e5cd77
Some polishing on files modified on this branch (mostly formatting)
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34115
diff
changeset
|
836 | ggp_convert_to_cp1250(purple_connection_get_password(gc)); |
| 11360 | 837 | |
|
32646
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
838 | if (glp->uin == 0) { |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
839 | purple_connection_error(gc, |
|
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
840 | 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
|
841 | _("The username specified is invalid.")); |
|
34428
f52357f34177
Gadu-Gadu: wipe password
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34427
diff
changeset
|
842 | purple_str_wipe(glp->password); |
| 11360 | 843 | g_free(glp); |
|
41814
f8940ebd4eee
Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents:
41812
diff
changeset
|
844 | return; |
| 11360 | 845 | } |
|
32646
d1e3538b0c5f
Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32645
diff
changeset
|
846 | |
|
24745
511df62cb366
Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents:
24683
diff
changeset
|
847 | 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
|
848 | glp->status_flags = GG_STATUS_FLAG_UNKNOWN; |
| 11360 | 849 | |
|
32651
cc247c37281e
Gadu-Gadu: option to show links from strangers. Fixes #10591
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
32650
diff
changeset
|
850 | 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
|
851 | glp->status_flags |= GG_STATUS_FLAG_SPAM; |
| 11360 | 852 | |
|
29824
9878119b5d78
Finish making libgadu compile on Windows. Fixes #10542 finally!
Krzysztof Klinikowski <kkszysiu@gmail.com>
parents:
29404
diff
changeset
|
853 | glp->encoding = GG_ENCODING_UTF8; |
|
33296
33a9adb52028
Enable receiving of user_data packets
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33295
diff
changeset
|
854 | glp->protocol_features = (GG_FEATURE_DND_FFC | |
|
33a9adb52028
Enable receiving of user_data packets
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33295
diff
changeset
|
855 | GG_FEATURE_TYPING_NOTIFICATION | GG_FEATURE_MULTILOGON | |
|
33a9adb52028
Enable receiving of user_data packets
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33295
diff
changeset
|
856 | 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
|
857 | |
| 12007 | 858 | 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
|
859 | |
|
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
|
860 | 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
|
861 | "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
|
862 | 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
|
863 | encryption_type); |
| 38358 | 864 | 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
|
865 | glp->tls = GG_SSL_ENABLED; |
| 38358 | 866 | 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
|
867 | 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
|
868 | 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
|
869 | 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
|
870 | 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
|
871 | 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
|
872 | _("SSL support unavailable")); |
|
34428
f52357f34177
Gadu-Gadu: wipe password
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34427
diff
changeset
|
873 | 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
|
874 | g_free(glp); |
|
41814
f8940ebd4eee
Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents:
41812
diff
changeset
|
875 | 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
|
876 | } |
|
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
|
877 | } |
|
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
|
878 | 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
|
879 | glp->tls = GG_SSL_DISABLED; |
|
34424
70fb82cea2a7
Make it possible to select protocol version
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34415
diff
changeset
|
880 | 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
|
881 | |
|
34424
70fb82cea2a7
Make it possible to select protocol version
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34415
diff
changeset
|
882 | 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
|
883 | "protocol_version", "default"); |
|
70fb82cea2a7
Make it possible to select protocol version
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34415
diff
changeset
|
884 | 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
|
885 | protocol_version); |
| 38358 | 886 | 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
|
887 | glp->protocol_version = GG_PROTOCOL_VERSION_100; |
| 38358 | 888 | 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
|
889 | 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
|
890 | glp->compatibility = GG_COMPAT_1_12_0; |
| 11360 | 891 | |
|
33336
7c97b5dd3bf4
Gadu-Gadu: status refactoring - own status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33334
diff
changeset
|
892 | 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
|
893 | |
|
27255
d2284774cfed
Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <darkrain42@pidgin.im>
parents:
27197
diff
changeset
|
894 | 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
|
895 | 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
|
896 | 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
|
897 | |
| 11360 | 898 | 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
|
899 | g_free(glp->connect_host); |
|
34428
f52357f34177
Gadu-Gadu: wipe password
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34427
diff
changeset
|
900 | 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
|
901 | 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
|
902 | |
| 11360 | 903 | if (info->session == NULL) { |
|
32157
39ba2e2492ee
Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <markdoliner@pidgin.im>
parents:
32147
diff
changeset
|
904 | purple_connection_error (gc, |
| 21279 | 905 | 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
|
906 | _("Connection failed")); |
|
41814
f8940ebd4eee
Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents:
41812
diff
changeset
|
907 | 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
|
908 | } |
|
3f076483405f
Gadu-Gadu: use asynchronous purple_dnsquery_a_account instead of deprecated gg_gethostbyname
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35251
diff
changeset
|
909 | |
|
34433
fa2313e5f320
Gadu-Gadu: use our own proxy/tls connecting code instead of libgadu's
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34429
diff
changeset
|
910 | 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
|
911 | 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
|
912 | 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
|
913 | } |
|
3f076483405f
Gadu-Gadu: use asynchronous purple_dnsquery_a_account instead of deprecated gg_gethostbyname
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35251
diff
changeset
|
914 | } |
|
3f076483405f
Gadu-Gadu: use asynchronous purple_dnsquery_a_account instead of deprecated gg_gethostbyname
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35251
diff
changeset
|
915 | |
|
41775
82c861678f39
Pass the PurpleProtocol objects to all methods of the class
Gary Kramlich <grim@reaperworld.com>
parents:
41762
diff
changeset
|
916 | static void |
|
82c861678f39
Pass the PurpleProtocol objects to all methods of the class
Gary Kramlich <grim@reaperworld.com>
parents:
41762
diff
changeset
|
917 | 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
|
918 | 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
|
919 | GGPInfo *info;; |
| 8997 | 920 | |
|
34373
169db6aa5e08
Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34361
diff
changeset
|
921 | g_return_if_fail(gc != NULL); |
| 11360 | 922 | |
|
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
|
923 | 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
|
924 | info = purple_connection_get_protocol_data(gc); |
| 12964 | 925 | |
|
34373
169db6aa5e08
Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34361
diff
changeset
|
926 | 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
|
927 | |
|
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
|
928 | if (info) { |
|
11538
d87f3717d5a5
[gaim-migrate @ 13792]
Daniel Atallah <datallah@pidgin.im>
parents:
11522
diff
changeset
|
929 | if (info->session != NULL) { |
|
33340
5f00ed891179
Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33339
diff
changeset
|
930 | ggp_status_set_disconnected(account); |
|
11538
d87f3717d5a5
[gaim-migrate @ 13792]
Daniel Atallah <datallah@pidgin.im>
parents:
11522
diff
changeset
|
931 | gg_logoff(info->session); |
|
d87f3717d5a5
[gaim-migrate @ 13792]
Daniel Atallah <datallah@pidgin.im>
parents:
11522
diff
changeset
|
932 | gg_free_session(info->session); |
|
d87f3717d5a5
[gaim-migrate @ 13792]
Daniel Atallah <datallah@pidgin.im>
parents:
11522
diff
changeset
|
933 | } |
| 13641 | 934 | |
|
33313
5a0c6582d5b1
Gadu-Gadu: refactoring of buddy avatars handling. Fixes #13739, #14305
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33311
diff
changeset
|
935 | 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
|
936 | ggp_avatar_cleanup(gc); |
|
33314
57013b9e1a8e
Gadu-Gadu: roster - downloading
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33313
diff
changeset
|
937 | ggp_roster_cleanup(gc); |
|
33334
734fc6da6179
Gadu-Gadu: initial multilogon support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33333
diff
changeset
|
938 | ggp_multilogon_cleanup(gc); |
|
33336
7c97b5dd3bf4
Gadu-Gadu: status refactoring - own status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33334
diff
changeset
|
939 | ggp_status_cleanup(gc); |
|
34350
89441dbabc83
Gadu-Gadu: initial GG11 conferences support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34348
diff
changeset
|
940 | ggp_chat_cleanup(gc); |
|
34361
ddcc82637afa
Gadu-Gadu: incoming images works again
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34359
diff
changeset
|
941 | ggp_message_cleanup(gc); |
|
34380
2179667660bc
Edisc authentication, file transfer implementation started
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34378
diff
changeset
|
942 | ggp_edisc_cleanup(gc); |
|
14060
e1a87aabd80c
[gaim-migrate @ 16583]
Evan Schoenberg <evands@pidgin.im>
parents:
13645
diff
changeset
|
943 | |
|
32685
140518f18665
GG: Move the "inpa" input watcher into protocol_data.
Andrew Victor <andrew.victor@mxit.com>
parents:
32678
diff
changeset
|
944 | if (info->inpa > 0) |
|
41762
5c21747ff7dc
Replace purple_input_remove by g_source_remove
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41709
diff
changeset
|
945 | g_source_remove(info->inpa); |
|
34373
169db6aa5e08
Gadu-Gadu: very initial GGDrive authentication support
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34361
diff
changeset
|
946 | 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
|
947 | |
|
40019
5bf1b06ebd65
Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39970
diff
changeset
|
948 | if (info->http) { |
|
5bf1b06ebd65
Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39970
diff
changeset
|
949 | soup_session_abort(info->http); |
|
5bf1b06ebd65
Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39970
diff
changeset
|
950 | g_object_unref(info->http); |
|
5bf1b06ebd65
Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39970
diff
changeset
|
951 | } |
|
5bf1b06ebd65
Convert GG avatar fetching to libsoup.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39970
diff
changeset
|
952 | |
|
32685
140518f18665
GG: Move the "inpa" input watcher into protocol_data.
Andrew Victor <andrew.victor@mxit.com>
parents:
32678
diff
changeset
|
953 | purple_connection_set_protocol_data(gc, NULL); |
|
11545
df2f9bb3fd6e
[gaim-migrate @ 13800]
Daniel Atallah <datallah@pidgin.im>
parents:
11544
diff
changeset
|
954 | g_free(info); |
|
11538
d87f3717d5a5
[gaim-migrate @ 13792]
Daniel Atallah <datallah@pidgin.im>
parents:
11522
diff
changeset
|
955 | } |
| 11360 | 956 | |
| 15884 | 957 | purple_debug_info("gg", "Connection closed.\n"); |
| 11360 | 958 | } |
| 959 | ||
|
40507
77d7bc9e5151
Make PurpleProtocolIM a proper interface
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
960 | static unsigned int ggp_send_typing(PurpleProtocolIM *im, PurpleConnection *gc, const char *name, PurpleIMTypingState state) |
| 11360 | 961 | { |
|
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
|
962 | GGPInfo *info = purple_connection_get_protocol_data(gc); |
|
35354
aa1f0e988567
Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35305
diff
changeset
|
963 | 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
|
964 | |
|
35354
aa1f0e988567
Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35305
diff
changeset
|
965 | 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
|
966 | 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
|
967 | |
|
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
|
968 | 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
|
969 | dummy_length = (int)g_random_int(); |
| 37063 | 970 | 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
|
971 | dummy_length = 0; |
|
24745
511df62cb366
Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents:
24683
diff
changeset
|
972 | |
|
31648
03cb811f6382
This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
31630
diff
changeset
|
973 | 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
|
974 | info->session, |
|
31648
03cb811f6382
This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
31630
diff
changeset
|
975 | ggp_str_to_uin(name), |
|
35358
7beae478c905
Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35356
diff
changeset
|
976 | dummy_length); |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30163
diff
changeset
|
977 | |
|
35354
aa1f0e988567
Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35305
diff
changeset
|
978 | return 1; /* wait 1 second before another notification */ |
| 11360 | 979 | } |
| 980 | ||
|
40708
53a26c29d26c
Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40650
diff
changeset
|
981 | static void |
|
53a26c29d26c
Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40650
diff
changeset
|
982 | 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
|
983 | PurpleBuddy *buddy, PurpleGroup *group, const gchar *message) |
| 11360 | 984 | { |
|
33299
b3c4ab3aeb7f
Gadu-Gadu: utils refactoring, (partially) fix new account registration
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33298
diff
changeset
|
985 | 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
|
986 | 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
|
987 | 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
|
988 | const gchar *name = purple_buddy_get_name(buddy); |
| 11360 | 989 | |
|
24939
d25fdf62ae92
moved gg to use the api rather than structs directly
Gary Kramlich <grim@reaperworld.com>
parents:
24043
diff
changeset
|
990 | 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
|
991 | |
|
35354
aa1f0e988567
Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35305
diff
changeset
|
992 | /* 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
|
993 | 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
|
994 | 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
|
995 | } |
|
35354
aa1f0e988567
Style: fix gg (partially)
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35305
diff
changeset
|
996 | |
|
40708
53a26c29d26c
Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40650
diff
changeset
|
997 | 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
|
998 | ggp_pubdir_request_buddy_alias(gc, buddy); |
| 11360 | 999 | } |
| 1000 | ||
|
40708
53a26c29d26c
Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40650
diff
changeset
|
1001 | static void |
|
53a26c29d26c
Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40650
diff
changeset
|
1002 | 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
|
1003 | PurpleBuddy *buddy, PurpleGroup *group) |
| 11360 | 1004 | { |
|
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
|
1005 | GGPInfo *info = purple_connection_get_protocol_data(gc); |
| 11360 | 1006 | |
|
24939
d25fdf62ae92
moved gg to use the api rather than structs directly
Gary Kramlich <grim@reaperworld.com>
parents:
24043
diff
changeset
|
1007 | 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
|
1008 | ggp_roster_remove_buddy(protocol_server, gc, buddy, group); |
| 11394 | 1009 | } |
| 1010 | ||
|
40708
53a26c29d26c
Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40650
diff
changeset
|
1011 | static void |
|
53a26c29d26c
Move the PurpleProtocolServer interface to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40650
diff
changeset
|
1012 | ggp_keepalive(PurpleProtocolServer *protocol_server, 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
|
1013 | GGPInfo *info = purple_connection_get_protocol_data(gc); |
| 11360 | 1014 | |
| 15884 | 1015 | /* purple_debug_info("gg", "Keeping connection alive....\n"); */ |
| 11360 | 1016 | |
| 1017 | if (gg_ping(info->session) < 0) { | |
| 15884 | 1018 | purple_debug_info("gg", "Not connected to the server " |
| 11360 | 1019 | "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
|
1020 | purple_connection_error (gc, |
| 21279 | 1021 | 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
|
1022 | _("Not connected to the server")); |
| 4916 | 1023 | } |
| 2393 | 1024 | } |
| 11360 | 1025 | |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1026 | static void |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1027 | 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
|
1028 | GVariant *parameter, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1029 | 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
|
1030 | { |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1031 | const gchar *account_id = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1032 | PurpleAccountManager *manager = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1033 | PurpleAccount *account = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1034 | PurpleConnection *connection = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1035 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1036 | 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
|
1037 | 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
|
1038 | 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
|
1039 | } |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1040 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1041 | 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
|
1042 | 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
|
1043 | 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
|
1044 | connection = purple_account_get_connection(account); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1045 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1046 | ggp_multilogon_dialog(connection); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1047 | } |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1048 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1049 | static void |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1050 | 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
|
1051 | GVariant *parameter, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1052 | G_GNUC_UNUSED gpointer data) |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1053 | { |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1054 | const gchar *account_id = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1055 | PurpleAccountManager *manager = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1056 | PurpleAccount *account = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1057 | PurpleConnection *connection = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1058 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1059 | 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
|
1060 | 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
|
1061 | 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
|
1062 | } |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1063 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1064 | 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
|
1065 | 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
|
1066 | 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
|
1067 | connection = purple_account_get_connection(account); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1068 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1069 | 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
|
1070 | } |
|
3590ceb242b5
Gadu-Gadu: multilogon / other sessions dialog implementation. Refs #14366
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35139
diff
changeset
|
1071 | |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1072 | static void |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1073 | 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
|
1074 | GVariant *parameter, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1075 | G_GNUC_UNUSED gpointer data) |
| 11360 | 1076 | { |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1077 | const gchar *account_id = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1078 | PurpleAccountManager *manager = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1079 | PurpleAccount *account = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1080 | PurpleConnection *connection = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1081 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1082 | 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
|
1083 | 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
|
1084 | 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
|
1085 | } |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1086 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1087 | 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
|
1088 | 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
|
1089 | 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
|
1090 | connection = purple_account_get_connection(account); |
|
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_search(connection, NULL); |
| 2393 | 1093 | } |
| 11360 | 1094 | |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1095 | static void |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1096 | 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
|
1097 | GVariant *parameter, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1098 | 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
|
1099 | { |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1100 | const gchar *account_id = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1101 | PurpleAccountManager *manager = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1102 | PurpleAccount *account = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1103 | PurpleConnection *connection = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1104 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1105 | 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
|
1106 | 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
|
1107 | 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
|
1108 | } |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1109 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1110 | 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
|
1111 | 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
|
1112 | 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
|
1113 | connection = purple_account_get_connection(account); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1114 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1115 | 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
|
1116 | } |
|
09f740724036
Gadu-Gadu: extended OAuth support, initial support for gg10.5 public directory
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33342
diff
changeset
|
1117 | |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1118 | static const gchar * |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1119 | ggp_protocol_actions_get_prefix(PurpleProtocolActions *actions) { |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1120 | return "prpl-gg"; |
| 2393 | 1121 | } |
| 1122 | ||
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1123 | static GActionGroup * |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1124 | ggp_protocol_actions_get_action_group(PurpleProtocolActions *actions, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1125 | G_GNUC_UNUSED PurpleConnection *connection) |
|
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 | GSimpleActionGroup *group = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1128 | GActionEntry entries[] = { |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1129 | { |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1130 | .name = "multilogon", |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1131 | .activate = ggp_action_multilogon, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1132 | .parameter_type = "s", |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1133 | }, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1134 | { |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1135 | .name = "broadcasting", |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1136 | .activate = ggp_action_status_broadcasting, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1137 | .parameter_type = "s", |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1138 | }, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1139 | { |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1140 | .name = "search", |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1141 | .activate = ggp_action_search, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1142 | .parameter_type = "s", |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1143 | }, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1144 | { |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1145 | .name = "set-info", |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1146 | .activate = ggp_action_set_info, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1147 | .parameter_type = "s", |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1148 | }, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1149 | { |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1150 | .name = "save-buddylist", |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1151 | .activate = ggp_action_buddylist_save, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1152 | .parameter_type = "s", |
|
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 | { |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1155 | .name = "load-buddylist", |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1156 | .activate = ggp_action_buddylist_load, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1157 | .parameter_type = "s", |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1158 | }, |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1159 | }; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1160 | gsize nentries = G_N_ELEMENTS(entries); |
| 11360 | 1161 | |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1162 | 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
|
1163 | 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
|
1164 | NULL); |
| 11360 | 1165 | |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1166 | return G_ACTION_GROUP(group); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1167 | } |
| 11360 | 1168 | |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1169 | static GMenu * |
|
42004
620d1adf91f2
Add a connection parameter to the PurpleProtocolActions.get_menu virtual function
Gary Kramlich <grim@reaperworld.com>
parents:
41979
diff
changeset
|
1170 | 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
|
1171 | 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
|
1172 | GMenu *menu = NULL, *submenu = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1173 | GMenuItem *item = NULL; |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1174 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1175 | menu = g_menu_new(); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1176 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1177 | 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
|
1178 | 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
|
1179 | "account"); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1180 | 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
|
1181 | g_object_unref(item); |
|
8775
6cb5dddaad4f
[gaim-migrate @ 9537]
Andrew Wellington <proton@users.sourceforge.net>
parents:
8749
diff
changeset
|
1182 | |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1183 | 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
|
1184 | "prpl-gg.broadcasting"); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1185 | 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
|
1186 | "account"); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1187 | 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
|
1188 | g_object_unref(item); |
|
8775
6cb5dddaad4f
[gaim-migrate @ 9537]
Andrew Wellington <proton@users.sourceforge.net>
parents:
8749
diff
changeset
|
1189 | |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1190 | 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
|
1191 | 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
|
1192 | "account"); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1193 | 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
|
1194 | g_object_unref(item); |
| 11360 | 1195 | |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1196 | 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
|
1197 | 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
|
1198 | "account"); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1199 | 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
|
1200 | g_object_unref(item); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1201 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1202 | /* Buddy list management. */ |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1203 | submenu = g_menu_new(); |
|
8775
6cb5dddaad4f
[gaim-migrate @ 9537]
Andrew Wellington <proton@users.sourceforge.net>
parents:
8749
diff
changeset
|
1204 | |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1205 | 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
|
1206 | 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
|
1207 | "account"); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1208 | 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
|
1209 | g_object_unref(item); |
| 11360 | 1210 | |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1211 | 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
|
1212 | 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
|
1213 | "account"); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1214 | 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
|
1215 | g_object_unref(item); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1216 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1217 | 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
|
1218 | g_object_unref(submenu); |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1219 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1220 | return menu; |
|
8775
6cb5dddaad4f
[gaim-migrate @ 9537]
Andrew Wellington <proton@users.sourceforge.net>
parents:
8749
diff
changeset
|
1221 | } |
|
6cb5dddaad4f
[gaim-migrate @ 9537]
Andrew Wellington <proton@users.sourceforge.net>
parents:
8749
diff
changeset
|
1222 | |
|
40634
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
1223 | static const char * |
|
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
1224 | ggp_list_emblem(PurpleProtocolClient *client, PurpleBuddy *buddy) { |
|
33340
5f00ed891179
Gadu-Gadu: status refactoring - done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33339
diff
changeset
|
1225 | 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
|
1226 | |
|
4e6e895f161b
Gadu-Gadu: correctly handle buddies that blocks us
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33318
diff
changeset
|
1227 | if (buddy_data->blocked) |
|
4e6e895f161b
Gadu-Gadu: correctly handle buddies that blocks us
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33318
diff
changeset
|
1228 | return "not-authorized"; |
|
34409
198c6f5c19ca
Gadu-Gadu: Add support for GG_STATUS_UNKNOWN status
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34408
diff
changeset
|
1229 | 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
|
1230 | return "unavailable"; |
|
33327
4e6e895f161b
Gadu-Gadu: correctly handle buddies that blocks us
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33318
diff
changeset
|
1231 | |
|
4e6e895f161b
Gadu-Gadu: correctly handle buddies that blocks us
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33318
diff
changeset
|
1232 | return NULL; |
|
4e6e895f161b
Gadu-Gadu: correctly handle buddies that blocks us
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33318
diff
changeset
|
1233 | } |
|
4e6e895f161b
Gadu-Gadu: correctly handle buddies that blocks us
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33318
diff
changeset
|
1234 | |
|
40634
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
1235 | static gboolean |
|
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
1236 | ggp_offline_message(PurpleProtocolClient *client, PurpleBuddy *buddy) { |
|
13298
7a41e676010b
[gaim-migrate @ 15663]
Richard Laager <rlaager@pidgin.im>
parents:
13297
diff
changeset
|
1237 | return TRUE; |
|
7a41e676010b
[gaim-migrate @ 15663]
Richard Laager <rlaager@pidgin.im>
parents:
13297
diff
changeset
|
1238 | } |
|
7a41e676010b
[gaim-migrate @ 15663]
Richard Laager <rlaager@pidgin.im>
parents:
13297
diff
changeset
|
1239 | |
|
40634
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
1240 | static GHashTable * |
|
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
1241 | ggp_get_account_text_table(PurpleProtocolClient *client, |
|
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
1242 | PurpleAccount *account) |
|
36118
f1c54a78d896
Better check for libgadu GPL compliance, some tidying up
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35976
diff
changeset
|
1243 | { |
|
33311
3ba9260b0e74
Gadu-Gadu: add login_label field
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33310
diff
changeset
|
1244 | GHashTable *table; |
|
3ba9260b0e74
Gadu-Gadu: add login_label field
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33310
diff
changeset
|
1245 | 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
|
1246 | 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
|
1247 | return table; |
|
36118
f1c54a78d896
Better check for libgadu GPL compliance, some tidying up
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35976
diff
changeset
|
1248 | } |
|
f1c54a78d896
Better check for libgadu GPL compliance, some tidying up
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35976
diff
changeset
|
1249 | |
|
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
|
1250 | static gssize |
|
40634
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
1251 | ggp_get_max_message_size(PurpleProtocolClient *client, |
|
4d3018b00ad4
Fix the PurpleProtocolClient interface and split it out to its own file.
Gary Kramlich <grim@reaperworld.com>
parents:
40618
diff
changeset
|
1252 | PurpleConversation *conv) |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
1253 | { |
|
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
|
1254 | /* 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
|
1255 | 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
|
1256 | } |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5136
diff
changeset
|
1257 | |
|
36283
e7949b2aa31a
Gadu-Gadu: fix log printing for win32
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
36274
diff
changeset
|
1258 | static void |
|
39894
7eab91ea30a1
Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39760
diff
changeset
|
1259 | ggp_protocol_init(GGPProtocol *self) |
| 2393 | 1260 | { |
| 1261 | } | |
|
11541
b1468184879c
[gaim-migrate @ 13796]
Daniel Atallah <datallah@pidgin.im>
parents:
11538
diff
changeset
|
1262 | |
|
36578
219de60342be
Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36555
diff
changeset
|
1263 | static void |
|
39894
7eab91ea30a1
Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39760
diff
changeset
|
1264 | ggp_protocol_class_init(GGPProtocolClass *klass) |
|
36684
ecc74498e088
Refactored other protocols to use instance init
Ankit Vani <a@nevitus.org>
parents:
36678
diff
changeset
|
1265 | { |
|
39894
7eab91ea30a1
Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39760
diff
changeset
|
1266 | 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
|
1267 | |
|
7eab91ea30a1
Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39760
diff
changeset
|
1268 | protocol_class->login = ggp_login; |
|
7eab91ea30a1
Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39760
diff
changeset
|
1269 | protocol_class->close = ggp_close; |
|
7eab91ea30a1
Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39760
diff
changeset
|
1270 | protocol_class->status_types = ggp_status_types; |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
1271 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
1272 | protocol_class->get_account_options = ggp_protocol_get_account_options; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
1273 | 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
|
1274 | } |
|
7eab91ea30a1
Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39760
diff
changeset
|
1275 | |
|
7eab91ea30a1
Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39760
diff
changeset
|
1276 | static void |
|
7eab91ea30a1
Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39760
diff
changeset
|
1277 | 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
|
1278 | { |
|
36684
ecc74498e088
Refactored other protocols to use instance init
Ankit Vani <a@nevitus.org>
parents:
36678
diff
changeset
|
1279 | } |
|
ecc74498e088
Refactored other protocols to use instance init
Ankit Vani <a@nevitus.org>
parents:
36678
diff
changeset
|
1280 | |
|
ecc74498e088
Refactored other protocols to use instance init
Ankit Vani <a@nevitus.org>
parents:
36678
diff
changeset
|
1281 | static void |
|
41464
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1282 | 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
|
1283 | { |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1284 | 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
|
1285 | 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
|
1286 | 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
|
1287 | } |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1288 | |
|
979c8cc3413a
Convert GaduGadu to new actions interface
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41348
diff
changeset
|
1289 | static void |
|
39757
4a5ba806d8c9
Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39669
diff
changeset
|
1290 | 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
|
1291 | { |
|
36729
7f9fac14ed60
Temporarily replaced PurpleProtocolInterface with PurpleProtocolClientIface in protocols
Ankit Vani <a@nevitus.org>
parents:
36714
diff
changeset
|
1292 | client_iface->list_emblem = ggp_list_emblem; |
|
7f9fac14ed60
Temporarily replaced PurpleProtocolInterface with PurpleProtocolClientIface in protocols
Ankit Vani <a@nevitus.org>
parents:
36714
diff
changeset
|
1293 | client_iface->status_text = ggp_status_buddy_text; |
|
7f9fac14ed60
Temporarily replaced PurpleProtocolInterface with PurpleProtocolClientIface in protocols
Ankit Vani <a@nevitus.org>
parents:
36714
diff
changeset
|
1294 | client_iface->tooltip_text = ggp_tooltip_text; |
|
7f9fac14ed60
Temporarily replaced PurpleProtocolInterface with PurpleProtocolClientIface in protocols
Ankit Vani <a@nevitus.org>
parents:
36714
diff
changeset
|
1295 | client_iface->buddy_free = ggp_buddy_free; |
|
7f9fac14ed60
Temporarily replaced PurpleProtocolInterface with PurpleProtocolClientIface in protocols
Ankit Vani <a@nevitus.org>
parents:
36714
diff
changeset
|
1296 | client_iface->normalize = ggp_normalize; |
|
7f9fac14ed60
Temporarily replaced PurpleProtocolInterface with PurpleProtocolClientIface in protocols
Ankit Vani <a@nevitus.org>
parents:
36714
diff
changeset
|
1297 | client_iface->offline_message = ggp_offline_message; |
|
7f9fac14ed60
Temporarily replaced PurpleProtocolInterface with PurpleProtocolClientIface in protocols
Ankit Vani <a@nevitus.org>
parents:
36714
diff
changeset
|
1298 | 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
|
1299 | 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
|
1300 | } |
|
11541
b1468184879c
[gaim-migrate @ 13796]
Daniel Atallah <datallah@pidgin.im>
parents:
11538
diff
changeset
|
1301 | |
|
36730
66018273528a
Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents:
36729
diff
changeset
|
1302 | static void |
|
39757
4a5ba806d8c9
Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39669
diff
changeset
|
1303 | 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
|
1304 | { |
|
66018273528a
Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents:
36729
diff
changeset
|
1305 | 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
|
1306 | 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
|
1307 | 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
|
1308 | 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
|
1309 | 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
|
1310 | 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
|
1311 | 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
|
1312 | 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
|
1313 | 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
|
1314 | } |
|
66018273528a
Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents:
36729
diff
changeset
|
1315 | |
|
66018273528a
Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents:
36729
diff
changeset
|
1316 | static void |
|
39757
4a5ba806d8c9
Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39669
diff
changeset
|
1317 | 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
|
1318 | { |
| 36744 | 1319 | 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
|
1320 | 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
|
1321 | } |
|
66018273528a
Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents:
36729
diff
changeset
|
1322 | |
| 36744 | 1323 | static void |
|
39757
4a5ba806d8c9
Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39669
diff
changeset
|
1324 | ggp_protocol_chat_iface_init(PurpleProtocolChatInterface *chat_iface) |
| 36744 | 1325 | { |
| 1326 | chat_iface->info = ggp_chat_info; | |
| 1327 | chat_iface->info_defaults = ggp_chat_info_defaults; | |
| 1328 | chat_iface->join = ggp_chat_join; | |
| 1329 | chat_iface->get_name = ggp_chat_get_name; | |
| 1330 | chat_iface->invite = ggp_chat_invite; | |
| 1331 | chat_iface->leave = ggp_chat_leave; | |
| 1332 | chat_iface->send = ggp_chat_send; | |
| 1333 | ||
| 1334 | chat_iface->reject = NULL; /* TODO */ | |
| 1335 | } | |
| 1336 | ||
|
36730
66018273528a
Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents:
36729
diff
changeset
|
1337 | static void |
|
39757
4a5ba806d8c9
Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39669
diff
changeset
|
1338 | 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
|
1339 | { |
| 36744 | 1340 | 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
|
1341 | } |
|
66018273528a
Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents:
36729
diff
changeset
|
1342 | |
|
66018273528a
Refactored bonjour, gg, irc to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents:
36729
diff
changeset
|
1343 | static void |
|
38837
153c0c3bcced
finish fixing up gg for the xfer move
Gary Kramlich <grim@reaperworld.com>
parents:
38358
diff
changeset
|
1344 | ggp_protocol_xfer_iface_init(PurpleProtocolXferInterface *xfer_iface) |
| 36744 | 1345 | { |
| 1346 | 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
|
1347 | xfer_iface->send_file = ggp_edisc_xfer_send_file; |
| 36744 | 1348 | xfer_iface->new_xfer = ggp_edisc_xfer_send_new; |
| 2393 | 1349 | } |
| 1350 | ||
|
39894
7eab91ea30a1
Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39760
diff
changeset
|
1351 | 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
|
1352 | GGPProtocol, |
|
201aae92d734
Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents:
41814
diff
changeset
|
1353 | ggp_protocol, |
|
201aae92d734
Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents:
41814
diff
changeset
|
1354 | PURPLE_TYPE_PROTOCOL, |
|
201aae92d734
Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents:
41814
diff
changeset
|
1355 | G_TYPE_FLAG_FINAL, |
|
201aae92d734
Clean up the G_DEFINE_DYNAMIC_TYPE definitions for protocols
Gary Kramlich <grim@reaperworld.com>
parents:
41814
diff
changeset
|
1356 | 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
|
1357 | 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
|
1358 | 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
|
1359 | 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
|
1360 | 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
|
1361 | 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
|
1362 | 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
|
1363 | 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
|
1364 | 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
|
1365 | 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
|
1366 | 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
|
1367 | 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
|
1368 | 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
|
1369 | 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
|
1370 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
1371 | static PurpleProtocol * |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
1372 | ggp_protocol_new(void) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
1373 | return PURPLE_PROTOCOL(g_object_new( |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
1374 | GGP_TYPE_PROTOCOL, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
1375 | "id", "prpl-gg", |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
1376 | "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
|
1377 | "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
|
1378 | "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
|
1379 | "icon-resource-path", "/im/pidgin/libpurple/gg/icons", |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
1380 | NULL)); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
1381 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
1382 | |
|
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
|
1383 | static GPluginPluginInfo * |
|
bbeb2e98ea5b
Use GPLUGIN_NATIVE_PLUGIN_DECLARE for all libpurple plugins and remove PURPLE_PLUGIN_INIT
Gary Kramlich <grim@reaperworld.com>
parents:
40885
diff
changeset
|
1384 | gg_query(GError **error) |
|
36578
219de60342be
Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36555
diff
changeset
|
1385 | { |
|
41472
0b3b172cd50e
Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents:
41464
diff
changeset
|
1386 | GPluginPluginInfo *info = NULL; |
|
0b3b172cd50e
Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents:
41464
diff
changeset
|
1387 | gchar *description = NULL; |
|
36642
b8ba53daa445
Updated libpurple to use current GPlugin
Ankit Vani <a@nevitus.org>
parents:
36638
diff
changeset
|
1388 | const gchar * const authors[] = { |
|
b8ba53daa445
Updated libpurple to use current GPlugin
Ankit Vani <a@nevitus.org>
parents:
36638
diff
changeset
|
1389 | "boler@sourceforge.net", |
|
b8ba53daa445
Updated libpurple to use current GPlugin
Ankit Vani <a@nevitus.org>
parents:
36638
diff
changeset
|
1390 | NULL |
|
b8ba53daa445
Updated libpurple to use current GPlugin
Ankit Vani <a@nevitus.org>
parents:
36638
diff
changeset
|
1391 | }; |
|
b8ba53daa445
Updated libpurple to use current GPlugin
Ankit Vani <a@nevitus.org>
parents:
36638
diff
changeset
|
1392 | |
|
41472
0b3b172cd50e
Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents:
41464
diff
changeset
|
1393 | 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
|
1394 | gg_libgadu_version()); |
|
0b3b172cd50e
Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents:
41464
diff
changeset
|
1395 | |
|
0b3b172cd50e
Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents:
41464
diff
changeset
|
1396 | info = purple_plugin_info_new( |
|
36985
9faafe43603e
Rename protocol plugin IDs to prpl-*
Ankit Vani <a@nevitus.org>
parents:
36984
diff
changeset
|
1397 | "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
|
1398 | "name", "Gadu-Gadu Protocol", |
|
36578
219de60342be
Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36555
diff
changeset
|
1399 | "version", DISPLAY_VERSION, |
|
219de60342be
Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36555
diff
changeset
|
1400 | "category", N_("Protocol"), |
|
219de60342be
Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36555
diff
changeset
|
1401 | "summary", N_("Gadu-Gadu Protocol Plugin"), |
|
41472
0b3b172cd50e
Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents:
41464
diff
changeset
|
1402 | "description", description, |
|
36642
b8ba53daa445
Updated libpurple to use current GPlugin
Ankit Vani <a@nevitus.org>
parents:
36638
diff
changeset
|
1403 | "authors", authors, |
|
36578
219de60342be
Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36555
diff
changeset
|
1404 | "website", PURPLE_WEBSITE, |
|
219de60342be
Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36555
diff
changeset
|
1405 | "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
|
1406 | "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
|
1407 | 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
|
1408 | NULL |
|
219de60342be
Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36555
diff
changeset
|
1409 | ); |
|
41472
0b3b172cd50e
Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents:
41464
diff
changeset
|
1410 | |
|
0b3b172cd50e
Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents:
41464
diff
changeset
|
1411 | g_free(description); |
|
0b3b172cd50e
Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents:
41464
diff
changeset
|
1412 | |
|
0b3b172cd50e
Remove the extra-cb property from PurplePluginInfo
Gary Kramlich <grim@reaperworld.com>
parents:
41464
diff
changeset
|
1413 | return info; |
|
36578
219de60342be
Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36555
diff
changeset
|
1414 | } |
|
219de60342be
Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36555
diff
changeset
|
1415 | |
|
219de60342be
Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36555
diff
changeset
|
1416 | 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
|
1417 | 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
|
1418 | { |
|
40800
be00e9c87cb7
Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
1419 | 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
|
1420 | |
|
39894
7eab91ea30a1
Replace Purple type macros by GObject macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39760
diff
changeset
|
1421 | 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
|
1422 | |
|
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
|
1423 | 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
|
1424 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
1425 | 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
|
1426 | 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
|
1427 | 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
|
1428 | |
|
36578
219de60342be
Refactored gg to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36555
diff
changeset
|
1429 | 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
|
1430 | } |
|
36518
78f27f38b9ad
Refactored gg to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
1431 | |
| 36984 | 1432 | purple_prefs_add_none("/plugins/prpl/gg"); |
|
11541
b1468184879c
[gaim-migrate @ 13796]
Daniel Atallah <datallah@pidgin.im>
parents:
11538
diff
changeset
|
1433 | |
|
33339
02ee2834030c
Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33337
diff
changeset
|
1434 | 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
|
1435 | "libgadu %s...\n", gg_libgadu_version()); |
|
02ee2834030c
Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33337
diff
changeset
|
1436 | |
|
34408
ee5663c0ffe8
Gadu-Gadu: new libgadu debug handler
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34406
diff
changeset
|
1437 | ggp_libgaduw_setup(); |
|
33339
02ee2834030c
Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33337
diff
changeset
|
1438 | ggp_resolver_purple_setup(); |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40800
diff
changeset
|
1439 | 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
|
1440 | ggp_html_setup(); |
|
7cf367cc1141
Gadu-Gadu: compile regular expressions only once per plugin load
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34357
diff
changeset
|
1441 | 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
|
1442 | |
|
39328
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
1443 | 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
|
1444 | G_CALLBACK(gg_uri_handler), NULL); |
|
39328
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
1445 | |
|
33339
02ee2834030c
Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33337
diff
changeset
|
1446 | return TRUE; |
|
02ee2834030c
Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33337
diff
changeset
|
1447 | } |
|
02ee2834030c
Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33337
diff
changeset
|
1448 | |
|
36518
78f27f38b9ad
Refactored gg to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
1449 | static gboolean |
|
41078
84e48180ef67
Update to gplugin 0.35.0
Gary Kramlich <grim@reaperworld.com>
parents:
41071
diff
changeset
|
1450 | gg_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error) |
|
33339
02ee2834030c
Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33337
diff
changeset
|
1451 | { |
|
40800
be00e9c87cb7
Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
1452 | 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
|
1453 | |
|
be00e9c87cb7
Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
1454 | 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
|
1455 | return FALSE; |
|
be00e9c87cb7
Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
1456 | } |
|
be00e9c87cb7
Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
1457 | |
|
39328
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
1458 | 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
|
1459 | G_CALLBACK(gg_uri_handler)); |
|
39328
4a49d2904542
gg: Implement URI handler
Mike Ruprecht <cmaiku@gmail.com>
parents:
39005
diff
changeset
|
1460 | |
|
33339
02ee2834030c
Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33337
diff
changeset
|
1461 | 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
|
1462 | ggp_html_cleanup(); |
|
7cf367cc1141
Gadu-Gadu: compile regular expressions only once per plugin load
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34357
diff
changeset
|
1463 | ggp_message_cleanup_global(); |
|
34408
ee5663c0ffe8
Gadu-Gadu: new libgadu debug handler
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34406
diff
changeset
|
1464 | 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
|
1465 | |
|
40800
be00e9c87cb7
Convert all of the protocols to use the new protocol_manager_ api
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
1466 | g_clear_object(&my_protocol); |
|
36518
78f27f38b9ad
Refactored gg to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36367
diff
changeset
|
1467 | |
|
33339
02ee2834030c
Gadu-Gadu: servers history feature
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33337
diff
changeset
|
1468 | return TRUE; |
| 2393 | 1469 | } |
| 1470 | ||
|
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
|
1471 | GPLUGIN_NATIVE_PLUGIN_DECLARE(gg) |
| 11360 | 1472 | |
| 12007 | 1473 | /* vim: set ts=8 sts=0 sw=8 noet: */ |