Sat, 02 Jan 2021 19:06:28 -0600
Use PurpleCredentialManager instead of the old keyring api.
Testing Done:
Connected with bonjour (no password), irc (optional password, non set), and xmpp (password required, not saved, entered manually, not saved) and verified that all of them connected properly.
Reviewed at https://reviews.imfreedom.org/r/289/
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1 | /* purple |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
2 | * |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
3 | * Purple is the legal property of its developers, whose names are too numerous |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
4 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
5 | * source distribution. |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
6 | * |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
7 | * This program is free software; you can redistribute it and/or modify |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
8 | * it under the terms of the GNU General Public License as published by |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
9 | * the Free Software Foundation; either version 2 of the License, or |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
10 | * (at your option) any later version. |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
11 | * |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
12 | * This program is distributed in the hope that it will be useful, |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
15 | * GNU General Public License for more details. |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
16 | * |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
17 | * You should have received a copy of the GNU General Public License |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
18 | * along with this program; if not, write to the Free Software |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
20 | */ |
|
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
|
21 | |
|
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
|
22 | #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
|
23 | |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
24 | #include "internal.h" |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
25 | #include "accounts.h" |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
26 | #include "core.h" |
|
34581
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
27 | #include "debug.h" |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
28 | #include "enums.h" |
|
34582
67a520874aa9
Exposed some functions to the header files to resolve dependencies.
Ankit Vani <a@nevitus.org>
parents:
34581
diff
changeset
|
29 | #include "network.h" |
|
67a520874aa9
Exposed some functions to the header files to resolve dependencies.
Ankit Vani <a@nevitus.org>
parents:
34581
diff
changeset
|
30 | #include "pounce.h" |
|
40680
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
31 | #include "purplecredentialmanager.h" |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40332
diff
changeset
|
32 | #include "purpleprivate.h" |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
33 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
34 | static PurpleAccountUiOps *account_ui_ops = NULL; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
35 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
36 | static GList *accounts = NULL; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
37 | static guint save_timer = 0; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
38 | static gboolean accounts_loaded = FALSE; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
39 | |
|
40505
e2c4be9e3aa6
fix some issues that were identified while working on a flatpak build
Gary Kramlich <grim@reaperworld.com>
parents:
40441
diff
changeset
|
40 | static void |
|
e2c4be9e3aa6
fix some issues that were identified while working on a flatpak build
Gary Kramlich <grim@reaperworld.com>
parents:
40441
diff
changeset
|
41 | purple_accounts_network_changed_cb(GNetworkMonitor *m, gboolean available, |
|
e2c4be9e3aa6
fix some issues that were identified while working on a flatpak build
Gary Kramlich <grim@reaperworld.com>
parents:
40441
diff
changeset
|
42 | gpointer data) |
|
e2c4be9e3aa6
fix some issues that were identified while working on a flatpak build
Gary Kramlich <grim@reaperworld.com>
parents:
40441
diff
changeset
|
43 | { |
|
e2c4be9e3aa6
fix some issues that were identified while working on a flatpak build
Gary Kramlich <grim@reaperworld.com>
parents:
40441
diff
changeset
|
44 | if(available) { |
|
e2c4be9e3aa6
fix some issues that were identified while working on a flatpak build
Gary Kramlich <grim@reaperworld.com>
parents:
40441
diff
changeset
|
45 | purple_accounts_restore_current_statuses(); |
|
e2c4be9e3aa6
fix some issues that were identified while working on a flatpak build
Gary Kramlich <grim@reaperworld.com>
parents:
40441
diff
changeset
|
46 | } |
|
e2c4be9e3aa6
fix some issues that were identified while working on a flatpak build
Gary Kramlich <grim@reaperworld.com>
parents:
40441
diff
changeset
|
47 | } |
|
e2c4be9e3aa6
fix some issues that were identified while working on a flatpak build
Gary Kramlich <grim@reaperworld.com>
parents:
40441
diff
changeset
|
48 | |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
49 | /********************************************************************* |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
50 | * Writing to disk * |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
51 | *********************************************************************/ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
52 | static PurpleXmlNode * |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
53 | accounts_to_xmlnode(void) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
54 | { |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
55 | PurpleXmlNode *node, *child; |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
56 | GList *cur; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
57 | |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
58 | node = purple_xmlnode_new("account"); |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
59 | purple_xmlnode_set_attrib(node, "version", "1.0"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
60 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
61 | for (cur = purple_accounts_get_all(); cur != NULL; cur = cur->next) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
62 | { |
|
35178
7c775624f964
Move (_)purple_account_to_xmlnode to internal.h
Ankit Vani <a@nevitus.org>
parents:
35176
diff
changeset
|
63 | child = _purple_account_to_xmlnode(cur->data); |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
64 | purple_xmlnode_insert_child(node, child); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
65 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
66 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
67 | return node; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
68 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
69 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
70 | static void |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
71 | sync_accounts(void) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
72 | { |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
73 | PurpleXmlNode *node; |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
74 | char *data; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
75 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
76 | if (!accounts_loaded) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
77 | { |
|
35176
b0659f31989d
Update debug categories for new filenames
Ankit Vani <a@nevitus.org>
parents:
35091
diff
changeset
|
78 | purple_debug_error("accounts", "Attempted to save accounts before " |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
79 | "they were read!\n"); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
80 | return; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
81 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
82 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
83 | node = accounts_to_xmlnode(); |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
84 | data = purple_xmlnode_to_formatted_str(node, NULL); |
|
39438
e85334959b23
Move more libpurple files to ~/.config.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39352
diff
changeset
|
85 | purple_util_write_data_to_config_file("accounts.xml", data, -1); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
86 | g_free(data); |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
87 | purple_xmlnode_free(node); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
88 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
89 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
90 | static gboolean |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
91 | save_cb(gpointer data) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
92 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
93 | sync_accounts(); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
94 | save_timer = 0; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
95 | return FALSE; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
96 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
97 | |
|
34582
67a520874aa9
Exposed some functions to the header files to resolve dependencies.
Ankit Vani <a@nevitus.org>
parents:
34581
diff
changeset
|
98 | void |
|
67a520874aa9
Exposed some functions to the header files to resolve dependencies.
Ankit Vani <a@nevitus.org>
parents:
34581
diff
changeset
|
99 | purple_accounts_schedule_save(void) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
100 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
101 | if (save_timer == 0) |
|
38433
361c801c4536
Remove purple_timeout_* function usage
Mike Ruprecht <cmaiku@gmail.com>
parents:
37679
diff
changeset
|
102 | save_timer = g_timeout_add_seconds(5, save_cb, NULL); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
103 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
104 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
105 | static void |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
106 | migrate_xmpp_encryption(PurpleAccount *account) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
107 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
108 | /* When this is removed, nuke the "old_ssl" and "require_tls" settings */ |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
109 | if (g_str_equal(purple_account_get_protocol_id(account), "prpl-jabber")) { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
110 | const char *sec = purple_account_get_string(account, "connection_security", ""); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
111 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
112 | if (g_str_equal("", sec)) { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
113 | const char *val = "require_tls"; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
114 | if (purple_account_get_bool(account, "old_ssl", FALSE)) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
115 | val = "old_ssl"; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
116 | else if (!purple_account_get_bool(account, "require_tls", TRUE)) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
117 | val = "opportunistic_tls"; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
118 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
119 | purple_account_set_string(account, "connection_security", val); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
120 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
121 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
122 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
123 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
124 | static void |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
125 | parse_settings(PurpleXmlNode *node, PurpleAccount *account) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
126 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
127 | const char *ui; |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
128 | PurpleXmlNode *child; |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
129 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
130 | /* Get the UI string, if these are UI settings */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
131 | ui = purple_xmlnode_get_attrib(node, "ui"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
132 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
133 | /* Read settings, one by one */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
134 | for (child = purple_xmlnode_get_child(node, "setting"); child != NULL; |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
135 | child = purple_xmlnode_get_next_twin(child)) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
136 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
137 | const char *name, *str_type; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
138 | PurplePrefType type; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
139 | char *data; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
140 | |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
141 | name = purple_xmlnode_get_attrib(child, "name"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
142 | if (name == NULL) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
143 | /* Ignore this setting */ |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
144 | continue; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
145 | |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
146 | str_type = purple_xmlnode_get_attrib(child, "type"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
147 | if (str_type == NULL) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
148 | /* Ignore this setting */ |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
149 | continue; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
150 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
151 | if (purple_strequal(str_type, "string")) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
152 | type = PURPLE_PREF_STRING; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
153 | else if (purple_strequal(str_type, "int")) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
154 | type = PURPLE_PREF_INT; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
155 | else if (purple_strequal(str_type, "bool")) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
156 | type = PURPLE_PREF_BOOLEAN; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
157 | else |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
158 | /* Ignore this setting */ |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
159 | continue; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
160 | |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
161 | data = purple_xmlnode_get_data(child); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
162 | if (data == NULL) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
163 | /* Ignore this setting */ |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
164 | continue; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
165 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
166 | if (ui == NULL) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
167 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
168 | if (type == PURPLE_PREF_STRING) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
169 | purple_account_set_string(account, name, data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
170 | else if (type == PURPLE_PREF_INT) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
171 | purple_account_set_int(account, name, atoi(data)); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
172 | else if (type == PURPLE_PREF_BOOLEAN) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
173 | purple_account_set_bool(account, name, |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
174 | (*data == '0' ? FALSE : TRUE)); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
175 | } else { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
176 | if (type == PURPLE_PREF_STRING) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
177 | purple_account_set_ui_string(account, ui, name, data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
178 | else if (type == PURPLE_PREF_INT) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
179 | purple_account_set_ui_int(account, ui, name, atoi(data)); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
180 | else if (type == PURPLE_PREF_BOOLEAN) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
181 | purple_account_set_ui_bool(account, ui, name, |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
182 | (*data == '0' ? FALSE : TRUE)); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
183 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
184 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
185 | g_free(data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
186 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
187 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
188 | /* we do this here because we need to do it before the user views the |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
189 | * Edit Account dialog. */ |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
190 | migrate_xmpp_encryption(account); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
191 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
192 | |
|
40328
45e719e8d3bc
Replace lists of PurpleAttr with GHashTable
qarkai <qarkai@gmail.com>
parents:
40327
diff
changeset
|
193 | static GHashTable * |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
194 | parse_status_attrs(PurpleXmlNode *node, PurpleStatus *status) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
195 | { |
|
40328
45e719e8d3bc
Replace lists of PurpleAttr with GHashTable
qarkai <qarkai@gmail.com>
parents:
40327
diff
changeset
|
196 | GHashTable *attrs = g_hash_table_new(g_str_hash, g_str_equal); |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
197 | PurpleXmlNode *child; |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
198 | GValue *attr_value; |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
199 | |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
200 | for (child = purple_xmlnode_get_child(node, "attribute"); child != NULL; |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
201 | child = purple_xmlnode_get_next_twin(child)) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
202 | { |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
203 | const char *id = purple_xmlnode_get_attrib(child, "id"); |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
204 | const char *value = purple_xmlnode_get_attrib(child, "value"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
205 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
206 | if (!id || !*id || !value || !*value) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
207 | continue; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
208 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
209 | attr_value = purple_status_get_attr_value(status, id); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
210 | if (!attr_value) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
211 | continue; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
212 | |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
213 | switch (G_VALUE_TYPE(attr_value)) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
214 | { |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
215 | case G_TYPE_STRING: |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40332
diff
changeset
|
216 | g_hash_table_insert(attrs, (char *)id, (char *)value); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
217 | break; |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
218 | case G_TYPE_INT: |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
219 | case G_TYPE_BOOLEAN: |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
220 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
221 | int v; |
|
40328
45e719e8d3bc
Replace lists of PurpleAttr with GHashTable
qarkai <qarkai@gmail.com>
parents:
40327
diff
changeset
|
222 | if (sscanf(value, "%d", &v) == 1) { |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40332
diff
changeset
|
223 | g_hash_table_insert(attrs, (char *)id, GINT_TO_POINTER(v)); |
|
40328
45e719e8d3bc
Replace lists of PurpleAttr with GHashTable
qarkai <qarkai@gmail.com>
parents:
40327
diff
changeset
|
224 | } |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
225 | break; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
226 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
227 | default: |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
228 | break; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
229 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
230 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
231 | |
|
40328
45e719e8d3bc
Replace lists of PurpleAttr with GHashTable
qarkai <qarkai@gmail.com>
parents:
40327
diff
changeset
|
232 | return attrs; |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
233 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
234 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
235 | static void |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
236 | parse_status(PurpleXmlNode *node, PurpleAccount *account) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
237 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
238 | gboolean active = FALSE; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
239 | const char *data; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
240 | const char *type; |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
241 | PurpleXmlNode *child; |
|
40328
45e719e8d3bc
Replace lists of PurpleAttr with GHashTable
qarkai <qarkai@gmail.com>
parents:
40327
diff
changeset
|
242 | GHashTable *attrs = NULL; |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
243 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
244 | /* Get the active/inactive state */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
245 | data = purple_xmlnode_get_attrib(node, "active"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
246 | if (data == NULL) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
247 | return; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
248 | if (g_ascii_strcasecmp(data, "true") == 0) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
249 | active = TRUE; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
250 | else if (g_ascii_strcasecmp(data, "false") == 0) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
251 | active = FALSE; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
252 | else |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
253 | return; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
254 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
255 | /* Get the type of the status */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
256 | type = purple_xmlnode_get_attrib(node, "type"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
257 | if (type == NULL) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
258 | return; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
259 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
260 | /* Read attributes into a GList */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
261 | child = purple_xmlnode_get_child(node, "attributes"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
262 | if (child != NULL) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
263 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
264 | attrs = parse_status_attrs(child, |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
265 | purple_account_get_status(account, type)); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
266 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
267 | |
|
40332
cd2da3a58f6d
Rename purple_account_set_status_list and purple_status_set_active_with_attrs_list
qarkai <qarkai@gmail.com>
parents:
40328
diff
changeset
|
268 | purple_account_set_status_attrs(account, type, active, attrs); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
269 | |
|
40328
45e719e8d3bc
Replace lists of PurpleAttr with GHashTable
qarkai <qarkai@gmail.com>
parents:
40327
diff
changeset
|
270 | g_hash_table_destroy(attrs); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
271 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
272 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
273 | static void |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
274 | parse_statuses(PurpleXmlNode *node, PurpleAccount *account) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
275 | { |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
276 | PurpleXmlNode *child; |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
277 | |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
278 | for (child = purple_xmlnode_get_child(node, "status"); child != NULL; |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
279 | child = purple_xmlnode_get_next_twin(child)) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
280 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
281 | parse_status(child, account); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
282 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
283 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
284 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
285 | static void |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
286 | parse_proxy_info(PurpleXmlNode *node, PurpleAccount *account) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
287 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
288 | PurpleProxyInfo *proxy_info; |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
289 | PurpleXmlNode *child; |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
290 | char *data; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
291 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
292 | proxy_info = purple_proxy_info_new(); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
293 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
294 | /* Use the global proxy settings, by default */ |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35178
diff
changeset
|
295 | purple_proxy_info_set_proxy_type(proxy_info, PURPLE_PROXY_USE_GLOBAL); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
296 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
297 | /* Read proxy type */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
298 | child = purple_xmlnode_get_child(node, "type"); |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
299 | if ((child != NULL) && ((data = purple_xmlnode_get_data(child)) != NULL)) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
300 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
301 | if (purple_strequal(data, "global")) |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35178
diff
changeset
|
302 | purple_proxy_info_set_proxy_type(proxy_info, PURPLE_PROXY_USE_GLOBAL); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
303 | else if (purple_strequal(data, "none")) |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35178
diff
changeset
|
304 | purple_proxy_info_set_proxy_type(proxy_info, PURPLE_PROXY_NONE); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
305 | else if (purple_strequal(data, "http")) |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35178
diff
changeset
|
306 | purple_proxy_info_set_proxy_type(proxy_info, PURPLE_PROXY_HTTP); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
307 | else if (purple_strequal(data, "socks4")) |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35178
diff
changeset
|
308 | purple_proxy_info_set_proxy_type(proxy_info, PURPLE_PROXY_SOCKS4); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
309 | else if (purple_strequal(data, "socks5")) |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35178
diff
changeset
|
310 | purple_proxy_info_set_proxy_type(proxy_info, PURPLE_PROXY_SOCKS5); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
311 | else if (purple_strequal(data, "tor")) |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35178
diff
changeset
|
312 | purple_proxy_info_set_proxy_type(proxy_info, PURPLE_PROXY_TOR); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
313 | else if (purple_strequal(data, "envvar")) |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35178
diff
changeset
|
314 | purple_proxy_info_set_proxy_type(proxy_info, PURPLE_PROXY_USE_ENVVAR); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
315 | else |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
316 | { |
|
35176
b0659f31989d
Update debug categories for new filenames
Ankit Vani <a@nevitus.org>
parents:
35091
diff
changeset
|
317 | purple_debug_error("accounts", "Invalid proxy type found when " |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
318 | "loading account information for %s\n", |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
319 | purple_account_get_username(account)); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
320 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
321 | g_free(data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
322 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
323 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
324 | /* Read proxy host */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
325 | child = purple_xmlnode_get_child(node, "host"); |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
326 | if ((child != NULL) && ((data = purple_xmlnode_get_data(child)) != NULL)) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
327 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
328 | purple_proxy_info_set_host(proxy_info, data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
329 | g_free(data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
330 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
331 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
332 | /* Read proxy port */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
333 | child = purple_xmlnode_get_child(node, "port"); |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
334 | if ((child != NULL) && ((data = purple_xmlnode_get_data(child)) != NULL)) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
335 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
336 | purple_proxy_info_set_port(proxy_info, atoi(data)); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
337 | g_free(data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
338 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
339 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
340 | /* Read proxy username */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
341 | child = purple_xmlnode_get_child(node, "username"); |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
342 | if ((child != NULL) && ((data = purple_xmlnode_get_data(child)) != NULL)) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
343 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
344 | purple_proxy_info_set_username(proxy_info, data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
345 | g_free(data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
346 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
347 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
348 | /* Read proxy password */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
349 | child = purple_xmlnode_get_child(node, "password"); |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
350 | if ((child != NULL) && ((data = purple_xmlnode_get_data(child)) != NULL)) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
351 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
352 | purple_proxy_info_set_password(proxy_info, data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
353 | g_free(data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
354 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
355 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
356 | /* If there are no values set then proxy_info NULL */ |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35178
diff
changeset
|
357 | if ((purple_proxy_info_get_proxy_type(proxy_info) == PURPLE_PROXY_USE_GLOBAL) && |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
358 | (purple_proxy_info_get_host(proxy_info) == NULL) && |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
359 | (purple_proxy_info_get_port(proxy_info) == 0) && |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
360 | (purple_proxy_info_get_username(proxy_info) == NULL) && |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
361 | (purple_proxy_info_get_password(proxy_info) == NULL)) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
362 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
363 | purple_proxy_info_destroy(proxy_info); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
364 | return; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
365 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
366 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
367 | purple_account_set_proxy_info(account, proxy_info); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
368 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
369 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
370 | static void |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
371 | parse_current_error(PurpleXmlNode *node, PurpleAccount *account) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
372 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
373 | guint type; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
374 | char *type_str = NULL, *description = NULL; |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
375 | PurpleXmlNode *child; |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
376 | PurpleConnectionErrorInfo *current_error = NULL; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
377 | |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
378 | child = purple_xmlnode_get_child(node, "type"); |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
379 | if (child == NULL || (type_str = purple_xmlnode_get_data(child)) == NULL) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
380 | return; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
381 | type = atoi(type_str); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
382 | g_free(type_str); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
383 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
384 | if (type > PURPLE_CONNECTION_ERROR_OTHER_ERROR) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
385 | { |
|
35176
b0659f31989d
Update debug categories for new filenames
Ankit Vani <a@nevitus.org>
parents:
35091
diff
changeset
|
386 | purple_debug_error("accounts", |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
387 | "Invalid PurpleConnectionError value %d found when " |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
388 | "loading account information for %s\n", |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
389 | type, purple_account_get_username(account)); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
390 | type = PURPLE_CONNECTION_ERROR_OTHER_ERROR; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
391 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
392 | |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
393 | child = purple_xmlnode_get_child(node, "description"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
394 | if (child) |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
395 | description = purple_xmlnode_get_data(child); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
396 | if (description == NULL) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
397 | description = g_strdup(""); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
398 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
399 | current_error = g_new0(PurpleConnectionErrorInfo, 1); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
400 | current_error->type = type; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
401 | current_error->description = description; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
402 | |
|
34767
38a5613c3e26
Prepended functions private to a subsystem but used over multiple files by underscore
Ankit Vani <a@nevitus.org>
parents:
34765
diff
changeset
|
403 | _purple_account_set_current_error(account, current_error); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
404 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
405 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
406 | static PurpleAccount * |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
407 | parse_account(PurpleXmlNode *node) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
408 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
409 | PurpleAccount *ret; |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
410 | PurpleXmlNode *child; |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
411 | char *protocol_id = NULL; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
412 | char *name = NULL; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
413 | char *data; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
414 | |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
415 | child = purple_xmlnode_get_child(node, "protocol"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
416 | if (child != NULL) |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
417 | protocol_id = purple_xmlnode_get_data(child); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
418 | |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
419 | child = purple_xmlnode_get_child(node, "name"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
420 | if (child != NULL) |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
421 | name = purple_xmlnode_get_data(child); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
422 | if (name == NULL) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
423 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
424 | /* Do we really need to do this? */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
425 | child = purple_xmlnode_get_child(node, "username"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
426 | if (child != NULL) |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
427 | name = purple_xmlnode_get_data(child); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
428 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
429 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
430 | if ((protocol_id == NULL) || (name == NULL)) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
431 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
432 | g_free(protocol_id); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
433 | g_free(name); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
434 | return NULL; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
435 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
436 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
437 | ret = purple_account_new(name, protocol_id); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
438 | g_free(name); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
439 | g_free(protocol_id); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
440 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
441 | /* Read the alias */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
442 | child = purple_xmlnode_get_child(node, "alias"); |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
443 | if ((child != NULL) && ((data = purple_xmlnode_get_data(child)) != NULL)) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
444 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
445 | if (*data != '\0') |
|
34589
428e92c79631
Renamed purple_account_[get,set]_alias to purple_account[get,set]_private_alias.
Ankit Vani <a@nevitus.org>
parents:
34588
diff
changeset
|
446 | purple_account_set_private_alias(ret, data); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
447 | g_free(data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
448 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
449 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
450 | /* Read the statuses */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
451 | child = purple_xmlnode_get_child(node, "statuses"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
452 | if (child != NULL) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
453 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
454 | parse_statuses(child, ret); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
455 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
456 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
457 | /* Read the userinfo */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
458 | child = purple_xmlnode_get_child(node, "userinfo"); |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
459 | if ((child != NULL) && ((data = purple_xmlnode_get_data(child)) != NULL)) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
460 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
461 | purple_account_set_user_info(ret, data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
462 | g_free(data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
463 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
464 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
465 | /* Read an old buddyicon */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
466 | child = purple_xmlnode_get_child(node, "buddyicon"); |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
467 | if ((child != NULL) && ((data = purple_xmlnode_get_data(child)) != NULL)) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
468 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
469 | const char *dirname = purple_buddy_icons_get_cache_dir(); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
470 | char *filename = g_build_filename(dirname, data, NULL); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
471 | gchar *contents; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
472 | gsize len; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
473 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
474 | if (g_file_get_contents(filename, &contents, &len, NULL)) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
475 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
476 | purple_buddy_icons_set_account_icon(ret, (guchar *)contents, len); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
477 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
478 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
479 | g_free(filename); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
480 | g_free(data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
481 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
482 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
483 | /* Read settings (both core and UI) */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
484 | for (child = purple_xmlnode_get_child(node, "settings"); child != NULL; |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
485 | child = purple_xmlnode_get_next_twin(child)) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
486 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
487 | parse_settings(child, ret); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
488 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
489 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
490 | /* Read proxy */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
491 | child = purple_xmlnode_get_child(node, "proxy"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
492 | if (child != NULL) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
493 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
494 | parse_proxy_info(child, ret); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
495 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
496 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
497 | /* Read current error */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
498 | child = purple_xmlnode_get_child(node, "current_error"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
499 | if (child != NULL) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
500 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
501 | parse_current_error(child, ret); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
502 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
503 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
504 | /* Read the password */ |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
505 | child = purple_xmlnode_get_child(node, "password"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
506 | if (child != NULL) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
507 | { |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
508 | const char *keyring_id = purple_xmlnode_get_attrib(child, "keyring_id"); |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
509 | const char *mode = purple_xmlnode_get_attrib(child, "mode"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
510 | gboolean result; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
511 | |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
512 | data = purple_xmlnode_get_data(child); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
513 | result = purple_keyring_import_password(ret, keyring_id, mode, data, NULL); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
514 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
515 | if (result == TRUE || purple_keyring_get_inuse() == NULL) { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
516 | purple_account_set_remember_password(ret, TRUE); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
517 | } else { |
|
35176
b0659f31989d
Update debug categories for new filenames
Ankit Vani <a@nevitus.org>
parents:
35091
diff
changeset
|
518 | purple_debug_error("accounts", "Failed to import password.\n"); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
519 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
520 | purple_str_wipe(data); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
521 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
522 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
523 | return ret; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
524 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
525 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
526 | static void |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
527 | load_accounts(void) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
528 | { |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
529 | PurpleXmlNode *node, *child; |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
530 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
531 | accounts_loaded = TRUE; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
532 | |
|
39438
e85334959b23
Move more libpurple files to ~/.config.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39352
diff
changeset
|
533 | node = purple_util_read_xml_from_config_file("accounts.xml", _("accounts")); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
534 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
535 | if (node == NULL) |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
536 | return; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
537 | |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
538 | for (child = purple_xmlnode_get_child(node, "account"); child != NULL; |
|
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
539 | child = purple_xmlnode_get_next_twin(child)) |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
540 | { |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
541 | PurpleAccount *new_acct; |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
542 | new_acct = parse_account(child); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
543 | purple_accounts_add(new_acct); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
544 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
545 | |
|
34935
686fa55b0deb
Replaced xmlnode with PurpleXmlNode, and xmlnode_* API with purple_xmlnode_* API
Ankit Vani <a@nevitus.org>
parents:
34889
diff
changeset
|
546 | purple_xmlnode_free(node); |
|
34579
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
547 | |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
548 | _purple_buddy_icons_account_loaded_cb(); |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
549 | } |
|
e718d0eea155
Moved some local functions from account.c to accounts.c
Ankit Vani <a@nevitus.org>
parents:
34574
diff
changeset
|
550 | |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
551 | void |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
552 | purple_accounts_add(PurpleAccount *account) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
553 | { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
554 | g_return_if_fail(account != NULL); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
555 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
556 | if (g_list_find(accounts, account) != NULL) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
557 | return; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
558 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
559 | accounts = g_list_append(accounts, account); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
560 | |
|
34582
67a520874aa9
Exposed some functions to the header files to resolve dependencies.
Ankit Vani <a@nevitus.org>
parents:
34581
diff
changeset
|
561 | purple_accounts_schedule_save(); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
562 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
563 | purple_signal_emit(purple_accounts_get_handle(), "account-added", account); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
564 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
565 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
566 | void |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
567 | purple_accounts_remove(PurpleAccount *account) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
568 | { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
569 | g_return_if_fail(account != NULL); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
570 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
571 | accounts = g_list_remove(accounts, account); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
572 | |
|
34582
67a520874aa9
Exposed some functions to the header files to resolve dependencies.
Ankit Vani <a@nevitus.org>
parents:
34581
diff
changeset
|
573 | purple_accounts_schedule_save(); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
574 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
575 | /* Clearing the error ensures that account-error-changed is emitted, |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
576 | * which is the end of the guarantee that the the error's pointer is |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
577 | * valid. |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
578 | */ |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
579 | purple_account_clear_current_error(account); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
580 | purple_signal_emit(purple_accounts_get_handle(), "account-removed", account); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
581 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
582 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
583 | static void |
|
40680
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
584 | purple_accounts_delete_set(GObject *obj, GAsyncResult *res, gpointer d) { |
|
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
585 | PurpleCredentialManager *manager = PURPLE_CREDENTIAL_MANAGER(obj); |
|
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
586 | PurpleAccount *account = PURPLE_ACCOUNT(d); |
|
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
587 | gboolean r = FALSE; |
|
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
588 | |
|
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
589 | r = purple_credential_manager_clear_password_finish(manager, res, NULL); |
|
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
590 | if(r != TRUE) { |
|
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
591 | purple_debug_warning("accounts", |
|
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
592 | "Failed to remove password for account %s", |
|
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
593 | purple_account_get_name_for_display(account)); |
|
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
594 | } |
|
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
595 | |
|
34588
1379416703af
Removed purple_account_destroy function declaration, use g_object_unref() instead.
Ankit Vani <a@nevitus.org>
parents:
34582
diff
changeset
|
596 | g_object_unref(G_OBJECT(account)); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
597 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
598 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
599 | void |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
600 | purple_accounts_delete(PurpleAccount *account) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
601 | { |
|
34864
0e292d8887de
Renamed PurpleBListNode back to PurpleBlistNode
Ankit Vani <a@nevitus.org>
parents:
34812
diff
changeset
|
602 | PurpleBlistNode *gnode, *cnode, *bnode; |
|
40680
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
603 | PurpleCredentialManager *manager = NULL; |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
604 | GList *iter; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
605 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
606 | g_return_if_fail(account != NULL); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
607 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
608 | /* |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
609 | * Disable the account before blowing it out of the water. |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
610 | * Conceptually it probably makes more sense to disable the |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
611 | * account for all UIs rather than the just the current UI, |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
612 | * but it doesn't really matter. |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
613 | */ |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
614 | purple_account_set_enabled(account, purple_core_get_ui(), FALSE); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
615 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
616 | purple_notify_close_with_handle(account); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
617 | purple_request_close_with_handle(account); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
618 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
619 | purple_accounts_remove(account); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
620 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
621 | /* Remove this account's buddies */ |
|
39665
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39438
diff
changeset
|
622 | for (gnode = purple_blist_get_default_root(); gnode != NULL; |
|
2172e3b8eeef
Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39438
diff
changeset
|
623 | gnode = purple_blist_node_get_sibling_next(gnode)) { |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34656
diff
changeset
|
624 | if (!PURPLE_IS_GROUP(gnode)) |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
625 | continue; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
626 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
627 | cnode = purple_blist_node_get_first_child(gnode); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
628 | while (cnode) { |
|
34864
0e292d8887de
Renamed PurpleBListNode back to PurpleBlistNode
Ankit Vani <a@nevitus.org>
parents:
34812
diff
changeset
|
629 | PurpleBlistNode *cnode_next = purple_blist_node_get_sibling_next(cnode); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
630 | |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34656
diff
changeset
|
631 | if(PURPLE_IS_CONTACT(cnode)) { |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
632 | bnode = purple_blist_node_get_first_child(cnode); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
633 | while (bnode) { |
|
34864
0e292d8887de
Renamed PurpleBListNode back to PurpleBlistNode
Ankit Vani <a@nevitus.org>
parents:
34812
diff
changeset
|
634 | PurpleBlistNode *bnode_next = purple_blist_node_get_sibling_next(bnode); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
635 | |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34656
diff
changeset
|
636 | if (PURPLE_IS_BUDDY(bnode)) { |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
637 | PurpleBuddy *b = (PurpleBuddy *)bnode; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
638 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
639 | if (purple_buddy_get_account(b) == account) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
640 | purple_blist_remove_buddy(b); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
641 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
642 | bnode = bnode_next; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
643 | } |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34656
diff
changeset
|
644 | } else if (PURPLE_IS_CHAT(cnode)) { |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
645 | PurpleChat *c = (PurpleChat *)cnode; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
646 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
647 | if (purple_chat_get_account(c) == account) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
648 | purple_blist_remove_chat(c); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
649 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
650 | cnode = cnode_next; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
651 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
652 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
653 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
654 | /* Remove any open conversation for this account */ |
|
34656
adbcbe04077c
Refactored remaining libpurple to use the GObject conversation API
Ankit Vani <a@nevitus.org>
parents:
34645
diff
changeset
|
655 | for (iter = purple_conversations_get_all(); iter; ) { |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
656 | PurpleConversation *conv = iter->data; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
657 | iter = iter->next; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
658 | if (purple_conversation_get_account(conv) == account) |
|
34645
a04c721bebf1
Refactored accounts, blist, cmds and connection to use the GObject conversation API
Ankit Vani <a@nevitus.org>
parents:
34622
diff
changeset
|
659 | g_object_unref(conv); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
660 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
661 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
662 | /* Remove this account's pounces */ |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
663 | purple_pounce_destroy_all_by_account(account); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
664 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
665 | /* This will cause the deletion of an old buddy icon. */ |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
666 | purple_buddy_icons_set_account_icon(account, NULL, 0); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
667 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
668 | /* This is async because we do not want the |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
669 | * account being overwritten before we are done. |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
670 | */ |
|
40680
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
671 | manager = purple_credential_manager_get_default(); |
|
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
672 | purple_credential_manager_clear_password_async(manager, account, NULL, |
|
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
673 | purple_accounts_delete_set, |
|
f9ea6d5e8992
Use PurpleCredentialManager instead of the old keyring api.
Gary Kramlich <grim@reaperworld.com>
parents:
40570
diff
changeset
|
674 | NULL); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
675 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
676 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
677 | void |
| 34889 | 678 | purple_accounts_reorder(PurpleAccount *account, guint new_index) |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
679 | { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
680 | gint index; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
681 | GList *l; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
682 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
683 | g_return_if_fail(account != NULL); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
684 | g_return_if_fail(new_index <= g_list_length(accounts)); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
685 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
686 | index = g_list_index(accounts, account); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
687 | |
| 34889 | 688 | if (index < 0) { |
|
35176
b0659f31989d
Update debug categories for new filenames
Ankit Vani <a@nevitus.org>
parents:
35091
diff
changeset
|
689 | purple_debug_error("accounts", |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
690 | "Unregistered account (%s) discovered during reorder!\n", |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
691 | purple_account_get_username(account)); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
692 | return; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
693 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
694 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
695 | l = g_list_nth(accounts, index); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
696 | |
| 34889 | 697 | if (new_index > (guint)index) |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
698 | new_index--; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
699 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
700 | /* Remove the old one. */ |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
701 | accounts = g_list_delete_link(accounts, l); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
702 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
703 | /* Insert it where it should go. */ |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
704 | accounts = g_list_insert(accounts, account, new_index); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
705 | |
|
34582
67a520874aa9
Exposed some functions to the header files to resolve dependencies.
Ankit Vani <a@nevitus.org>
parents:
34581
diff
changeset
|
706 | purple_accounts_schedule_save(); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
707 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
708 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
709 | GList * |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
710 | purple_accounts_get_all(void) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
711 | { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
712 | return accounts; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
713 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
714 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
715 | GList * |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
716 | purple_accounts_get_all_active(void) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
717 | { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
718 | GList *list = NULL; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
719 | GList *all = purple_accounts_get_all(); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
720 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
721 | while (all != NULL) { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
722 | PurpleAccount *account = all->data; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
723 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
724 | if (purple_account_get_enabled(account, purple_core_get_ui())) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
725 | list = g_list_append(list, account); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
726 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
727 | all = all->next; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
728 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
729 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
730 | return list; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
731 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
732 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
733 | PurpleAccount * |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
734 | purple_accounts_find(const char *name, const char *protocol_id) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
735 | { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
736 | PurpleAccount *account = NULL; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
737 | GList *l; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
738 | char *who; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
739 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
740 | g_return_val_if_fail(name != NULL, NULL); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
741 | g_return_val_if_fail(protocol_id != NULL, NULL); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
742 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
743 | for (l = purple_accounts_get_all(); l != NULL; l = l->next) { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
744 | account = (PurpleAccount *)l->data; |
|
34581
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
745 | |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
746 | if (!purple_strequal(purple_account_get_protocol_id(account), protocol_id)) |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
747 | continue; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
748 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
749 | who = g_strdup(purple_normalize(account, name)); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
750 | if (purple_strequal(purple_normalize(account, purple_account_get_username(account)), who)) { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
751 | g_free(who); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
752 | return account; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
753 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
754 | g_free(who); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
755 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
756 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
757 | return NULL; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
758 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
759 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
760 | void |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
761 | purple_accounts_restore_current_statuses() |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
762 | { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
763 | GList *l; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
764 | PurpleAccount *account; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
765 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
766 | /* If we're not connected to the Internet right now, we bail on this */ |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
767 | if (!purple_network_is_available()) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
768 | { |
|
35176
b0659f31989d
Update debug categories for new filenames
Ankit Vani <a@nevitus.org>
parents:
35091
diff
changeset
|
769 | purple_debug_warning("accounts", "Network not connected; skipping reconnect\n"); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
770 | return; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
771 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
772 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
773 | for (l = purple_accounts_get_all(); l != NULL; l = l->next) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
774 | { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
775 | account = (PurpleAccount *)l->data; |
|
34581
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
776 | |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
777 | if (purple_account_get_enabled(account, purple_core_get_ui()) && |
|
34581
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
778 | (purple_presence_is_online(purple_account_get_presence(account)))) |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
779 | { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
780 | purple_account_connect(account); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
781 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
782 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
783 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
784 | |
| 35572 | 785 | static PurpleAccountUiOps * |
| 786 | purple_account_ui_ops_copy(PurpleAccountUiOps *ops) | |
| 787 | { | |
| 788 | PurpleAccountUiOps *ops_new; | |
| 789 | ||
| 790 | g_return_val_if_fail(ops != NULL, NULL); | |
| 791 | ||
| 792 | ops_new = g_new(PurpleAccountUiOps, 1); | |
| 793 | *ops_new = *ops; | |
| 794 | ||
| 795 | return ops_new; | |
| 796 | } | |
| 797 | ||
| 798 | GType | |
| 799 | purple_account_ui_ops_get_type(void) | |
| 800 | { | |
| 801 | static GType type = 0; | |
| 802 | ||
| 803 | if (type == 0) { | |
| 804 | type = g_boxed_type_register_static("PurpleAccountUiOps", | |
| 805 | (GBoxedCopyFunc)purple_account_ui_ops_copy, | |
|
35597
7fcfcf147b99
Use g_free as UiOps structures GBoxed free function
Ankit Vani <a@nevitus.org>
parents:
35572
diff
changeset
|
806 | (GBoxedFreeFunc)g_free); |
| 35572 | 807 | } |
| 808 | ||
| 809 | return type; | |
| 810 | } | |
| 811 | ||
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
812 | void |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
813 | purple_accounts_set_ui_ops(PurpleAccountUiOps *ops) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
814 | { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
815 | account_ui_ops = ops; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
816 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
817 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
818 | PurpleAccountUiOps * |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
819 | purple_accounts_get_ui_ops(void) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
820 | { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
821 | return account_ui_ops; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
822 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
823 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
824 | void * |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
825 | purple_accounts_get_handle(void) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
826 | { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
827 | static int handle; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
828 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
829 | return &handle; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
830 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
831 | |
|
34581
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
832 | static void |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
833 | signed_on_cb(PurpleConnection *gc, |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
834 | gpointer unused) |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
835 | { |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
836 | PurpleAccount *account = purple_connection_get_account(gc); |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
837 | purple_account_clear_current_error(account); |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
838 | |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
839 | purple_signal_emit(purple_accounts_get_handle(), "account-signed-on", |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
840 | account); |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
841 | } |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
842 | |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
843 | static void |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
844 | signed_off_cb(PurpleConnection *gc, |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
845 | gpointer unused) |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
846 | { |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
847 | PurpleAccount *account = purple_connection_get_account(gc); |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
848 | |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
849 | purple_signal_emit(purple_accounts_get_handle(), "account-signed-off", |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
850 | account); |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
851 | } |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
852 | |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
853 | static void |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
854 | connection_error_cb(PurpleConnection *gc, |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
855 | PurpleConnectionError type, |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
856 | const gchar *description, |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
857 | gpointer unused) |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
858 | { |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
859 | PurpleAccount *account; |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
860 | PurpleConnectionErrorInfo *err; |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
861 | |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
862 | account = purple_connection_get_account(gc); |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
863 | |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
864 | g_return_if_fail(account != NULL); |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
865 | |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
866 | err = g_new0(PurpleConnectionErrorInfo, 1); |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
867 | |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
868 | err->type = type; |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
869 | err->description = g_strdup(description); |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
870 | |
|
34767
38a5613c3e26
Prepended functions private to a subsystem but used over multiple files by underscore
Ankit Vani <a@nevitus.org>
parents:
34765
diff
changeset
|
871 | _purple_account_set_current_error(account, err); |
|
34581
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
872 | |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
873 | purple_signal_emit(purple_accounts_get_handle(), "account-connection-error", |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
874 | account, type, description); |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
875 | } |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
876 | |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
877 | static void |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
878 | password_migration_cb(PurpleAccount *account) |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
879 | { |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
880 | /* account may be NULL (means: all) */ |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
881 | |
|
34582
67a520874aa9
Exposed some functions to the header files to resolve dependencies.
Ankit Vani <a@nevitus.org>
parents:
34581
diff
changeset
|
882 | purple_accounts_schedule_save(); |
|
34581
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
883 | } |
|
b4e0236019e6
Fixed more PurpleAccount stuff.
Ankit Vani <a@nevitus.org>
parents:
34580
diff
changeset
|
884 | |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
885 | void |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
886 | purple_accounts_init(void) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
887 | { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
888 | void *handle = purple_accounts_get_handle(); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
889 | void *conn_handle = purple_connections_get_handle(); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
890 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
891 | purple_signal_register(handle, "account-connecting", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
892 | purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
893 | PURPLE_TYPE_ACCOUNT); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
894 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
895 | purple_signal_register(handle, "account-disabled", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
896 | purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
897 | PURPLE_TYPE_ACCOUNT); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
898 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
899 | purple_signal_register(handle, "account-enabled", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
900 | purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
901 | PURPLE_TYPE_ACCOUNT); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
902 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
903 | purple_signal_register(handle, "account-setting-info", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
904 | purple_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
905 | PURPLE_TYPE_ACCOUNT, G_TYPE_STRING); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
906 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
907 | purple_signal_register(handle, "account-set-info", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
908 | purple_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
909 | PURPLE_TYPE_ACCOUNT, G_TYPE_STRING); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
910 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
911 | purple_signal_register(handle, "account-created", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
912 | purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
913 | PURPLE_TYPE_ACCOUNT); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
914 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
915 | purple_signal_register(handle, "account-destroying", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
916 | purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
917 | PURPLE_TYPE_ACCOUNT); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
918 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
919 | purple_signal_register(handle, "account-added", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
920 | purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
921 | PURPLE_TYPE_ACCOUNT); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
922 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
923 | purple_signal_register(handle, "account-removed", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
924 | purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
925 | PURPLE_TYPE_ACCOUNT); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
926 | |
|
37679
6ff708c38c04
Add "account-status-changing" signal from instantbird
Florian Quèze <florian@instantbird.org>
parents:
37195
diff
changeset
|
927 | purple_signal_register(handle, "account-status-changing", |
|
6ff708c38c04
Add "account-status-changing" signal from instantbird
Florian Quèze <florian@instantbird.org>
parents:
37195
diff
changeset
|
928 | purple_marshal_VOID__POINTER_POINTER_POINTER, |
|
6ff708c38c04
Add "account-status-changing" signal from instantbird
Florian Quèze <florian@instantbird.org>
parents:
37195
diff
changeset
|
929 | G_TYPE_NONE, 3, PURPLE_TYPE_ACCOUNT, |
|
6ff708c38c04
Add "account-status-changing" signal from instantbird
Florian Quèze <florian@instantbird.org>
parents:
37195
diff
changeset
|
930 | PURPLE_TYPE_STATUS, PURPLE_TYPE_STATUS); |
|
6ff708c38c04
Add "account-status-changing" signal from instantbird
Florian Quèze <florian@instantbird.org>
parents:
37195
diff
changeset
|
931 | |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
932 | purple_signal_register(handle, "account-status-changed", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
933 | purple_marshal_VOID__POINTER_POINTER_POINTER, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
934 | G_TYPE_NONE, 3, PURPLE_TYPE_ACCOUNT, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
935 | PURPLE_TYPE_STATUS, PURPLE_TYPE_STATUS); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
936 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
937 | purple_signal_register(handle, "account-actions-changed", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
938 | purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
939 | PURPLE_TYPE_ACCOUNT); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
940 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
941 | purple_signal_register(handle, "account-alias-changed", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
942 | purple_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
943 | PURPLE_TYPE_ACCOUNT, G_TYPE_STRING); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
944 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
945 | purple_signal_register(handle, "account-authorization-requested", |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
946 | purple_marshal_INT__POINTER_POINTER_POINTER, |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
947 | G_TYPE_INT, 4, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
948 | G_TYPE_STRING, G_TYPE_STRING); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
949 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
950 | purple_signal_register(handle, "account-authorization-denied", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
951 | purple_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 3, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
952 | PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, G_TYPE_STRING); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
953 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
954 | purple_signal_register(handle, "account-authorization-granted", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
955 | purple_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 3, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
956 | PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, G_TYPE_STRING); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
957 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
958 | purple_signal_register(handle, "account-error-changed", |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
959 | purple_marshal_VOID__POINTER_POINTER_POINTER, |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
960 | G_TYPE_NONE, 3, PURPLE_TYPE_ACCOUNT, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
961 | PURPLE_TYPE_CONNECTION_ERROR_INFO, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
962 | PURPLE_TYPE_CONNECTION_ERROR_INFO); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
963 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
964 | purple_signal_register(handle, "account-signed-on", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
965 | purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
966 | PURPLE_TYPE_ACCOUNT); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
967 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
968 | purple_signal_register(handle, "account-signed-off", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
969 | purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
970 | PURPLE_TYPE_ACCOUNT); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
971 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
972 | purple_signal_register(handle, "account-connection-error", |
|
34812
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
973 | purple_marshal_VOID__POINTER_INT_POINTER, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
974 | G_TYPE_NONE, 3, PURPLE_TYPE_ACCOUNT, |
|
3d6f7d9dc21d
Refactored account, buddylist, certificate to use GType and GValue instead of PurpleType and PurpleValue
Ankit Vani <a@nevitus.org>
parents:
34767
diff
changeset
|
975 | PURPLE_TYPE_CONNECTION_ERROR, G_TYPE_STRING); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
976 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
977 | purple_signal_connect(conn_handle, "signed-on", handle, |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
978 | PURPLE_CALLBACK(signed_on_cb), NULL); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
979 | purple_signal_connect(conn_handle, "signed-off", handle, |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
980 | PURPLE_CALLBACK(signed_off_cb), NULL); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
981 | purple_signal_connect(conn_handle, "connection-error", handle, |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
982 | PURPLE_CALLBACK(connection_error_cb), NULL); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
983 | purple_signal_connect(purple_keyring_get_handle(), "password-migration", handle, |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
984 | PURPLE_CALLBACK(password_migration_cb), NULL); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
985 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
986 | load_accounts(); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
987 | |
|
40505
e2c4be9e3aa6
fix some issues that were identified while working on a flatpak build
Gary Kramlich <grim@reaperworld.com>
parents:
40441
diff
changeset
|
988 | g_signal_connect(G_OBJECT(g_network_monitor_get_default()), |
|
e2c4be9e3aa6
fix some issues that were identified while working on a flatpak build
Gary Kramlich <grim@reaperworld.com>
parents:
40441
diff
changeset
|
989 | "network-changed", |
|
40512
05663def7b82
Fix some easy compiler warnings
Gary Kramlich <grim@reaperworld.com>
parents:
40505
diff
changeset
|
990 | G_CALLBACK(purple_accounts_network_changed_cb), NULL); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
991 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
992 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
993 | void |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
994 | purple_accounts_uninit(void) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
995 | { |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
996 | gpointer handle = purple_accounts_get_handle(); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
997 | if (save_timer != 0) |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
998 | { |
|
38433
361c801c4536
Remove purple_timeout_* function usage
Mike Ruprecht <cmaiku@gmail.com>
parents:
37679
diff
changeset
|
999 | g_source_remove(save_timer); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1000 | save_timer = 0; |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1001 | sync_accounts(); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1002 | } |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1003 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1004 | for (; accounts; accounts = g_list_delete_link(accounts, accounts)) |
|
34588
1379416703af
Removed purple_account_destroy function declaration, use g_object_unref() instead.
Ankit Vani <a@nevitus.org>
parents:
34582
diff
changeset
|
1005 | g_object_unref(G_OBJECT(accounts->data)); |
|
34574
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1006 | |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1007 | purple_signals_disconnect_by_handle(handle); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1008 | purple_signals_unregister_by_instance(handle); |
|
19850cd1b2de
Begun GObjectification of PurpleAccount. Moved things around, see details.
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1009 | } |