libpurple/core.c

Tue, 20 Feb 2024 01:23:04 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Tue, 20 Feb 2024 01:23:04 -0600
changeset 42594
eddde70cedd8
parent 42475
ce06ca18db9b
child 42644
efe66edc9676
permissions
-rw-r--r--

Create a test for verifying license headers and correct the ones that were wrong

We might want to move check_license_header.py script out to somewhere else,
but this is fine for now as we're just getting things going.

Testing Done:
Compiled with the Turtles.

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

42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42475
diff changeset
1 /*
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42475
diff changeset
2 * Purple - Internet Messaging Library
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42475
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
2416
32a1499fe87e [gaim-migrate @ 2429]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
4 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
5 * Purple is the legal property of its developers, whose names are too numerous
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42475
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7646
diff changeset
7 * source distribution.
2416
32a1499fe87e [gaim-migrate @ 2429]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
8 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42475
diff changeset
9 * This library is free software; you can redistribute it and/or modify it
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42475
diff changeset
10 * under the terms of the GNU General Public License as published by the Free
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42475
diff changeset
11 * Software Foundation; either version 2 of the License, or (at your option)
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42475
diff changeset
12 * any later version.
2416
32a1499fe87e [gaim-migrate @ 2429]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
13 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42475
diff changeset
14 * This library is distributed in the hope that it will be useful, but WITHOUT
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42475
diff changeset
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42475
diff changeset
16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42475
diff changeset
17 * more details.
2416
32a1499fe87e [gaim-migrate @ 2429]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
18 *
42594
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42475
diff changeset
19 * You should have received a copy of the GNU General Public License along with
eddde70cedd8 Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents: 42475
diff changeset
20 * this library; if not, see <https://www.gnu.org/licenses/>.
2416
32a1499fe87e [gaim-migrate @ 2429]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21 */
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
22
42410
563e7a17c220 Fix possible clash of config headers
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42383
diff changeset
23 #include <purpleconfig.h>
563e7a17c220 Fix possible clash of config headers
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42383
diff changeset
24
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
25 #include <glib/gi18n-lib.h>
41660
6a4db60af05b Prepare GSettings schemas and a default settings backend
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41433
diff changeset
26 #define G_SETTINGS_ENABLE_BACKEND
6a4db60af05b Prepare GSettings schemas and a default settings backend
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41433
diff changeset
27 #include <gio/gsettingsbackend.h>
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
28
23555
82dab41b4163 cmd-added and cmd-removed signals to emit when commands are registered/unregistered.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23345
diff changeset
29 #include "cmds.h"
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
30 #include "connection.h"
41137
3c1574216aed Now that the History API is here, remove the purple logging api
Gary Kramlich <grim@reaperworld.com>
parents: 41120
diff changeset
31 #include "conversations.h"
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
32 #include "core.h"
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
33 #include "debug.h"
34910
60502558e400 Replacements for the GObject Xfer API
Ankit Vani <a@nevitus.org>
parents: 34883
diff changeset
34 #include "xfer.h"
12272
4eee92ead973 [gaim-migrate @ 14574]
Mark Doliner <markdoliner@pidgin.im>
parents: 12129
diff changeset
35 #include "idle.h"
35803
caa6f35efd7a Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
36 #include "image-store.h"
8231
347c8992c445 [gaim-migrate @ 8954]
Tim Ringenbach <marv@pidgin.im>
parents: 8046
diff changeset
37 #include "network.h"
12129
314cd0274e6a [gaim-migrate @ 14429]
Ka-Hing Cheung <khc@pidgin.im>
parents: 12080
diff changeset
38 #include "notify.h"
36367
891eea799578 Renamed plugin.[ch] to plugins.[ch], since we (will) no longer have a PurplePlugin structure.
Ankit Vani <a@nevitus.org>
parents: 34855
diff changeset
39 #include "plugins.h"
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
40 #include "prefs.h"
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
41 #include "proxy.h"
40853
d3518ff99fa7 rename conversation.[ch] to purpleconversation.[ch] and split PurpleConversationUiOps out to its own file to avoid circular include issues.
Gary Kramlich <grim@reaperworld.com>
parents: 40743
diff changeset
42 #include "purpleconversation.h"
40743
7aa6153abf4d Create a no operation credential provider and fix a number of other issues
Gary Kramlich <grim@reaperworld.com>
parents: 40735
diff changeset
43 #include "purplecredentialmanager.h"
41166
20d88cadf7fc Clean up some issues during shutdown that were outputting warnings
Gary Kramlich <grim@reaperworld.com>
parents: 41137
diff changeset
44 #include "purplehistorymanager.h"
42383
e8302a55fddb Create PurpleIdleManager for managing idle states
Gary Kramlich <grim@reaperworld.com>
parents: 42374
diff changeset
45 #include "purpleidlemanagerprivate.h"
40696
cf58ec89b1e4 Rename message.[ch] to purplemessage.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
46 #include "purplemessage.h"
41237
5098e0dd3a09 Move the path based functions from util.c to their own file.
Gary Kramlich <grim@reaperworld.com>
parents: 41236
diff changeset
47 #include "purplepath.h"
42475
ce06ca18db9b Integrate PurplePresenceManager with the core and uis
Gary Kramlich <grim@reaperworld.com>
parents: 42473
diff changeset
48 #include "purplepresencemanagerprivate.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: 40348
diff changeset
49 #include "purpleprivate.h"
10418
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents: 10322
diff changeset
50 #include "savedstatuses.h"
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
51 #include "signals.h"
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9649
diff changeset
52 #include "status.h"
16409
8c153c6febdd The core portion of the migration code. This is implemented as I described
Richard Laager <rlaager@pidgin.im>
parents: 16124
diff changeset
53 #include "util.h"
41877
11e7400101d2 Fix libpurple compile on Windows
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41873
diff changeset
54 #ifdef _WIN32
11e7400101d2 Fix libpurple compile on Windows
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41873
diff changeset
55 #include "win32/win32dep.h"
11e7400101d2 Fix libpurple compile on Windows
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41873
diff changeset
56 #endif
2416
32a1499fe87e [gaim-migrate @ 2429]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
57
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
58 struct PurpleCore
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
59 {
41867
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
60 PurpleUi *ui;
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
61
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
62 void *reserved;
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
63 };
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
64
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
65 static PurpleCore *_core = NULL;
41660
6a4db60af05b Prepare GSettings schemas and a default settings backend
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41433
diff changeset
66 static GSettingsBackend *settings_backend = NULL;
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
67
34297
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
68 static void
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
69 purple_core_print_version(void)
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
70 {
41867
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
71 PurpleUi *ui = purple_core_get_ui();
40336
4e766d681de5 purple_core_get_ui_info now transfers the PurpleUiInfo to the caller, so we need to make sure to not cache it.
Gary Kramlich <grim@reaperworld.com>
parents: 40313
diff changeset
72 const gchar *ui_name = NULL;
4e766d681de5 purple_core_get_ui_info now transfers the PurpleUiInfo to the caller, so we need to make sure to not cache it.
Gary Kramlich <grim@reaperworld.com>
parents: 40313
diff changeset
73 const gchar *ui_version = NULL;
34297
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
74 gchar *ui_full_name = NULL;
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
75
41867
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
76 if(PURPLE_IS_UI(ui)) {
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
77 ui_name = purple_ui_get_name(ui);
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
78 ui_version = purple_ui_get_version(ui);
40313
d0f01217e491 the ui can return a null PurpleUiInfo so we need to handle that
Gary Kramlich <grim@reaperworld.com>
parents: 40312
diff changeset
79 }
34297
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
80
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
81 if (ui_name) {
39918
1c8e11f9274f Fix several memory leaks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39441
diff changeset
82 if (ui_version) {
1c8e11f9274f Fix several memory leaks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39441
diff changeset
83 ui_full_name = g_strdup_printf("%s %s", ui_name, ui_version);
1c8e11f9274f Fix several memory leaks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39441
diff changeset
84 } else {
1c8e11f9274f Fix several memory leaks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39441
diff changeset
85 ui_full_name = g_strdup(ui_name);
1c8e11f9274f Fix several memory leaks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39441
diff changeset
86 }
34297
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
87 }
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
88
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
89 purple_debug_info("main", "Launching %s%slibpurple %s",
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
90 ui_full_name ? ui_full_name : "",
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
91 ui_full_name ? " with " : "",
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
92 purple_core_get_version());
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
93
39918
1c8e11f9274f Fix several memory leaks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39441
diff changeset
94 g_free(ui_full_name);
34297
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
95 }
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
96
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
97 gboolean
42435
ecf0fdfc8363 Add a get_history_adapter method to PurpleUi and implement in Pidgin and Finch
Gary Kramlich <grim@reaperworld.com>
parents: 42410
diff changeset
98 purple_core_init(PurpleUi *ui, GError **error) {
ecf0fdfc8363 Add a get_history_adapter method to PurpleUi and implement in Pidgin and Finch
Gary Kramlich <grim@reaperworld.com>
parents: 42410
diff changeset
99 PurpleCore *core = NULL;
ecf0fdfc8363 Add a get_history_adapter method to PurpleUi and implement in Pidgin and Finch
Gary Kramlich <grim@reaperworld.com>
parents: 42410
diff changeset
100 PurpleHistoryAdapter *adapter = NULL;
41872
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
101 const char *force_error_message = NULL;
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
102
41867
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
103 g_return_val_if_fail(PURPLE_IS_UI(ui), FALSE);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
104 g_return_val_if_fail(purple_get_core() == NULL, FALSE);
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
105
42473
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
106 bindtextdomain(GETTEXT_PACKAGE, purple_get_locale_dir());
39374
d6261d7d0c91 Remove ENABLE_NLS guards, making 'nls' only affect po/ directory
Mike Ruprecht <cmaiku@gmail.com>
parents: 39353
diff changeset
107
14286
9ff15ceacd34 [gaim-migrate @ 16905]
Daniel Atallah <datallah@pidgin.im>
parents: 14254
diff changeset
108 #ifdef _WIN32
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
109 wpurple_init();
14286
9ff15ceacd34 [gaim-migrate @ 16905]
Daniel Atallah <datallah@pidgin.im>
parents: 14254
diff changeset
110 #endif
9ff15ceacd34 [gaim-migrate @ 16905]
Daniel Atallah <datallah@pidgin.im>
parents: 14254
diff changeset
111
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
112 _core = core = g_new0(PurpleCore, 1);
41867
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
113 core->ui = ui;
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
114 core->reserved = NULL;
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
115
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
116 /* The signals subsystem is important and should be first. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
117 purple_signals_init();
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
118
21238
cd326828c870 Add and call a purple_util_uninit() to free user_dir and customer_home_dir
Richard Laager <rlaager@pidgin.im>
parents: 20147
diff changeset
119 purple_util_init();
cd326828c870 Add and call a purple_util_uninit() to free user_dir and customer_home_dir
Richard Laager <rlaager@pidgin.im>
parents: 20147
diff changeset
120
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
121 purple_signal_register(core, "uri-handler",
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
122 purple_marshal_BOOLEAN__POINTER_POINTER_POINTER,
34818
a65e961e1e29 Refactored core, ft, imgstore to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34583
diff changeset
123 G_TYPE_BOOLEAN, 3,
a65e961e1e29 Refactored core, ft, imgstore to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34583
diff changeset
124 G_TYPE_STRING, /* Protocol */
a65e961e1e29 Refactored core, ft, imgstore to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34583
diff changeset
125 G_TYPE_STRING, /* Command */
a65e961e1e29 Refactored core, ft, imgstore to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34583
diff changeset
126 G_TYPE_POINTER); /* Parameters (GHashTable *) */
15678
7434ef155a3a Core support for external protocol URIs. The actual handling of the URIs will be in the prpls and other plugins. This commit only includes the win32 method of actually passing in a URI - the dbus implementation still needs to be written.
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
127
34818
a65e961e1e29 Refactored core, ft, imgstore to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34583
diff changeset
128 purple_signal_register(core, "core-initialized", purple_marshal_VOID,
a65e961e1e29 Refactored core, ft, imgstore to use GType instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34583
diff changeset
129 G_TYPE_NONE, 0);
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
130
34297
0f1f0b8c84f8 Fix some debug log warnings, adjust verbosity level
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34165
diff changeset
131 purple_core_print_version();
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
132
10087
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9944
diff changeset
133 /* The prefs subsystem needs to be initialized before static protocols
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9944
diff changeset
134 * for protocol prefs to work. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
135 purple_prefs_init();
41867
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
136
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
137 settings_backend = purple_ui_get_settings_backend(core->ui);
10087
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9944
diff changeset
138
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
139 purple_debug_init();
10448
4415ffba12e9 [gaim-migrate @ 11713]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
140
41867
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
141 purple_ui_prefs_init(core->ui);
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
142
41433
d563b345a096 Phase 1 of the Notifications API
Gary Kramlich <grim@reaperworld.com>
parents: 41396
diff changeset
143 purple_notification_manager_startup();
d563b345a096 Phase 1 of the Notifications API
Gary Kramlich <grim@reaperworld.com>
parents: 41396
diff changeset
144
23847
a4260c372f4c Initialize the commands subsystem before the plugins.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23555
diff changeset
145 purple_cmds_init();
40735
cc0679f47fd9 Create a new PurpleProtocolManager
Gary Kramlich <grim@reaperworld.com>
parents: 40734
diff changeset
146 purple_protocol_manager_startup();
16660
05ee74f25b2a Part of the patch in ticket #383:
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16608
diff changeset
147
40734
c792b39da167 Port the secretservice keyring to PurpleCredentialProvider
Gary Kramlich <grim@reaperworld.com>
parents: 40696
diff changeset
148 purple_credential_manager_startup(); /* before accounts */
c792b39da167 Port the secretservice keyring to PurpleCredentialProvider
Gary Kramlich <grim@reaperworld.com>
parents: 40696
diff changeset
149
11033
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10684
diff changeset
150 /* Since plugins get probed so early we should probably initialize their
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10684
diff changeset
151 * subsystem right away too.
dc68e074f10d [gaim-migrate @ 12919]
Etan Reisner <deryni@pidgin.im>
parents: 10684
diff changeset
152 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
153 purple_plugins_init();
25339
1ccd84242080 disapproval of revision '72679a30e1cb464d1dc7c74b14b848c3a51538ca'
Daniel Atallah <datallah@pidgin.im>
parents: 25338
diff changeset
154
35811
f86e09b6ed33 Small imgstore cleanup
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35806
diff changeset
155 /* The buddy icon code uses the image store, so init it early. */
35803
caa6f35efd7a Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
156 _purple_image_store_init();
16437
7ff7c3405ea2 Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents: 16409
diff changeset
157
21292
076fbf488504 Connect to connection-error in account.c so that the account error is actually
Will Thompson <resiak@pidgin.im>
parents: 21238
diff changeset
158 /* Accounts use status, buddy icons and connection signals, so
076fbf488504 Connect to connection-error in account.c so that the account error is actually
Will Thompson <resiak@pidgin.im>
parents: 21238
diff changeset
159 * initialize these before accounts
076fbf488504 Connect to connection-error in account.c so that the account error is actually
Will Thompson <resiak@pidgin.im>
parents: 21238
diff changeset
160 */
34855
9c289149eed4 Global replaces according to GObject status API
Ankit Vani <a@nevitus.org>
parents: 34818
diff changeset
161 purple_statuses_init();
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
162 purple_buddy_icons_init();
21292
076fbf488504 Connect to connection-error in account.c so that the account error is actually
Will Thompson <resiak@pidgin.im>
parents: 21238
diff changeset
163 purple_connections_init();
13481
6a4badb9f8e4 [gaim-migrate @ 15856]
Evan Schoenberg <evands@pidgin.im>
parents: 13294
diff changeset
164
41181
e859c41d8996 Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents: 41174
diff changeset
165 purple_account_manager_startup();
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
166 purple_accounts_init();
41754
abf413211063 Create the new PurpleContactManager
Gary Kramlich <grim@reaperworld.com>
parents: 41685
diff changeset
167 purple_contact_manager_startup();
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
168 purple_savedstatuses_init();
42475
ce06ca18db9b Integrate PurplePresenceManager with the core and uis
Gary Kramlich <grim@reaperworld.com>
parents: 42473
diff changeset
169 purple_presence_manager_startup();
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
170 purple_notify_init();
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
171 purple_conversations_init();
40948
2c312f084d84 Create a manager for conversations.
Gary Kramlich <grim@reaperworld.com>
parents: 40863
diff changeset
172 purple_conversation_manager_startup();
41040
4be2eda9548a Create PurpleWhiteboardManager for managing whiteboards
Gary Kramlich <grim@reaperworld.com>
parents: 41034
diff changeset
173 purple_whiteboard_manager_startup();
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
174 purple_blist_init();
42435
ecf0fdfc8363 Add a get_history_adapter method to PurpleUi and implement in Pidgin and Finch
Gary Kramlich <grim@reaperworld.com>
parents: 42410
diff changeset
175
ecf0fdfc8363 Add a get_history_adapter method to PurpleUi and implement in Pidgin and Finch
Gary Kramlich <grim@reaperworld.com>
parents: 42410
diff changeset
176 /* Setup the history adapter. */
ecf0fdfc8363 Add a get_history_adapter method to PurpleUi and implement in Pidgin and Finch
Gary Kramlich <grim@reaperworld.com>
parents: 42410
diff changeset
177 adapter = purple_ui_get_history_adapter(ui);
ecf0fdfc8363 Add a get_history_adapter method to PurpleUi and implement in Pidgin and Finch
Gary Kramlich <grim@reaperworld.com>
parents: 42410
diff changeset
178 if(!purple_history_manager_startup(adapter, error)) {
ecf0fdfc8363 Add a get_history_adapter method to PurpleUi and implement in Pidgin and Finch
Gary Kramlich <grim@reaperworld.com>
parents: 42410
diff changeset
179 return FALSE;
ecf0fdfc8363 Add a get_history_adapter method to PurpleUi and implement in Pidgin and Finch
Gary Kramlich <grim@reaperworld.com>
parents: 42410
diff changeset
180 }
ecf0fdfc8363 Add a get_history_adapter method to PurpleUi and implement in Pidgin and Finch
Gary Kramlich <grim@reaperworld.com>
parents: 42410
diff changeset
181
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
182 purple_network_init();
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
183 purple_proxy_init();
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
184 purple_xfers_init();
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
185 purple_idle_init();
42383
e8302a55fddb Create PurpleIdleManager for managing idle states
Gary Kramlich <grim@reaperworld.com>
parents: 42374
diff changeset
186 purple_idle_manager_startup();
35715
2aa79f05247e Custom smileys storage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35703
diff changeset
187
15116
037b787407ba [gaim-migrate @ 17838]
Mark Doliner <markdoliner@pidgin.im>
parents: 14300
diff changeset
188 /*
037b787407ba [gaim-migrate @ 17838]
Mark Doliner <markdoliner@pidgin.im>
parents: 14300
diff changeset
189 * Call this early on to try to auto-detect our IP address and
037b787407ba [gaim-migrate @ 17838]
Mark Doliner <markdoliner@pidgin.im>
parents: 14300
diff changeset
190 * hopefully save some time later.
037b787407ba [gaim-migrate @ 17838]
Mark Doliner <markdoliner@pidgin.im>
parents: 14300
diff changeset
191 */
40663
2453bef0abe7 Cleanup local IP getters
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40655
diff changeset
192 purple_network_discover_my_ip();
13181
2a22fe4717ed [gaim-migrate @ 15543]
Daniel Atallah <datallah@pidgin.im>
parents: 13130
diff changeset
193
41872
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
194 /* Set this environment variable to anything to test the error reporting in
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
195 * the user interface.
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
196 */
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
197 force_error_message = g_getenv("PURPLE3_CORE_ERROR_MESSAGE");
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
198 if(force_error_message != NULL) {
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
199 if(force_error_message[0] == '\0') {
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
200 force_error_message = "This is a forced error for testing user "
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
201 "interfaces.";
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
202 }
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
203
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
204 g_set_error_literal(error, g_quark_from_static_string("purple"), 0,
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
205 force_error_message);
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
206
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
207 return FALSE;
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
208 }
b405b4eb38fa Display a dialog in Pidgin if purple_core_init returned FALSE
Gary Kramlich <grim@reaperworld.com>
parents: 41868
diff changeset
209
41873
98c20aec9aba Make PurpleUi.start return a gboolean and GError
Gary Kramlich <grim@reaperworld.com>
parents: 41872
diff changeset
210 if(!purple_ui_start(core->ui, error)) {
98c20aec9aba Make PurpleUi.start return a gboolean and GError
Gary Kramlich <grim@reaperworld.com>
parents: 41872
diff changeset
211 return FALSE;
98c20aec9aba Make PurpleUi.start return a gboolean and GError
Gary Kramlich <grim@reaperworld.com>
parents: 41872
diff changeset
212 }
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
213
33643
6f7deddb8850 Move blist loading into purple_core_init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33538
diff changeset
214 /* Load the buddy list after UI init */
6f7deddb8850 Move blist loading into purple_core_init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33538
diff changeset
215 purple_blist_boot();
6f7deddb8850 Move blist loading into purple_core_init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33538
diff changeset
216
34127
51c1bce7f52f Tidying debug messages, signals
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34125
diff changeset
217 purple_signal_emit(purple_get_core(), "core-initialized");
51c1bce7f52f Tidying debug messages, signals
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34125
diff changeset
218
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
219 return TRUE;
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
220 }
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
221
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
222 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
223 purple_core_quit(void)
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
224 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
225 PurpleCore *core = purple_get_core();
41166
20d88cadf7fc Clean up some issues during shutdown that were outputting warnings
Gary Kramlich <grim@reaperworld.com>
parents: 41137
diff changeset
226 PurpleCredentialManager *credential_manager = NULL;
20d88cadf7fc Clean up some issues during shutdown that were outputting warnings
Gary Kramlich <grim@reaperworld.com>
parents: 41137
diff changeset
227 PurpleHistoryManager *history_manager = NULL;
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
228
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
229 g_return_if_fail(core != NULL);
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
230
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
231 /* Transmission ends */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
232 purple_connections_disconnect_all();
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
233
41166
20d88cadf7fc Clean up some issues during shutdown that were outputting warnings
Gary Kramlich <grim@reaperworld.com>
parents: 41137
diff changeset
234 /* Remove the active provider in the credential manager. */
20d88cadf7fc Clean up some issues during shutdown that were outputting warnings
Gary Kramlich <grim@reaperworld.com>
parents: 41137
diff changeset
235 credential_manager = purple_credential_manager_get_default();
20d88cadf7fc Clean up some issues during shutdown that were outputting warnings
Gary Kramlich <grim@reaperworld.com>
parents: 41137
diff changeset
236 purple_credential_manager_set_active(credential_manager, NULL, NULL);
20d88cadf7fc Clean up some issues during shutdown that were outputting warnings
Gary Kramlich <grim@reaperworld.com>
parents: 41137
diff changeset
237
20d88cadf7fc Clean up some issues during shutdown that were outputting warnings
Gary Kramlich <grim@reaperworld.com>
parents: 41137
diff changeset
238 /* Remove the active history adapter */
20d88cadf7fc Clean up some issues during shutdown that were outputting warnings
Gary Kramlich <grim@reaperworld.com>
parents: 41137
diff changeset
239 history_manager = purple_history_manager_get_default();
20d88cadf7fc Clean up some issues during shutdown that were outputting warnings
Gary Kramlich <grim@reaperworld.com>
parents: 41137
diff changeset
240 purple_history_manager_set_active(history_manager, NULL, NULL);
20d88cadf7fc Clean up some issues during shutdown that were outputting warnings
Gary Kramlich <grim@reaperworld.com>
parents: 41137
diff changeset
241
8235
00045afab151 [gaim-migrate @ 8958]
Gary Kramlich <grim@pidgin.im>
parents: 8231
diff changeset
242 /* Save .xml files, remove signals, etc. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
243 purple_idle_uninit();
42383
e8302a55fddb Create PurpleIdleManager for managing idle states
Gary Kramlich <grim@reaperworld.com>
parents: 42374
diff changeset
244 purple_idle_manager_shutdown();
41040
4be2eda9548a Create PurpleWhiteboardManager for managing whiteboards
Gary Kramlich <grim@reaperworld.com>
parents: 41034
diff changeset
245 purple_whiteboard_manager_shutdown();
40948
2c312f084d84 Create a manager for conversations.
Gary Kramlich <grim@reaperworld.com>
parents: 40863
diff changeset
246 purple_conversation_manager_shutdown();
35131
6cf8a9b09ba1 Fix glib warnings on quit, where conversation destruction needs the buddy list alive
Ankit Vani <a@nevitus.org>
parents: 34910
diff changeset
247 purple_conversations_uninit();
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
248 purple_blist_uninit();
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
249 purple_notify_uninit();
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
250 purple_connections_uninit();
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
251 purple_buddy_icons_uninit();
42475
ce06ca18db9b Integrate PurplePresenceManager with the core and uis
Gary Kramlich <grim@reaperworld.com>
parents: 42473
diff changeset
252 purple_presence_manager_shutdown();
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
253 purple_savedstatuses_uninit();
34855
9c289149eed4 Global replaces according to GObject status API
Ankit Vani <a@nevitus.org>
parents: 34818
diff changeset
254 purple_statuses_uninit();
26896
fd3f89b3af4e don't uninit accounts until savedstatus and status are uninited, this was
Ka-Hing Cheung <khc@pidgin.im>
parents: 26751
diff changeset
255 purple_accounts_uninit();
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
256 purple_xfers_uninit();
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
257 purple_proxy_uninit();
35803
caa6f35efd7a Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
258 _purple_image_store_uninit();
25326
c4f4b222dbac Adjust the NLA code to prevent hang on exit for Windows XP and Windows Vista.
Paul Aurich <darkrain42@pidgin.im>
parents: 24389
diff changeset
259 purple_network_uninit();
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
260
41867
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
261 purple_ui_stop(core->ui);
25713
9dc831db9cce Alternate, API-safe fix for #8774 (crash on exit)
Ethan Blanton <elb@pidgin.im>
parents: 25712
diff changeset
262
26751
4b0dffa16ffe Apply patch from darkrain42 to fix the crash-on-exit. Hopefully, the order
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26743
diff changeset
263 /* Everything after prefs_uninit must not try to read any prefs */
41660
6a4db60af05b Prepare GSettings schemas and a default settings backend
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41433
diff changeset
264 g_clear_object(&settings_backend);
25446
4d2288e37f38 Reorder (and document) purple_core_quit() so that the prefs_uninit() fixes can
Paul Aurich <darkrain42@pidgin.im>
parents: 25338
diff changeset
265 purple_prefs_uninit();
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
266 purple_plugins_uninit();
36458
a9cccad073e9 Static prpls now work. Added macro PURPLE_PLUGIN_INIT(plugin-name, query-func, load-func, unload-func).
Ankit Vani <a@nevitus.org>
parents: 36375
diff changeset
267
40743
7aa6153abf4d Create a no operation credential provider and fix a number of other issues
Gary Kramlich <grim@reaperworld.com>
parents: 40735
diff changeset
268 /* after plugins */
41754
abf413211063 Create the new PurpleContactManager
Gary Kramlich <grim@reaperworld.com>
parents: 41685
diff changeset
269 purple_contact_manager_shutdown();
41185
60a9e999f4b6 Fix an order of operation with shutting down the account manager
Gary Kramlich <grim@reaperworld.com>
parents: 41181
diff changeset
270 purple_account_manager_shutdown();
40743
7aa6153abf4d Create a no operation credential provider and fix a number of other issues
Gary Kramlich <grim@reaperworld.com>
parents: 40735
diff changeset
271 purple_credential_manager_shutdown();
40735
cc0679f47fd9 Create a new PurpleProtocolManager
Gary Kramlich <grim@reaperworld.com>
parents: 40734
diff changeset
272 purple_protocol_manager_shutdown();
40743
7aa6153abf4d Create a no operation credential provider and fix a number of other issues
Gary Kramlich <grim@reaperworld.com>
parents: 40735
diff changeset
273 purple_cmds_uninit();
36375
8ed701a7333e Added a protocols subsystem API and a protocols API to add/remove protocols.
Ankit Vani <a@nevitus.org>
parents: 36367
diff changeset
274
41433
d563b345a096 Phase 1 of the Notifications API
Gary Kramlich <grim@reaperworld.com>
parents: 41396
diff changeset
275 purple_notification_manager_shutdown();
41090
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41040
diff changeset
276 purple_history_manager_shutdown();
741992355ead GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents: 41040
diff changeset
277
33538
cbeb76707f12 Better implementation of purple_escape_js
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33439
diff changeset
278 /* Everything after util_uninit cannot try to write things to the
40123
15c3354736c3 Remove some unused utility functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40058
diff changeset
279 * confdir.
33538
cbeb76707f12 Better implementation of purple_escape_js
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33439
diff changeset
280 */
21238
cd326828c870 Add and call a purple_util_uninit() to free user_dir and customer_home_dir
Richard Laager <rlaager@pidgin.im>
parents: 20147
diff changeset
281 purple_util_uninit();
cd326828c870 Add and call a purple_util_uninit() to free user_dir and customer_home_dir
Richard Laager <rlaager@pidgin.im>
parents: 20147
diff changeset
282
18303
5cc245e1fcf3 Uninit the dbus system before uniniting the signals.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18267
diff changeset
283 purple_signals_uninit();
14017
db3f1bdc95c6 [gaim-migrate @ 16503]
Mark Doliner <markdoliner@pidgin.im>
parents: 13481
diff changeset
284
41867
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
285 g_clear_object(&core->ui);
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
286 g_free(core);
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
287
14286
9ff15ceacd34 [gaim-migrate @ 16905]
Daniel Atallah <datallah@pidgin.im>
parents: 14254
diff changeset
288 #ifdef _WIN32
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
289 wpurple_cleanup();
14286
9ff15ceacd34 [gaim-migrate @ 16905]
Daniel Atallah <datallah@pidgin.im>
parents: 14254
diff changeset
290 #endif
9ff15ceacd34 [gaim-migrate @ 16905]
Daniel Atallah <datallah@pidgin.im>
parents: 14254
diff changeset
291
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
292 _core = NULL;
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
293 }
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
294
6612
aac6af649208 [gaim-migrate @ 7136]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
295 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
296 purple_core_get_version(void)
6612
aac6af649208 [gaim-migrate @ 7136]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
297 {
aac6af649208 [gaim-migrate @ 7136]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
298 return VERSION;
aac6af649208 [gaim-migrate @ 7136]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
299 }
aac6af649208 [gaim-migrate @ 7136]
Christian Hammond <chipx86@chipx86.com>
parents: 6564
diff changeset
300
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
301 PurpleCore *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15678
diff changeset
302 purple_get_core(void)
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
303 {
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
304 return _core;
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
305 }
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
306
41660
6a4db60af05b Prepare GSettings schemas and a default settings backend
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41433
diff changeset
307 gpointer
6a4db60af05b Prepare GSettings schemas and a default settings backend
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41433
diff changeset
308 purple_core_get_settings_backend(void) {
6a4db60af05b Prepare GSettings schemas and a default settings backend
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41433
diff changeset
309 return settings_backend;
6a4db60af05b Prepare GSettings schemas and a default settings backend
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41433
diff changeset
310 }
6a4db60af05b Prepare GSettings schemas and a default settings backend
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41433
diff changeset
311
41867
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
312 PurpleUi *
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
313 purple_core_get_ui(void) {
5375c1d58c50 Create PurpleUi that merges PurpleCoreUiOps and PurpleUiInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41847
diff changeset
314 return _core->ui;
6179
4df73df94250 [gaim-migrate @ 6664]
Christian Hammond <chipx86@chipx86.com>
parents: 6168
diff changeset
315 }
42473
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
316
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
317 const char *
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
318 purple_get_locale_dir(void) {
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
319 const char *locale_dir = NULL;
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
320
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
321 locale_dir = g_getenv("PURPLE_LOCALE_DIR");
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
322 if(!purple_strempty(locale_dir)) {
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
323 return locale_dir;
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
324 }
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
325
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
326 #ifdef _WIN32
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
327 return wpurple_locale_dir();
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
328 #else
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
329 return PURPLE_LOCALEDIR;
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
330 #endif
c2cb3f628555 Update a bunch of gettext stuff
Gary Kramlich <grim@reaperworld.com>
parents: 42435
diff changeset
331 }

mercurial