finch/finch.c

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 25569
9cec90116395
child 25577
ca0b40451bbc
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

14620
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
1 /**
15931
716b5fac1895 Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents: 15914
diff changeset
2 * finch
14620
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
3 *
15931
716b5fac1895 Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents: 15914
diff changeset
4 * Finch is the legal property of its developers, whose names are too numerous
14620
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
5 * to list here. Please refer to the COPYRIGHT file distributed with this
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
6 * source distribution.
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
7 *
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
8 * This program is free software; you can redistribute it and/or modify
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
9 * it under the terms of the GNU General Public License as published by
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
11 * (at your option) any later version.
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
12 *
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
13 * This program is distributed in the hope that it will be useful,
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
16 * GNU General Public License for more details.
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
17 *
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
18 * You should have received a copy of the GNU General Public License
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
19 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19733
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
14620
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14413
diff changeset
21 */
18273
e61c53184c52 #include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 18075
diff changeset
22 #include "finch.h"
e61c53184c52 #include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 18075
diff changeset
23
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
24 #include "account.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
25 #include "conversation.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
26 #include "core.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
27 #include "debug.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
28 #include "eventloop.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
29 #include "ft.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
30 #include "log.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
31 #include "notify.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
32 #include "prefs.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
33 #include "prpl.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
34 #include "pounce.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
35 #include "savedstatuses.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
36 #include "sound.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
37 #include "status.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
38 #include "util.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
39 #include "whiteboard.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
40
14045
12b8c2bfd3fb [gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14028
diff changeset
41 #include "gntdebug.h"
12b8c2bfd3fb [gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14028
diff changeset
42 #include "gntprefs.h"
13958
bd1c3bb3f33d [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13931
diff changeset
43 #include "gntui.h"
15802
1e124a68997e gntgaim idle reporting, this fixes idle return
Richard Nelson <wabz@pidgin.im>
parents: 15746
diff changeset
44 #include "gntidle.h"
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
45
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
46 #define _GNU_SOURCE
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
47 #include <getopt.h>
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
48
14253
b63ebf84c42b This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents: 14078
diff changeset
49 #include "config.h"
b63ebf84c42b This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents: 14078
diff changeset
50
14045
12b8c2bfd3fb [gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14028
diff changeset
51 static void
22104
56970903b8e9 Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents: 21720
diff changeset
52 debug_init(void)
14045
12b8c2bfd3fb [gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14028
diff changeset
53 {
15878
f52832b611fe renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents: 15802
diff changeset
54 finch_debug_init();
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
55 purple_debug_set_ui_ops(finch_debug_get_ui_ops());
14045
12b8c2bfd3fb [gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14028
diff changeset
56 }
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
57
18442
99c6a0271b1d UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents: 18273
diff changeset
58 static GHashTable *ui_info = NULL;
22104
56970903b8e9 Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents: 21720
diff changeset
59 static GHashTable *finch_ui_get_info(void)
18442
99c6a0271b1d UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents: 18273
diff changeset
60 {
19239
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
61 if (ui_info == NULL) {
18442
99c6a0271b1d UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents: 18273
diff changeset
62 ui_info = g_hash_table_new(g_str_hash, g_str_equal);
99c6a0271b1d UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents: 18273
diff changeset
63
99c6a0271b1d UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents: 18273
diff changeset
64 g_hash_table_insert(ui_info, "name", (char*)_("Finch"));
99c6a0271b1d UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents: 18273
diff changeset
65 g_hash_table_insert(ui_info, "version", VERSION);
23546
4210d3d9cc16 Added website and dev_website items to Finch's ui_get_info hash table
Evan Schoenberg <evands@pidgin.im>
parents: 22104
diff changeset
66 g_hash_table_insert(ui_info, "website", "http://pidgin.im");
4210d3d9cc16 Added website and dev_website items to Finch's ui_get_info hash table
Evan Schoenberg <evands@pidgin.im>
parents: 22104
diff changeset
67 g_hash_table_insert(ui_info, "dev_website", "http://developer.pidgin.im");
18442
99c6a0271b1d UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents: 18273
diff changeset
68 }
99c6a0271b1d UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents: 18273
diff changeset
69
99c6a0271b1d UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents: 18273
diff changeset
70 return ui_info;
99c6a0271b1d UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents: 18273
diff changeset
71 }
99c6a0271b1d UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents: 18273
diff changeset
72
19239
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
73 static void
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
74 finch_quit(void)
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
75 {
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
76 gnt_ui_uninit();
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
77 if (ui_info)
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
78 g_hash_table_destroy(ui_info);
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
79 }
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
80
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
81 static PurpleCoreUiOps core_ops =
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
82 {
15878
f52832b611fe renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents: 15802
diff changeset
83 finch_prefs_init,
14045
12b8c2bfd3fb [gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14028
diff changeset
84 debug_init,
14909
d72792eb7575 [gaim-migrate @ 17616]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14808
diff changeset
85 gnt_ui_init,
19239
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
86 finch_quit,
18442
99c6a0271b1d UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents: 18273
diff changeset
87 finch_ui_get_info,
16748
f8e1573bfde0 And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents: 16629
diff changeset
88
f8e1573bfde0 And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents: 16629
diff changeset
89 /* padding */
f8e1573bfde0 And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents: 16629
diff changeset
90 NULL,
f8e1573bfde0 And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents: 16629
diff changeset
91 NULL,
f8e1573bfde0 And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents: 16629
diff changeset
92 NULL
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
93 };
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
94
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
95 static PurpleCoreUiOps *
22104
56970903b8e9 Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents: 21720
diff changeset
96 gnt_core_get_ui_ops(void)
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
97 {
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
98 return &core_ops;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
99 }
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
100
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
101 /* Anything IO-related is directly copied from gtkpurple's source tree */
14045
12b8c2bfd3fb [gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14028
diff changeset
102
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
103 #define FINCH_READ_COND (G_IO_IN | G_IO_HUP | G_IO_ERR)
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
104 #define FINCH_WRITE_COND (G_IO_OUT | G_IO_HUP | G_IO_ERR | G_IO_NVAL)
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
105
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
106 typedef struct _PurpleGntIOClosure {
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
107 PurpleInputFunction function;
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
108 guint result;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
109 gpointer data;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
110
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
111 } PurpleGntIOClosure;
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
112
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
113 static void purple_gnt_io_destroy(gpointer data)
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
114 {
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
115 g_free(data);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
116 }
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
117
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
118 static gboolean purple_gnt_io_invoke(GIOChannel *source, GIOCondition condition, gpointer data)
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
119 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
120 PurpleGntIOClosure *closure = data;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
121 PurpleInputCondition purple_cond = 0;
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
122
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
123 if (condition & FINCH_READ_COND)
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
124 purple_cond |= PURPLE_INPUT_READ;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
125 if (condition & FINCH_WRITE_COND)
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
126 purple_cond |= PURPLE_INPUT_WRITE;
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
127
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
128 #if 0
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
129 purple_debug(PURPLE_DEBUG_MISC, "gtk_eventloop",
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
130 "CLOSURE: callback for %d, fd is %d\n",
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
131 closure->result, g_io_channel_unix_get_fd(source));
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
132 #endif
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
133
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
134 #ifdef _WIN32
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
135 if(! purple_cond) {
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
136 #if DEBUG
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
137 purple_debug_misc("gnt_eventloop",
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
138 "CLOSURE received GIOCondition of 0x%x, which does not"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
139 " match 0x%x (READ) or 0x%x (WRITE)\n",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
140 condition, FINCH_READ_COND, FINCH_WRITE_COND);
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
141 #endif /* DEBUG */
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
142
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
143 return TRUE;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
144 }
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
145 #endif /* _WIN32 */
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
146
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
147 closure->function(closure->data, g_io_channel_unix_get_fd(source),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
148 purple_cond);
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
149
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
150 return TRUE;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
151 }
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
152
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
153 static guint gnt_input_add(gint fd, PurpleInputCondition condition, PurpleInputFunction function,
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
154 gpointer data)
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
155 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
156 PurpleGntIOClosure *closure = g_new0(PurpleGntIOClosure, 1);
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
157 GIOChannel *channel;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
158 GIOCondition cond = 0;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
159
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
160 closure->function = function;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
161 closure->data = data;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
162
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
163 if (condition & PURPLE_INPUT_READ)
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
164 cond |= FINCH_READ_COND;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
165 if (condition & PURPLE_INPUT_WRITE)
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
166 cond |= FINCH_WRITE_COND;
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
167
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
168 channel = g_io_channel_unix_new(fd);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
169 closure->result = g_io_add_watch_full(channel, G_PRIORITY_DEFAULT, cond,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
170 purple_gnt_io_invoke, closure, purple_gnt_io_destroy);
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
171
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
172 g_io_channel_unref(channel);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
173 return closure->result;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
174 }
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
175
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
176 static PurpleEventLoopUiOps eventloop_ops =
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
177 {
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
178 g_timeout_add,
15729
6932ac4e5b3d Change out source_remove and input_remove eventloop functions to return
Mark Doliner <markdoliner@pidgin.im>
parents: 15701
diff changeset
179 g_source_remove,
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
180 gnt_input_add,
19733
ec657d978c5a disapproval of revision 'f08436883bb16f29affdc63e9fd86ff278ed368f'
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19732
diff changeset
181 g_source_remove,
16748
f8e1573bfde0 And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents: 16629
diff changeset
182 NULL, /* input_get_error */
18075
1e4bb0043a98 It's GLIB_CHECK_VERSION, not GLIB_VERSION_CHECK.
Richard Laager <rlaager@pidgin.im>
parents: 18071
diff changeset
183 #if GLIB_CHECK_VERSION(2,14,0)
18071
9b5d872583c9 Wire in g_timeout_add_seconds for Finch and nullclient as well.
Richard Laager <rlaager@pidgin.im>
parents: 18068
diff changeset
184 g_timeout_add_seconds,
9b5d872583c9 Wire in g_timeout_add_seconds for Finch and nullclient as well.
Richard Laager <rlaager@pidgin.im>
parents: 18068
diff changeset
185 #else
9b5d872583c9 Wire in g_timeout_add_seconds for Finch and nullclient as well.
Richard Laager <rlaager@pidgin.im>
parents: 18068
diff changeset
186 NULL,
9b5d872583c9 Wire in g_timeout_add_seconds for Finch and nullclient as well.
Richard Laager <rlaager@pidgin.im>
parents: 18068
diff changeset
187 #endif
16748
f8e1573bfde0 And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents: 16629
diff changeset
188
f8e1573bfde0 And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents: 16629
diff changeset
189 /* padding */
f8e1573bfde0 And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents: 16629
diff changeset
190 NULL,
f8e1573bfde0 And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents: 16629
diff changeset
191 NULL,
f8e1573bfde0 And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents: 16629
diff changeset
192 NULL
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
193 };
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
194
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
195 static PurpleEventLoopUiOps *
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
196 gnt_eventloop_get_ui_ops(void)
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
197 {
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
198 return &eventloop_ops;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
199 }
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
200
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
201 /* This is mostly copied from gtkpurple's source tree */
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
202 static void
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
203 show_usage(const char *name, gboolean terse)
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
204 {
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
205 char *text;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
206
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
207 if (terse) {
20288
5ca925a094e2 applied changes from 03b709ec2a153e7e82719df0ba4635108bb1d3c6
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 20100
diff changeset
208 text = g_strdup_printf(_("%s. Try `%s -h' for more information.\n"), DISPLAY_VERSION, name);
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
209 } else {
14078
6b4a8f05cadd [gaim-migrate @ 16609]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14069
diff changeset
210 text = g_strdup_printf(_("%s\n"
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
211 "Usage: %s [OPTION]...\n\n"
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
212 " -c, --config=DIR use DIR for config files\n"
25569
9cec90116395 Debug log is sent to stderr. Thanks to whoever noticed it in IRC the other day.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 25322
diff changeset
213 " -d, --debug print debugging messages to stderr\n"
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
214 " -h, --help display this help and exit\n"
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
215 " -n, --nologin don't automatically login\n"
20288
5ca925a094e2 applied changes from 03b709ec2a153e7e82719df0ba4635108bb1d3c6
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 20100
diff changeset
216 " -v, --version display the current version and exit\n"), DISPLAY_VERSION, name);
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
217 }
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
218
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
219 purple_print_utf8_to_console(stdout, text);
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
220 g_free(text);
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
221 }
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
222
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
223 static int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
224 init_libpurple(int argc, char **argv)
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
225 {
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
226 char *path;
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
227 int opt;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
228 gboolean opt_help = FALSE;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
229 gboolean opt_nologin = FALSE;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
230 gboolean opt_version = FALSE;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
231 char *opt_config_dir_arg = NULL;
13990
e4b3d88b1b1b [gaim-migrate @ 16448]
Sean Egan <seanegan@pidgin.im>
parents: 13989
diff changeset
232 gboolean debug_enabled = FALSE;
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
233
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
234 struct option long_options[] = {
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
235 {"config", required_argument, NULL, 'c'},
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
236 {"debug", no_argument, NULL, 'd'},
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
237 {"help", no_argument, NULL, 'h'},
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
238 {"nologin", no_argument, NULL, 'n'},
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
239 {"version", no_argument, NULL, 'v'},
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
240 {0, 0, 0, 0}
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
241 };
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
242
15098
e4f3eb20c4e3 [gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15097
diff changeset
243 #ifdef ENABLE_NLS
e4f3eb20c4e3 [gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15097
diff changeset
244 bindtextdomain(PACKAGE, LOCALEDIR);
e4f3eb20c4e3 [gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15097
diff changeset
245 bind_textdomain_codeset(PACKAGE, "UTF-8");
e4f3eb20c4e3 [gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15097
diff changeset
246 textdomain(PACKAGE);
e4f3eb20c4e3 [gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15097
diff changeset
247 #endif
e4f3eb20c4e3 [gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15097
diff changeset
248
e4f3eb20c4e3 [gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15097
diff changeset
249 #ifdef HAVE_SETLOCALE
e4f3eb20c4e3 [gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15097
diff changeset
250 setlocale(LC_ALL, "");
e4f3eb20c4e3 [gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15097
diff changeset
251 #endif
e4f3eb20c4e3 [gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 15097
diff changeset
252
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
253 /* scan command-line options */
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
254 opterr = 1;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
255 while ((opt = getopt_long(argc, argv,
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
256 #ifndef _WIN32
25322
df8728f34e85 Remove unused option, thanks to KuSh. Closes #7856.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23546
diff changeset
257 "c:dhn::v",
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
258 #else
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
259 "c:dhn::v",
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
260 #endif
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
261 long_options, NULL)) != -1) {
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
262 switch (opt) {
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
263 case 'c': /* config dir */
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
264 g_free(opt_config_dir_arg);
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
265 opt_config_dir_arg = g_strdup(optarg);
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
266 break;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
267 case 'd': /* debug */
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
268 debug_enabled = TRUE;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
269 break;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
270 case 'h': /* help */
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
271 opt_help = TRUE;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
272 break;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
273 case 'n': /* no autologin */
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
274 opt_nologin = TRUE;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
275 break;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
276 case 'v': /* version */
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
277 opt_version = TRUE;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
278 break;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
279 case '?': /* show terse help */
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
280 default:
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
281 show_usage(argv[0], TRUE);
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
282 return 0;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
283 break;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
284 }
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
285 }
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
286
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
287 /* show help message */
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
288 if (opt_help) {
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
289 show_usage(argv[0], FALSE);
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
290 return 0;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
291 }
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
292 /* show version message */
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
293 if (opt_version) {
17001
09ceabd6b129 Clarify the comments on the names for translators.
Richard Laager <rlaager@pidgin.im>
parents: 16987
diff changeset
294 /* Translators may want to transliterate the name.
09ceabd6b129 Clarify the comments on the names for translators.
Richard Laager <rlaager@pidgin.im>
parents: 16987
diff changeset
295 It is not to be translated. */
20288
5ca925a094e2 applied changes from 03b709ec2a153e7e82719df0ba4635108bb1d3c6
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 20100
diff changeset
296 printf("%s %s\n", _("Finch"), DISPLAY_VERSION);
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
297 return 0;
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
298 }
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
299
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
300 /* set a user-specified config directory */
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
301 if (opt_config_dir_arg != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
302 purple_util_set_user_dir(opt_config_dir_arg);
14786
5dcd5187f20d [gaim-migrate @ 17478]
Richard Nelson <wabz@pidgin.im>
parents: 14647
diff changeset
303 g_free(opt_config_dir_arg);
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
304 }
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
305
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
306 /*
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
307 * We're done piddling around with command line arguments.
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
308 * Fire up this baby.
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
309 */
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
310
16445
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
311 /* We don't want debug-messages to show up and corrupt the display */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
312 purple_debug_set_enabled(debug_enabled);
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
313
16445
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
314 /* If we're using a custom configuration directory, we
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
315 * do NOT want to migrate, or weird things will happen. */
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
316 if (opt_config_dir_arg == NULL)
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
317 {
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
318 if (!purple_core_migrate())
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
319 {
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
320 char *old = g_strconcat(purple_home_dir(),
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
321 G_DIR_SEPARATOR_S ".gaim", NULL);
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
322 char *text = g_strdup_printf(_(
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
323 "%s encountered errors migrating your settings "
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
324 "from %s to %s. Please investigate and complete the "
16987
2cb69cfe312e disapproval of revision 'b49452d70ba63f19c963ea5d1ff00cb7f8a73020'
Richard Laager <rlaager@pidgin.im>
parents: 16985
diff changeset
325 "migration by hand. Please report this error at http://developer.pidgin.im"), _("Finch"),
16445
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
326 old, purple_user_dir());
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
327
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
328 g_free(old);
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
329
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
330 purple_print_utf8_to_console(stderr, text);
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
331 g_free(text);
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
332
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
333 return 0;
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
334 }
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
335 }
634622ab1c7b Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents: 16158
diff changeset
336
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
337 purple_core_set_ui_ops(gnt_core_get_ui_ops());
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
338 purple_eventloop_set_ui_ops(gnt_eventloop_get_ui_ops());
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
339 purple_idle_set_ui_ops(finch_idle_get_ui_ops());
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
340
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
341 path = g_build_filename(purple_user_dir(), "plugins", NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
342 purple_plugins_add_search_path(path);
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
343 g_free(path);
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
344
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
345 purple_plugins_add_search_path(LIBDIR);
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
346
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
347 if (!purple_core_init(FINCH_UI))
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
348 {
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
349 fprintf(stderr,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
350 "Initialization of the Purple core failed. Dumping core.\n"
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
351 "Please report this!\n");
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
352 abort();
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
353 }
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
354
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
355 /* TODO: Move blist loading into purple_blist_init() */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
356 purple_set_blist(purple_blist_new());
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
357 purple_blist_load();
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
358
19681
8399d8f69f1b Make a note about purple_prefs_load no longer needing to be called by the UI and update finch accordingly. There doesn't appear to be any negative effects of having the purple_prefs_load called twice.
Daniel Atallah <datallah@pidgin.im>
parents: 19239
diff changeset
359 /* TODO: should this be moved into finch_prefs_init() ? */
16629
781a662d1fc3 Pref migration for finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16593
diff changeset
360 finch_prefs_update_old();
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
361
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
362 /* load plugins we had when we quit */
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 16158
diff changeset
363 purple_plugins_load_saved("/finch/plugins/loaded");
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
364
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
365 /* TODO: Move pounces loading into purple_pounces_init() */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
366 purple_pounces_load();
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
367
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
368 if (opt_nologin)
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
369 {
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
370 /* Set all accounts to "offline" */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
371 PurpleSavedStatus *saved_status;
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
372
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
373 /* If we've used this type+message before, lookup the transient status */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
374 saved_status = purple_savedstatus_find_transient_by_type_and_message(
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
375 PURPLE_STATUS_OFFLINE, NULL);
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
376
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
377 /* If this type+message is unique then create a new transient saved status */
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
378 if (saved_status == NULL)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
379 saved_status = purple_savedstatus_new(NULL, PURPLE_STATUS_OFFLINE);
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
380
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
381 /* Set the status for each account */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
382 purple_savedstatus_activate(saved_status);
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
383 }
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
384 else
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
385 {
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
386 /* Everything is good to go--sign on already */
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 16158
diff changeset
387 if (!purple_prefs_get_bool("/purple/savedstatus/startup_current_status"))
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
388 purple_savedstatus_activate(purple_savedstatus_get_startup());
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
389 purple_accounts_restore_current_statuses();
13973
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
390 }
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
391
99603d7e2662 [gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
392 return 1;
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
393 }
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
394
19239
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
395 static gboolean gnt_start(int *argc, char ***argv)
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
396 {
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
397 /* Initialize the libpurple stuff */
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
398 if (!init_libpurple(*argc, *argv))
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
399 return FALSE;
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
400
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
401 purple_blist_show();
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
402 return TRUE;
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
403 }
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
404
a6866f1419c4 Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19124
diff changeset
405 int main(int argc, char *argv[])
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
406 {
14808
031f023b5fc0 [gaim-migrate @ 17503]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14786
diff changeset
407 signal(SIGPIPE, SIG_IGN);
031f023b5fc0 [gaim-migrate @ 17503]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14786
diff changeset
408
19973
5fb72bc240cd Duplicate the fix from 33d699ec: do g_thread_init before using any other
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
409 g_thread_init(NULL);
5fb72bc240cd Duplicate the fix from 33d699ec: do g_thread_init before using any other
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
410
18415
e1aef27f8f86 Let's use g_set_prgname too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18379
diff changeset
411 g_set_prgname("Finch");
19124
24fe076835c1 g_set_application_name requires glib 2.2 for finch
Richard Nelson <wabz@pidgin.im>
parents: 18606
diff changeset
412 #if GLIB_CHECK_VERSION(2,2,0)
18379
7a6e9626ea14 Use g_set_application_name here too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18273
diff changeset
413 g_set_application_name(_("Finch"));
19124
24fe076835c1 g_set_application_name requires glib 2.2 for finch
Richard Nelson <wabz@pidgin.im>
parents: 18606
diff changeset
414 #endif
18379
7a6e9626ea14 Use g_set_application_name here too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18273
diff changeset
415
20100
7675d4832abf applied changes from 1cb036aecbbe359226e69874379d39ce74c8daf6
Richard Laager <rlaager@pidgin.im>
parents: 19973
diff changeset
416 if (gnt_start(&argc, &argv)) {
7675d4832abf applied changes from 1cb036aecbbe359226e69874379d39ce74c8daf6
Richard Laager <rlaager@pidgin.im>
parents: 19973
diff changeset
417 gnt_main();
14909
d72792eb7575 [gaim-migrate @ 17616]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14808
diff changeset
418
14028
eefce1b0c4e3 [gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13990
diff changeset
419 #ifdef STANDALONE
20100
7675d4832abf applied changes from 1cb036aecbbe359226e69874379d39ce74c8daf6
Richard Laager <rlaager@pidgin.im>
parents: 19973
diff changeset
420 purple_core_quit();
14028
eefce1b0c4e3 [gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13990
diff changeset
421 #endif
20100
7675d4832abf applied changes from 1cb036aecbbe359226e69874379d39ce74c8daf6
Richard Laager <rlaager@pidgin.im>
parents: 19973
diff changeset
422 }
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
423
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
424 return 0;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
425 }
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
426

mercurial