annotate libpurple/internal.h @ 29384:ad4960c2df28

Good call, this doesn't need to be translated. This messaged used to be shown to users, but now that we throttle outgoing messages to avoid hitting the rate limit, we don't bother showing this for some reason. I think it was annoying people and causing confusion. But it really should happen rarely if ever, so I think it's safe to keep it as a debug message and not translate it.
author Mark Doliner <mark@kingant.net>
date Sun, 07 Feb 2010 08:31:41 +0000
parents 91b8a957776a
children 39716f7d2c93 15cde23b43bc 1e5654e2928d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2 * @file internal.h Internal definitions and includes
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3 * @ingroup core
20074
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19680
diff changeset
4 */
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19680
diff changeset
5
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19680
diff changeset
6 /* purple
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
7 *
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
8 * Purple is the legal property of its developers, whose names are too numerous
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
10 * source distribution.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
15 * (at your option) any later version.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
16 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
20 * GNU General Public License for more details.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
21 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
23 * along with this program; if not, write to the Free Software
19680
44b4e8bd759b The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19572
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
25 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
26 #ifndef _PURPLE_INTERNAL_H_
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
27 #define _PURPLE_INTERNAL_H_
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
28
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
29 #ifdef HAVE_CONFIG_H
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
30 # include <config.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
31 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
32
19572
cfc4e56a6a1e Fix compilation on SkyOS. This patch is from Peter Speybrouk, a.k.a.
Ethan Blanton <elb@pidgin.im>
parents: 18430
diff changeset
33 /* for SIOCGIFCONF in SKYOS */
cfc4e56a6a1e Fix compilation on SkyOS. This patch is from Peter Speybrouk, a.k.a.
Ethan Blanton <elb@pidgin.im>
parents: 18430
diff changeset
34 #ifdef SKYOS
cfc4e56a6a1e Fix compilation on SkyOS. This patch is from Peter Speybrouk, a.k.a.
Ethan Blanton <elb@pidgin.im>
parents: 18430
diff changeset
35 #include <net/sockios.h>
cfc4e56a6a1e Fix compilation on SkyOS. This patch is from Peter Speybrouk, a.k.a.
Ethan Blanton <elb@pidgin.im>
parents: 18430
diff changeset
36 #endif
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
37 /*
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
38 * If we're using NLS, make sure gettext works. If not, then define
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
39 * dummy macros in place of the normal gettext macros.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
40 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
41 * Also, the perl XS config.h file sometimes defines _ So we need to
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
42 * make sure _ isn't already defined before trying to define it.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
43 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
44 * The Singular/Plural/Number ngettext dummy definition below was
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
45 * taken from an email to the texinfo mailing list by Manuel Guerrero.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
46 * Thank you Manuel, and thank you Alex's good friend Google.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
47 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
48 #ifdef ENABLE_NLS
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
49 # include <locale.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
50 # include <libintl.h>
16063
fa8aeab4ca5a Hopefully prevent libpurple causing problems for 3rd party UIs if they also
Stu Tomlinson <stu@nosnilmot.com>
parents: 15869
diff changeset
51 # define _(String) ((const char *)dgettext(PACKAGE, String))
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
52 # ifdef gettext_noop
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
53 # define N_(String) gettext_noop (String)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
54 # else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
55 # define N_(String) (String)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
56 # endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
57 #else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
58 # include <locale.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
59 # define N_(String) (String)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
60 # ifndef _
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
61 # define _(String) ((const char *)String)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
62 # endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
63 # define ngettext(Singular, Plural, Number) ((Number == 1) ? ((const char *)Singular) : ((const char *)Plural))
16063
fa8aeab4ca5a Hopefully prevent libpurple causing problems for 3rd party UIs if they also
Stu Tomlinson <stu@nosnilmot.com>
parents: 15869
diff changeset
64 # define dngettext(Domain, Singular, Plural, Number) ((Number == 1) ? ((const char *)Singular) : ((const char *)Plural))
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
65 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
66
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
67 #ifdef HAVE_ENDIAN_H
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
68 # include <endian.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
69 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
70
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
71 #define MSG_LEN 2048
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
72 /* The above should normally be the same as BUF_LEN,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
73 * but just so we're explicitly asking for the max message
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
74 * length. */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
75 #define BUF_LEN MSG_LEN
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
76 #define BUF_LONG BUF_LEN * 2
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
77
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
78 #include <sys/stat.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
79 #include <sys/types.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
80 #ifndef _WIN32
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
81 #include <sys/time.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
82 #include <sys/wait.h>
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 16098
diff changeset
83 #include <sys/time.h>
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
84 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
85 #include <ctype.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
86 #include <errno.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
87 #include <fcntl.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
88 #include <math.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
89 #include <stdio.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
90 #include <stdlib.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
91 #include <string.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
92 #include <time.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
93
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
94 #ifdef HAVE_ICONV
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
95 #include <iconv.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
96 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
97
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
98 #ifdef HAVE_LANGINFO_CODESET
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
99 #include <langinfo.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
100 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
101
18430
0877d661a6ff gmodule.h is needed in internal.h for GLIB_CHECK_VERSION() to be defined; this is independent of whether PURPLE_PLUGINS is defined.
Evan Schoenberg <evan.s@dreskin.net>
parents: 18395
diff changeset
102 #include <gmodule.h>
0877d661a6ff gmodule.h is needed in internal.h for GLIB_CHECK_VERSION() to be defined; this is independent of whether PURPLE_PLUGINS is defined.
Evan Schoenberg <evan.s@dreskin.net>
parents: 18395
diff changeset
103
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
104 #ifdef PURPLE_PLUGINS
25415
584063555949 Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 24292
diff changeset
105 # ifdef HAVE_DLFCN_H
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
106 # include <dlfcn.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
107 # endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
108 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
109
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
110 #ifndef _WIN32
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
111 # include <netinet/in.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
112 # include <sys/socket.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
113 # include <arpa/inet.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
114 # include <sys/un.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
115 # include <sys/utsname.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
116 # include <netdb.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
117 # include <signal.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
118 # include <unistd.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
119 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
120
18395
ed470f35ceab We don't want to be using MAXPATHLEN except for backwards compatibility.
Richard Laager <rlaager@wiktel.com>
parents: 18204
diff changeset
121 /* MAXPATHLEN should only be used with readlink() on glib < 2.4.0. For
ed470f35ceab We don't want to be using MAXPATHLEN except for backwards compatibility.
Richard Laager <rlaager@wiktel.com>
parents: 18204
diff changeset
122 * anything else, use g_file_read_link() or other dynamic functions. This is
ed470f35ceab We don't want to be using MAXPATHLEN except for backwards compatibility.
Richard Laager <rlaager@wiktel.com>
parents: 18204
diff changeset
123 * important because Hurd has no hard limits on path length. */
ed470f35ceab We don't want to be using MAXPATHLEN except for backwards compatibility.
Richard Laager <rlaager@wiktel.com>
parents: 18204
diff changeset
124 #if !GLIB_CHECK_VERSION(2,4,0)
ed470f35ceab We don't want to be using MAXPATHLEN except for backwards compatibility.
Richard Laager <rlaager@wiktel.com>
parents: 18204
diff changeset
125 # ifndef MAXPATHLEN
ed470f35ceab We don't want to be using MAXPATHLEN except for backwards compatibility.
Richard Laager <rlaager@wiktel.com>
parents: 18204
diff changeset
126 # ifdef PATH_MAX
ed470f35ceab We don't want to be using MAXPATHLEN except for backwards compatibility.
Richard Laager <rlaager@wiktel.com>
parents: 18204
diff changeset
127 # define MAXPATHLEN PATH_MAX
ed470f35ceab We don't want to be using MAXPATHLEN except for backwards compatibility.
Richard Laager <rlaager@wiktel.com>
parents: 18204
diff changeset
128 # else
ed470f35ceab We don't want to be using MAXPATHLEN except for backwards compatibility.
Richard Laager <rlaager@wiktel.com>
parents: 18204
diff changeset
129 # define MAXPATHLEN 1024
ed470f35ceab We don't want to be using MAXPATHLEN except for backwards compatibility.
Richard Laager <rlaager@wiktel.com>
parents: 18204
diff changeset
130 # endif
18204
4cc042912ac2 Bring back MAXPATHLEN (which was always guaranteed to be defined earlier
Stu Tomlinson <stu@nosnilmot.com>
parents: 18202
diff changeset
131 # endif
4cc042912ac2 Bring back MAXPATHLEN (which was always guaranteed to be defined earlier
Stu Tomlinson <stu@nosnilmot.com>
parents: 18202
diff changeset
132 #endif
4cc042912ac2 Bring back MAXPATHLEN (which was always guaranteed to be defined earlier
Stu Tomlinson <stu@nosnilmot.com>
parents: 18202
diff changeset
133
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
134 #ifndef HOST_NAME_MAX
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
135 # define HOST_NAME_MAX 255
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
136 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
137
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
138 #include <glib.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
139 #if !GLIB_CHECK_VERSION(2,4,0)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
140 # define G_MAXUINT32 ((guint32) 0xffffffff)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
141 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
142
23060
00b442421563 Compatibility with older glib versions
Stu Tomlinson <stu@nosnilmot.com>
parents: 22488
diff changeset
143 #ifndef G_MAXSIZE
00b442421563 Compatibility with older glib versions
Stu Tomlinson <stu@nosnilmot.com>
parents: 22488
diff changeset
144 # if GLIB_SIZEOF_LONG == 8
00b442421563 Compatibility with older glib versions
Stu Tomlinson <stu@nosnilmot.com>
parents: 22488
diff changeset
145 # define G_MAXSIZE ((gsize) 0xffffffffffffffff)
00b442421563 Compatibility with older glib versions
Stu Tomlinson <stu@nosnilmot.com>
parents: 22488
diff changeset
146 # else
00b442421563 Compatibility with older glib versions
Stu Tomlinson <stu@nosnilmot.com>
parents: 22488
diff changeset
147 # define G_MAXSIZE ((gsize) 0xffffffff)
00b442421563 Compatibility with older glib versions
Stu Tomlinson <stu@nosnilmot.com>
parents: 22488
diff changeset
148 # endif
00b442421563 Compatibility with older glib versions
Stu Tomlinson <stu@nosnilmot.com>
parents: 22488
diff changeset
149 #endif
00b442421563 Compatibility with older glib versions
Stu Tomlinson <stu@nosnilmot.com>
parents: 22488
diff changeset
150
27390
fc5508709e74 Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <paul@darkrain42.org>
parents: 26587
diff changeset
151 #ifndef G_MAXSSIZE
fc5508709e74 Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <paul@darkrain42.org>
parents: 26587
diff changeset
152 # if GLIB_SIZEOF_LONG == 8
fc5508709e74 Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <paul@darkrain42.org>
parents: 26587
diff changeset
153 # define G_MAXSSIZE ((gssize) 0x7fffffffffffffff)
fc5508709e74 Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <paul@darkrain42.org>
parents: 26587
diff changeset
154 # else
fc5508709e74 Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <paul@darkrain42.org>
parents: 26587
diff changeset
155 # define G_MAXSSIZE ((gssize) 0x7fffffff)
fc5508709e74 Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <paul@darkrain42.org>
parents: 26587
diff changeset
156 # endif
fc5508709e74 Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <paul@darkrain42.org>
parents: 26587
diff changeset
157 #endif
fc5508709e74 Use glib's SHA1, SHA256, and MD5 implementations when available (glib 2.16)
Paul Aurich <paul@darkrain42.org>
parents: 26587
diff changeset
158
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
159 #if GLIB_CHECK_VERSION(2,6,0)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
160 # include <glib/gstdio.h>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
161 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
162
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
163 #if !GLIB_CHECK_VERSION(2,6,0)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
164 # define g_freopen freopen
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
165 # define g_fopen fopen
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
166 # define g_rmdir rmdir
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
167 # define g_remove remove
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
168 # define g_unlink unlink
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
169 # define g_lstat lstat
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
170 # define g_stat stat
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
171 # define g_mkdir mkdir
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
172 # define g_rename rename
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
173 # define g_open open
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
174 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
175
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
176 #if !GLIB_CHECK_VERSION(2,8,0) && !defined _WIN32
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
177 # define g_access access
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
178 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
179
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
180 #if !GLIB_CHECK_VERSION(2,10,0)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
181 # define g_slice_new(type) g_new(type, 1)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
182 # define g_slice_new0(type) g_new0(type, 1)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
183 # define g_slice_free(type, mem) g_free(mem)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
184 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
185
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
186 #ifdef _WIN32
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
187 #include "win32dep.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
188 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
189
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
190 /* ugly ugly ugly */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
191 /* This is a workaround for the fact that G_GINT64_MODIFIER and G_GSIZE_FORMAT
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
192 * are only defined in Glib >= 2.4 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
193 #ifndef G_GINT64_MODIFIER
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
194 # if GLIB_SIZEOF_LONG == 8
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
195 # define G_GINT64_MODIFIER "l"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
196 # else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
197 # define G_GINT64_MODIFIER "ll"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
198 # endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
199 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
200
22486
5ddb2a65e7ea Fix compiling on older Glib where G_GSIZE_MODIFIER is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 20520
diff changeset
201 #ifndef G_GSIZE_MODIFIER
5ddb2a65e7ea Fix compiling on older Glib where G_GSIZE_MODIFIER is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 20520
diff changeset
202 # if GLIB_SIZEOF_LONG == 8
5ddb2a65e7ea Fix compiling on older Glib where G_GSIZE_MODIFIER is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 20520
diff changeset
203 # define G_GSIZE_MODIFIER "l"
5ddb2a65e7ea Fix compiling on older Glib where G_GSIZE_MODIFIER is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 20520
diff changeset
204 # else
5ddb2a65e7ea Fix compiling on older Glib where G_GSIZE_MODIFIER is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 20520
diff changeset
205 # define G_GSIZE_MODIFIER ""
5ddb2a65e7ea Fix compiling on older Glib where G_GSIZE_MODIFIER is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 20520
diff changeset
206 # endif
5ddb2a65e7ea Fix compiling on older Glib where G_GSIZE_MODIFIER is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 20520
diff changeset
207 #endif
5ddb2a65e7ea Fix compiling on older Glib where G_GSIZE_MODIFIER is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 20520
diff changeset
208
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
209 #ifndef G_GSIZE_FORMAT
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
210 # if GLIB_SIZEOF_LONG == 8
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
211 # define G_GSIZE_FORMAT "lu"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
212 # else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
213 # define G_GSIZE_FORMAT "u"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
214 # endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
215 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
216
22488
a8fff9da2791 Fix compiling on older Glib where G_GSSIZE_FORMAT is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 22486
diff changeset
217 #ifndef G_GSSIZE_FORMAT
a8fff9da2791 Fix compiling on older Glib where G_GSSIZE_FORMAT is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 22486
diff changeset
218 # if GLIB_SIZEOF_LONG == 8
a8fff9da2791 Fix compiling on older Glib where G_GSSIZE_FORMAT is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 22486
diff changeset
219 # define G_GSSIZE_FORMAT "li"
a8fff9da2791 Fix compiling on older Glib where G_GSSIZE_FORMAT is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 22486
diff changeset
220 # else
a8fff9da2791 Fix compiling on older Glib where G_GSSIZE_FORMAT is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 22486
diff changeset
221 # define G_GSSIZE_FORMAT "i"
a8fff9da2791 Fix compiling on older Glib where G_GSSIZE_FORMAT is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 22486
diff changeset
222 # endif
a8fff9da2791 Fix compiling on older Glib where G_GSSIZE_FORMAT is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 22486
diff changeset
223 #endif
a8fff9da2791 Fix compiling on older Glib where G_GSSIZE_FORMAT is not defined
Stu Tomlinson <stu@nosnilmot.com>
parents: 22486
diff changeset
224
18202
7df46d8bf114 Move the define in internal.h instead.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 18148
diff changeset
225 #ifndef G_GNUC_NULL_TERMINATED
18204
4cc042912ac2 Bring back MAXPATHLEN (which was always guaranteed to be defined earlier
Stu Tomlinson <stu@nosnilmot.com>
parents: 18202
diff changeset
226 # if __GNUC__ >= 4
4cc042912ac2 Bring back MAXPATHLEN (which was always guaranteed to be defined earlier
Stu Tomlinson <stu@nosnilmot.com>
parents: 18202
diff changeset
227 # define G_GNUC_NULL_TERMINATED __attribute__((__sentinel__))
4cc042912ac2 Bring back MAXPATHLEN (which was always guaranteed to be defined earlier
Stu Tomlinson <stu@nosnilmot.com>
parents: 18202
diff changeset
228 # else
4cc042912ac2 Bring back MAXPATHLEN (which was always guaranteed to be defined earlier
Stu Tomlinson <stu@nosnilmot.com>
parents: 18202
diff changeset
229 # define G_GNUC_NULL_TERMINATED
4cc042912ac2 Bring back MAXPATHLEN (which was always guaranteed to be defined earlier
Stu Tomlinson <stu@nosnilmot.com>
parents: 18202
diff changeset
230 # endif
18202
7df46d8bf114 Move the define in internal.h instead.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 18148
diff changeset
231 #endif
7df46d8bf114 Move the define in internal.h instead.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 18148
diff changeset
232
27525
91b8a957776a HAVE_CONFIG_H is not defined when building the perl plugin, so work around
Stu Tomlinson <stu@nosnilmot.com>
parents: 27522
diff changeset
233 #ifdef HAVE_CONFIG_H
27522
036d94041e09 Fix this compiler warning:
Stu Tomlinson <stu@nosnilmot.com>
parents: 27390
diff changeset
234 #if SIZEOF_TIME_T == 4
036d94041e09 Fix this compiler warning:
Stu Tomlinson <stu@nosnilmot.com>
parents: 27390
diff changeset
235 # define PURPLE_TIME_T_MODIFIER "lu"
036d94041e09 Fix this compiler warning:
Stu Tomlinson <stu@nosnilmot.com>
parents: 27390
diff changeset
236 #elif SIZEOF_TIME_T == 8
036d94041e09 Fix this compiler warning:
Stu Tomlinson <stu@nosnilmot.com>
parents: 27390
diff changeset
237 # define PURPLE_TIME_T_MODIFIER "zu"
036d94041e09 Fix this compiler warning:
Stu Tomlinson <stu@nosnilmot.com>
parents: 27390
diff changeset
238 #else
036d94041e09 Fix this compiler warning:
Stu Tomlinson <stu@nosnilmot.com>
parents: 27390
diff changeset
239 #error Unknown size of time_t
036d94041e09 Fix this compiler warning:
Stu Tomlinson <stu@nosnilmot.com>
parents: 27390
diff changeset
240 #endif
27525
91b8a957776a HAVE_CONFIG_H is not defined when building the perl plugin, so work around
Stu Tomlinson <stu@nosnilmot.com>
parents: 27522
diff changeset
241 #endif
27522
036d94041e09 Fix this compiler warning:
Stu Tomlinson <stu@nosnilmot.com>
parents: 27390
diff changeset
242
26483
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
243 #include <glib-object.h>
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
244
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
245 #ifndef G_DEFINE_TYPE
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
246 #define G_DEFINE_TYPE(TypeName, type_name, TYPE_PARENT) \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
247 \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
248 static void type_name##_init (TypeName *self); \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
249 static void type_name##_class_init (TypeName##Class *klass); \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
250 static gpointer type_name##_parent_class = NULL; \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
251 static void type_name##_class_intern_init (gpointer klass) \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
252 { \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
253 type_name##_parent_class = g_type_class_peek_parent (klass); \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
254 type_name##_class_init ((TypeName##Class*) klass); \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
255 } \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
256 \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
257 GType \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
258 type_name##_get_type (void) \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
259 { \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
260 static GType g_define_type_id = 0; \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
261 if (G_UNLIKELY (g_define_type_id == 0)) \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
262 { \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
263 g_define_type_id = \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
264 g_type_register_static_simple (TYPE_PARENT, \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
265 g_intern_static_string (#TypeName), \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
266 sizeof (TypeName##Class), \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
267 (GClassInitFunc)type_name##_class_intern_init, \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
268 sizeof (TypeName), \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
269 (GInstanceInitFunc)type_name##_init, \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
270 (GTypeFlags) 0); \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
271 } \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
272 return g_define_type_id; \
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
273 } /* closes type_name##_get_type() */
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
274
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
275 #endif
b4621f3c276e Add G_DEFINE_TYPE compatibility define from gobjectification branch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25415
diff changeset
276
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
277 /* Safer ways to work with static buffers. When using non-static
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
278 * buffers, either use g_strdup_* functions (preferred) or use
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
279 * g_strlcpy/g_strlcpy directly. */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
280 #define purple_strlcpy(dest, src) g_strlcpy(dest, src, sizeof(dest))
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
281 #define purple_strlcat(dest, src) g_strlcat(dest, src, sizeof(dest))
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
282
15869
0946d187d55a The last s/purple.sourceforge.net/pidgin.im/ in my local copy. This changes PURPLE_WEBSITE, so stuff should change in the UI all over the place.
Richard Laager <rlaager@wiktel.com>
parents: 15866
diff changeset
283 #define PURPLE_WEBSITE "http://pidgin.im/"
16909
a00cf76108c6 fixes #650
Luke Schierer <lschiere@pidgin.im>
parents: 16637
diff changeset
284 #define PURPLE_DEVEL_WEBSITE "http://developer.pidgin.im/"
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
285
24292
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
286
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
287 /* INTERNAL FUNCTIONS */
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
288
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
289 #include "account.h"
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
290 #include "connection.h"
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
291
16505
1d1ddf972ac8 Ref the filenames for account buddy icons on load.
Richard Laager <rlaager@wiktel.com>
parents: 16373
diff changeset
292 /* This is for the accounts code to notify the buddy icon code that
1d1ddf972ac8 Ref the filenames for account buddy icons on load.
Richard Laager <rlaager@wiktel.com>
parents: 16373
diff changeset
293 * it's done loading. We may want to replace this with a signal. */
1d1ddf972ac8 Ref the filenames for account buddy icons on load.
Richard Laager <rlaager@wiktel.com>
parents: 16373
diff changeset
294 void
16637
250623ba4218 The GNOME coding guidelines recommend prefixing internal symbols with an underscore.
Richard Laager <rlaager@wiktel.com>
parents: 16505
diff changeset
295 _purple_buddy_icons_account_loaded_cb(void);
16505
1d1ddf972ac8 Ref the filenames for account buddy icons on load.
Richard Laager <rlaager@wiktel.com>
parents: 16373
diff changeset
296
16373
c9b4ff420140 The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@wiktel.com>
parents: 16098
diff changeset
297 /* This is for the buddy list to notify the buddy icon code that
c9b4ff420140 The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@wiktel.com>
parents: 16098
diff changeset
298 * it's done loading. We may want to replace this with a signal. */
c9b4ff420140 The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@wiktel.com>
parents: 16098
diff changeset
299 void
16637
250623ba4218 The GNOME coding guidelines recommend prefixing internal symbols with an underscore.
Richard Laager <rlaager@wiktel.com>
parents: 16505
diff changeset
300 _purple_buddy_icons_blist_loaded_cb(void);
16373
c9b4ff420140 The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@wiktel.com>
parents: 16098
diff changeset
301
c9b4ff420140 The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@wiktel.com>
parents: 16098
diff changeset
302 /* This is for the purple_core_migrate() code to tell the buddy
c9b4ff420140 The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@wiktel.com>
parents: 16098
diff changeset
303 * icon subsystem about the old icons directory so it can
c9b4ff420140 The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@wiktel.com>
parents: 16098
diff changeset
304 * migrate any icons in use. */
c9b4ff420140 The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@wiktel.com>
parents: 16098
diff changeset
305 void
16637
250623ba4218 The GNOME coding guidelines recommend prefixing internal symbols with an underscore.
Richard Laager <rlaager@wiktel.com>
parents: 16505
diff changeset
306 _purple_buddy_icon_set_old_icons_dir(const char *dirname);
16373
c9b4ff420140 The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@wiktel.com>
parents: 16098
diff changeset
307
24292
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
308 /**
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
309 * Creates a connection to the specified account and either connects
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
310 * or attempts to register a new account. If you are logging in,
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
311 * the connection uses the current active status for this account.
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
312 * So if you want to sign on as "away," for example, you need to
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
313 * have called purple_account_set_status(account, "away").
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
314 * (And this will call purple_account_connect() automatically).
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
315 *
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
316 * @note This function should only be called by purple_account_connect()
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
317 * in account.c. If you're trying to sign on an account, use that
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
318 * function instead.
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
319 *
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
320 * @param account The account the connection should be connecting to.
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
321 * @param regist Whether we are registering a new account or just
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
322 * trying to do a normal signon.
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
323 * @param password The password to use.
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
324 */
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
325 void _purple_connection_new(PurpleAccount *account, gboolean regist,
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
326 const char *password);
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
327 /**
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
328 * Tries to unregister the account on the server. If the account is not
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
329 * connected, also creates a new connection.
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
330 *
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
331 * @note This function should only be called by purple_account_unregister()
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
332 * in account.c.
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
333 *
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
334 * @param account The account to unregister
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
335 * @param password The password to use.
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
336 * @param cb Optional callback to be called when unregistration is complete
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
337 * @param user_data user data to pass to the callback
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
338 */
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
339 void _purple_connection_new_unregister(PurpleAccount *account, const char *password,
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
340 PurpleAccountUnregistrationCb cb, void *user_data);
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
341 /**
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
342 * Disconnects and destroys a PurpleConnection.
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
343 *
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
344 * @note This function should only be called by purple_account_disconnect()
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
345 * in account.c. If you're trying to sign off an account, use that
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
346 * function instead.
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
347 *
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
348 * @param gc The purple connection to destroy.
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
349 */
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
350 void _purple_connection_destroy(PurpleConnection *gc);
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23401
diff changeset
351
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15374
diff changeset
352 #endif /* _PURPLE_INTERNAL_H_ */