libpurple/status.c

Sun, 21 Jul 2013 14:35:33 +0530

author
Ankit Vani <a@nevitus.org>
date
Sun, 21 Jul 2013 14:35:33 +0530
branch
soc.2013.gobjectification
changeset 34856
2c190f625652
parent 34855
9c289149eed4
child 34857
cfe2b7ce3421
permissions
-rw-r--r--

Some refactoring for GObject status API.
Connected callback for /purple/status/scores/idle_time

20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 20055
diff changeset
1 /* purple
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
2 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 6371
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 6371
diff changeset
5 * source distribution.
9944
71ef020ec4b0 [gaim-migrate @ 10838]
Christian Hammond <chipx86@chipx86.com>
parents: 9791
diff changeset
6 *
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
10 * (at your option) any later version.
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
11 *
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
15 * GNU General Public License for more details.
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
16 *
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
18 * 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: 18284
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
20 */
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
21 #include "internal.h"
34706
02cb08146888 Renamed blist.[ch] to buddylist.[ch]
Ankit Vani <a@nevitus.org>
parents: 34699
diff changeset
22 #include "buddylist.h"
10400
5f11925078e5 [gaim-migrate @ 11631]
Sean Egan <seanegan@pidgin.im>
parents: 10378
diff changeset
23 #include "core.h"
11187
27beea38898f [gaim-migrate @ 13303]
Piotr Zielinski <zielaj@users.sourceforge.net>
parents: 11033
diff changeset
24 #include "dbus-maybe.h"
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
25 #include "debug.h"
10337
778231f38df6 [gaim-migrate @ 11545]
Mark Doliner <markdoliner@pidgin.im>
parents: 10322
diff changeset
26 #include "notify.h"
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
27 #include "prefs.h"
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
28 #include "status.h"
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
29
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
30 #define PURPLE_STATUS_GET_PRIVATE(obj) \
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
31 (G_TYPE_INSTANCE_GET_PRIVATE((obj), PURPLE_TYPE_STATUS, PurpleStatusPrivate))
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
32
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
33 /** @copydoc _PurpleStatusPrivate */
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
34 typedef struct _PurpleStatusPrivate PurpleStatusPrivate;
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
35
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
36 /**
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
37 * A type of status.
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
38 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
39 struct _PurpleStatusType
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
40 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
41 PurpleStatusPrimitive primitive;
6371
e92b66ee5518 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6321
diff changeset
42
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
43 char *id;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
44 char *name;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
45
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
46 gboolean saveable;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
47 gboolean user_settable;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
48 gboolean independent;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
49
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
50 GList *attrs;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
51 };
6371
e92b66ee5518 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6321
diff changeset
52
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
53 /**
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
54 * A status attribute.
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
55 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
56 struct _PurpleStatusAttr
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
57 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
58 char *id;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
59 char *name;
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
60 GValue *value_type;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
61 };
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
62
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
63 /**
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
64 * Private data for PurpleStatus
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
65 */
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
66 struct _PurpleStatusPrivate
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
67 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
68 PurpleStatusType *type;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
69 PurplePresence *presence;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
70
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
71 gboolean active;
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
72
23236
e6acfffcc51b Borrow a reference to a string instead of g_strdup'ing it. The
Mark Doliner <markdoliner@pidgin.im>
parents: 22793
diff changeset
73 /*
e6acfffcc51b Borrow a reference to a string instead of g_strdup'ing it. The
Mark Doliner <markdoliner@pidgin.im>
parents: 22793
diff changeset
74 * The current values of the attributes for this status. The
e6acfffcc51b Borrow a reference to a string instead of g_strdup'ing it. The
Mark Doliner <markdoliner@pidgin.im>
parents: 22793
diff changeset
75 * key is a string containing the name of the attribute. It is
e6acfffcc51b Borrow a reference to a string instead of g_strdup'ing it. The
Mark Doliner <markdoliner@pidgin.im>
parents: 22793
diff changeset
76 * a borrowed reference from the list of attrs in the
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
77 * PurpleStatusType. The value is a GValue.
23236
e6acfffcc51b Borrow a reference to a string instead of g_strdup'ing it. The
Mark Doliner <markdoliner@pidgin.im>
parents: 22793
diff changeset
78 */
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
79 GHashTable *attr_values;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
80 };
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
81
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
82 typedef struct
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
83 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
84 PurpleAccount *account;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
85 char *name;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
86 } PurpleStatusBuddyKey;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
87
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
88 static int primitive_scores[] =
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
89 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
90 0, /* unset */
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
91 -500, /* offline */
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
92 100, /* available */
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
93 -75, /* unavailable */
12595
8108c22aa723 [gaim-migrate @ 14925]
Richard Laager <rlaager@pidgin.im>
parents: 12587
diff changeset
94 -50, /* invisible */
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
95 -100, /* away */
10860
8f600347b9e4 [gaim-migrate @ 12543]
Palmer Cox <enix@users.sourceforge.net>
parents: 10760
diff changeset
96 -200, /* extended away */
12595
8108c22aa723 [gaim-migrate @ 14925]
Richard Laager <rlaager@pidgin.im>
parents: 12587
diff changeset
97 -400, /* mobile */
22793
b58dbbc5955e Patch from Maiku: "When the buddy list is set to sort contacts by status,
Will Thompson <resiak@pidgin.im>
parents: 22765
diff changeset
98 0, /* tune */
24907
13118548c74c Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@pidgin.im>
parents: 23389
diff changeset
99 0, /* mood */
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
100 -10, /* idle, special case. */
16856
3e42fed1dd43 Change some of the PurplePresence stuff to reflect how it's actually used
Sean Egan <seanegan@pidgin.im>
parents: 16592
diff changeset
101 -5, /* idle time, special case. */
3e42fed1dd43 Change some of the PurplePresence stuff to reflect how it's actually used
Sean Egan <seanegan@pidgin.im>
parents: 16592
diff changeset
102 10 /* Offline messageable */
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
103 };
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
104
22793
b58dbbc5955e Patch from Maiku: "When the buddy list is set to sort contacts by status,
Will Thompson <resiak@pidgin.im>
parents: 22765
diff changeset
105 #define SCORE_IDLE 9
b58dbbc5955e Patch from Maiku: "When the buddy list is set to sort contacts by status,
Will Thompson <resiak@pidgin.im>
parents: 22765
diff changeset
106 #define SCORE_IDLE_TIME 10
b58dbbc5955e Patch from Maiku: "When the buddy list is set to sort contacts by status,
Will Thompson <resiak@pidgin.im>
parents: 22765
diff changeset
107 #define SCORE_OFFLINE_MESSAGE 11
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
108
34847
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
109 int *_purple_get_primitive_scores(void);
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
110
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
111 /**************************************************************************
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
112 * PurpleStatusPrimitive API
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
113 **************************************************************************/
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
114 static struct PurpleStatusPrimitiveMap
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
115 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
116 PurpleStatusPrimitive type;
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
117 const char *id;
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
118 const char *name;
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
119
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
120 } const status_primitive_map[] =
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
121 {
24907
13118548c74c Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@pidgin.im>
parents: 23389
diff changeset
122 { PURPLE_STATUS_UNSET, "unset", N_("Unset") },
13118548c74c Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@pidgin.im>
parents: 23389
diff changeset
123 { PURPLE_STATUS_OFFLINE, "offline", N_("Offline") },
13118548c74c Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@pidgin.im>
parents: 23389
diff changeset
124 { PURPLE_STATUS_AVAILABLE, "available", N_("Available") },
13118548c74c Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@pidgin.im>
parents: 23389
diff changeset
125 { PURPLE_STATUS_UNAVAILABLE, "unavailable", N_("Do not disturb") },
13118548c74c Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@pidgin.im>
parents: 23389
diff changeset
126 { PURPLE_STATUS_INVISIBLE, "invisible", N_("Invisible") },
13118548c74c Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@pidgin.im>
parents: 23389
diff changeset
127 { PURPLE_STATUS_AWAY, "away", N_("Away") },
13118548c74c Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@pidgin.im>
parents: 23389
diff changeset
128 { PURPLE_STATUS_EXTENDED_AWAY, "extended_away", N_("Extended away") },
13118548c74c Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@pidgin.im>
parents: 23389
diff changeset
129 { PURPLE_STATUS_MOBILE, "mobile", N_("Mobile") },
13118548c74c Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@pidgin.im>
parents: 23389
diff changeset
130 { PURPLE_STATUS_TUNE, "tune", N_("Listening to music"), },
13118548c74c Add a PURPLE_STATUS_MOOD primitive and change ICQ to use it.
Richard Laager <rlaager@pidgin.im>
parents: 23389
diff changeset
131 { PURPLE_STATUS_MOOD, "mood", N_("Feeling") },
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
132 };
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
133
34847
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
134 int *
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
135 _purple_get_primitive_scores(void)
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
136 {
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
137 return primitive_scores;
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
138 }
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
139
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
140 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
141 purple_primitive_get_id_from_type(PurpleStatusPrimitive type)
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
142 {
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
143 int i;
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
144
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
145 for (i = 0; i < PURPLE_STATUS_NUM_PRIMITIVES; i++)
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
146 {
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
147 if (type == status_primitive_map[i].type)
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
148 return status_primitive_map[i].id;
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
149 }
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
150
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
151 return status_primitive_map[0].id;
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
152 }
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
153
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
154 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
155 purple_primitive_get_name_from_type(PurpleStatusPrimitive type)
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
156 {
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
157 int i;
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
158
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
159 for (i = 0; i < PURPLE_STATUS_NUM_PRIMITIVES; i++)
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
160 {
12595
8108c22aa723 [gaim-migrate @ 14925]
Richard Laager <rlaager@pidgin.im>
parents: 12587
diff changeset
161 if (type == status_primitive_map[i].type)
13249
b3cc208601b5 [gaim-migrate @ 15614]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13193
diff changeset
162 return _(status_primitive_map[i].name);
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
163 }
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
164
13249
b3cc208601b5 [gaim-migrate @ 15614]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13193
diff changeset
165 return _(status_primitive_map[0].name);
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
166 }
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
167
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
168 PurpleStatusPrimitive
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
169 purple_primitive_get_type_from_id(const char *id)
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
170 {
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
171 int i;
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
172
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
173 g_return_val_if_fail(id != NULL, PURPLE_STATUS_UNSET);
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
174
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
175 for (i = 0; i < PURPLE_STATUS_NUM_PRIMITIVES; i++)
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
176 {
25859
b42be7bb9dac Patch from Paul Aurich to add purple_strequal to help readability and simplicity of code. Ie, don't need to negate the value of strcmp, since this does a strcmp and does the negation for us
Paul Aurich <darkrain42@pidgin.im>
parents: 24955
diff changeset
177 if (purple_strequal(id, status_primitive_map[i].id))
10419
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
178 return status_primitive_map[i].type;
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
179 }
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
180
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
181 return status_primitive_map[0].type;
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
182 }
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
183
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
184
cb6b7316fdba [gaim-migrate @ 11670]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
185 /**************************************************************************
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
186 * PurpleStatusType API
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
187 **************************************************************************/
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
188 PurpleStatusType *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
189 purple_status_type_new_full(PurpleStatusPrimitive primitive, const char *id,
10009
8a4fcc043f47 [gaim-migrate @ 10926]
Mark Doliner <markdoliner@pidgin.im>
parents: 10006
diff changeset
190 const char *name, gboolean saveable,
8a4fcc043f47 [gaim-migrate @ 10926]
Mark Doliner <markdoliner@pidgin.im>
parents: 10006
diff changeset
191 gboolean user_settable, gboolean independent)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
192 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
193 PurpleStatusType *status_type;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
194
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
195 g_return_val_if_fail(primitive != PURPLE_STATUS_UNSET, NULL);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
196
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
197 status_type = g_new0(PurpleStatusType, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
198 PURPLE_DBUS_REGISTER_POINTER(status_type, PurpleStatusType);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
199
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
200 status_type->primitive = primitive;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
201 status_type->saveable = saveable;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
202 status_type->user_settable = user_settable;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
203 status_type->independent = independent;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
204
12595
8108c22aa723 [gaim-migrate @ 14925]
Richard Laager <rlaager@pidgin.im>
parents: 12587
diff changeset
205 if (id != NULL)
8108c22aa723 [gaim-migrate @ 14925]
Richard Laager <rlaager@pidgin.im>
parents: 12587
diff changeset
206 status_type->id = g_strdup(id);
8108c22aa723 [gaim-migrate @ 14925]
Richard Laager <rlaager@pidgin.im>
parents: 12587
diff changeset
207 else
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
208 status_type->id = g_strdup(purple_primitive_get_id_from_type(primitive));
12595
8108c22aa723 [gaim-migrate @ 14925]
Richard Laager <rlaager@pidgin.im>
parents: 12587
diff changeset
209
8108c22aa723 [gaim-migrate @ 14925]
Richard Laager <rlaager@pidgin.im>
parents: 12587
diff changeset
210 if (name != NULL)
8108c22aa723 [gaim-migrate @ 14925]
Richard Laager <rlaager@pidgin.im>
parents: 12587
diff changeset
211 status_type->name = g_strdup(name);
8108c22aa723 [gaim-migrate @ 14925]
Richard Laager <rlaager@pidgin.im>
parents: 12587
diff changeset
212 else
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
213 status_type->name = g_strdup(purple_primitive_get_name_from_type(primitive));
12595
8108c22aa723 [gaim-migrate @ 14925]
Richard Laager <rlaager@pidgin.im>
parents: 12587
diff changeset
214
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
215 return status_type;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
216 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
217
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
218 PurpleStatusType *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
219 purple_status_type_new(PurpleStatusPrimitive primitive, const char *id,
10009
8a4fcc043f47 [gaim-migrate @ 10926]
Mark Doliner <markdoliner@pidgin.im>
parents: 10006
diff changeset
220 const char *name, gboolean user_settable)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
221 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
222 g_return_val_if_fail(primitive != PURPLE_STATUS_UNSET, NULL);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
223
25445
b36f23e05c50 Thomas Gibson-Robinson noticed that the "saveable" attribute of a status type
Daniel Atallah <datallah@pidgin.im>
parents: 23389
diff changeset
224 return purple_status_type_new_full(primitive, id, name, TRUE,
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
225 user_settable, FALSE);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
226 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
227
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
228 static void
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
229 status_type_add_attr(PurpleStatusType *status_type, const char *id,
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
230 const char *name, GValue *value)
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
231 {
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
232 PurpleStatusAttr *attr;
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
233
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
234 g_return_if_fail(status_type != NULL);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
235 g_return_if_fail(id != NULL);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
236 g_return_if_fail(name != NULL);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
237 g_return_if_fail(value != NULL);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
238
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
239 attr = purple_status_attr_new(id, name, value);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
240
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
241 status_type->attrs = g_list_append(status_type->attrs, attr);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
242 }
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
243
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
244 static void
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
245 status_type_add_attrs_vargs(PurpleStatusType *status_type, va_list args)
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
246 {
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
247 const char *id, *name;
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
248 GValue *value;
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
249
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
250 g_return_if_fail(status_type != NULL);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
251
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
252 while ((id = va_arg(args, const char *)) != NULL)
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
253 {
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
254 name = va_arg(args, const char *);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
255 g_return_if_fail(name != NULL);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
256
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
257 value = va_arg(args, GValue *);
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
258 g_return_if_fail(value != NULL);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
259
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
260 status_type_add_attr(status_type, id, name, value);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
261 }
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
262 }
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
263
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
264 PurpleStatusType *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
265 purple_status_type_new_with_attrs(PurpleStatusPrimitive primitive,
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
266 const char *id, const char *name,
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
267 gboolean saveable, gboolean user_settable,
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
268 gboolean independent, const char *attr_id,
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
269 const char *attr_name, GValue *attr_value,
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
270 ...)
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
271 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
272 PurpleStatusType *status_type;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
273 va_list args;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
274
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
275 g_return_val_if_fail(primitive != PURPLE_STATUS_UNSET, NULL);
10012
da9fdfbf4c5a [gaim-migrate @ 10929]
Nathan Walp <nwalp@pidgin.im>
parents: 10010
diff changeset
276 g_return_val_if_fail(attr_id != NULL, NULL);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
277 g_return_val_if_fail(attr_name != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
278 g_return_val_if_fail(attr_value != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
279
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
280 status_type = purple_status_type_new_full(primitive, id, name, saveable,
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
281 user_settable, independent);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
282
10010
d9ee01f0659a [gaim-migrate @ 10927]
Mark Doliner <markdoliner@pidgin.im>
parents: 10009
diff changeset
283 /* Add the first attribute */
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
284 status_type_add_attr(status_type, attr_id, attr_name, attr_value);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
285
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
286 va_start(args, attr_value);
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
287 status_type_add_attrs_vargs(status_type, args);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
288 va_end(args);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
289
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
290 return status_type;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
291 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
292
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
293 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
294 purple_status_type_destroy(PurpleStatusType *status_type)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
295 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
296 g_return_if_fail(status_type != NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
297
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
298 g_free(status_type->id);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
299 g_free(status_type->name);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
300
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
301 g_list_foreach(status_type->attrs, (GFunc)purple_status_attr_destroy, NULL);
14097
0c340861ab79 [gaim-migrate @ 16638]
Mark Doliner <markdoliner@pidgin.im>
parents: 13929
diff changeset
302 g_list_free(status_type->attrs);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
303
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
304 PURPLE_DBUS_UNREGISTER_POINTER(status_type);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
305 g_free(status_type);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
306 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
307
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
308 PurpleStatusPrimitive
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
309 purple_status_type_get_primitive(const PurpleStatusType *status_type)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
310 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
311 g_return_val_if_fail(status_type != NULL, PURPLE_STATUS_UNSET);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
312
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
313 return status_type->primitive;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
314 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
315
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
316 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
317 purple_status_type_get_id(const PurpleStatusType *status_type)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
318 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
319 g_return_val_if_fail(status_type != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
320
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
321 return status_type->id;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
322 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
323
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
324 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
325 purple_status_type_get_name(const PurpleStatusType *status_type)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
326 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
327 g_return_val_if_fail(status_type != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
328
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
329 return status_type->name;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
330 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
331
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
332 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
333 purple_status_type_is_saveable(const PurpleStatusType *status_type)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
334 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
335 g_return_val_if_fail(status_type != NULL, FALSE);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
336
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
337 return status_type->saveable;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
338 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
339
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
340 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
341 purple_status_type_is_user_settable(const PurpleStatusType *status_type)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
342 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
343 g_return_val_if_fail(status_type != NULL, FALSE);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
344
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
345 return status_type->user_settable;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
346 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
347
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
348 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
349 purple_status_type_is_independent(const PurpleStatusType *status_type)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
350 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
351 g_return_val_if_fail(status_type != NULL, FALSE);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
352
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
353 return status_type->independent;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
354 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
355
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
356 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
357 purple_status_type_is_exclusive(const PurpleStatusType *status_type)
10067
d04171b6f098 [gaim-migrate @ 11043]
Mark Doliner <markdoliner@pidgin.im>
parents: 10056
diff changeset
358 {
d04171b6f098 [gaim-migrate @ 11043]
Mark Doliner <markdoliner@pidgin.im>
parents: 10056
diff changeset
359 g_return_val_if_fail(status_type != NULL, FALSE);
d04171b6f098 [gaim-migrate @ 11043]
Mark Doliner <markdoliner@pidgin.im>
parents: 10056
diff changeset
360
d04171b6f098 [gaim-migrate @ 11043]
Mark Doliner <markdoliner@pidgin.im>
parents: 10056
diff changeset
361 return !status_type->independent;
d04171b6f098 [gaim-migrate @ 11043]
Mark Doliner <markdoliner@pidgin.im>
parents: 10056
diff changeset
362 }
d04171b6f098 [gaim-migrate @ 11043]
Mark Doliner <markdoliner@pidgin.im>
parents: 10056
diff changeset
363
d04171b6f098 [gaim-migrate @ 11043]
Mark Doliner <markdoliner@pidgin.im>
parents: 10056
diff changeset
364 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
365 purple_status_type_is_available(const PurpleStatusType *status_type)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
366 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
367 PurpleStatusPrimitive primitive;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
368
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
369 g_return_val_if_fail(status_type != NULL, FALSE);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
370
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
371 primitive = purple_status_type_get_primitive(status_type);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
372
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
373 return (primitive == PURPLE_STATUS_AVAILABLE);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
374 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
375
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
376 PurpleStatusAttr *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
377 purple_status_type_get_attr(const PurpleStatusType *status_type, const char *id)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
378 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
379 GList *l;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
380
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
381 g_return_val_if_fail(status_type != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
382 g_return_val_if_fail(id != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
383
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
384 for (l = status_type->attrs; l != NULL; l = l->next)
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
385 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
386 PurpleStatusAttr *attr = (PurpleStatusAttr *)l->data;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
387
25859
b42be7bb9dac Patch from Paul Aurich to add purple_strequal to help readability and simplicity of code. Ie, don't need to negate the value of strcmp, since this does a strcmp and does the negation for us
Paul Aurich <darkrain42@pidgin.im>
parents: 24955
diff changeset
388 if (purple_strequal(purple_status_attr_get_id(attr), id))
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
389 return attr;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
390 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
391
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
392 return NULL;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
393 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
394
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 17515
diff changeset
395 GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
396 purple_status_type_get_attrs(const PurpleStatusType *status_type)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
397 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
398 g_return_val_if_fail(status_type != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
399
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
400 return status_type->attrs;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
401 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
402
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
403 const PurpleStatusType *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
404 purple_status_type_find_with_id(GList *status_types, const char *id)
10348
0ab5eb1a828e [gaim-migrate @ 11562]
Mark Doliner <markdoliner@pidgin.im>
parents: 10343
diff changeset
405 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
406 PurpleStatusType *status_type;
10348
0ab5eb1a828e [gaim-migrate @ 11562]
Mark Doliner <markdoliner@pidgin.im>
parents: 10343
diff changeset
407
0ab5eb1a828e [gaim-migrate @ 11562]
Mark Doliner <markdoliner@pidgin.im>
parents: 10343
diff changeset
408 g_return_val_if_fail(id != NULL, NULL);
0ab5eb1a828e [gaim-migrate @ 11562]
Mark Doliner <markdoliner@pidgin.im>
parents: 10343
diff changeset
409
0ab5eb1a828e [gaim-migrate @ 11562]
Mark Doliner <markdoliner@pidgin.im>
parents: 10343
diff changeset
410 while (status_types != NULL)
0ab5eb1a828e [gaim-migrate @ 11562]
Mark Doliner <markdoliner@pidgin.im>
parents: 10343
diff changeset
411 {
0ab5eb1a828e [gaim-migrate @ 11562]
Mark Doliner <markdoliner@pidgin.im>
parents: 10343
diff changeset
412 status_type = status_types->data;
0ab5eb1a828e [gaim-migrate @ 11562]
Mark Doliner <markdoliner@pidgin.im>
parents: 10343
diff changeset
413
25859
b42be7bb9dac Patch from Paul Aurich to add purple_strequal to help readability and simplicity of code. Ie, don't need to negate the value of strcmp, since this does a strcmp and does the negation for us
Paul Aurich <darkrain42@pidgin.im>
parents: 24955
diff changeset
414 if (purple_strequal(id, status_type->id))
10348
0ab5eb1a828e [gaim-migrate @ 11562]
Mark Doliner <markdoliner@pidgin.im>
parents: 10343
diff changeset
415 return status_type;
10895
afb9f109e5c6 [gaim-migrate @ 12609]
Rainer Blessing
parents: 10860
diff changeset
416
afb9f109e5c6 [gaim-migrate @ 12609]
Rainer Blessing
parents: 10860
diff changeset
417 status_types = status_types->next;
10348
0ab5eb1a828e [gaim-migrate @ 11562]
Mark Doliner <markdoliner@pidgin.im>
parents: 10343
diff changeset
418 }
0ab5eb1a828e [gaim-migrate @ 11562]
Mark Doliner <markdoliner@pidgin.im>
parents: 10343
diff changeset
419
0ab5eb1a828e [gaim-migrate @ 11562]
Mark Doliner <markdoliner@pidgin.im>
parents: 10343
diff changeset
420 return NULL;
0ab5eb1a828e [gaim-migrate @ 11562]
Mark Doliner <markdoliner@pidgin.im>
parents: 10343
diff changeset
421 }
0ab5eb1a828e [gaim-migrate @ 11562]
Mark Doliner <markdoliner@pidgin.im>
parents: 10343
diff changeset
422
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
423
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
424 /**************************************************************************
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
425 * PurpleStatusAttr API
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
426 **************************************************************************/
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
427 PurpleStatusAttr *
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
428 purple_status_attr_new(const char *id, const char *name, GValue *value_type)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
429 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
430 PurpleStatusAttr *attr;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
431
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
432 g_return_val_if_fail(id != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
433 g_return_val_if_fail(name != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
434 g_return_val_if_fail(value_type != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
435
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
436 attr = g_new0(PurpleStatusAttr, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
437 PURPLE_DBUS_REGISTER_POINTER(attr, PurpleStatusAttr);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
438
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
439 attr->id = g_strdup(id);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
440 attr->name = g_strdup(name);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
441 attr->value_type = value_type;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
442
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
443 return attr;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
444 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
445
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
446 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
447 purple_status_attr_destroy(PurpleStatusAttr *attr)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
448 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
449 g_return_if_fail(attr != NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
450
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
451 g_free(attr->id);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
452 g_free(attr->name);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
453
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
454 purple_g_value_free(attr->value_type);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
455
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
456 PURPLE_DBUS_UNREGISTER_POINTER(attr);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
457 g_free(attr);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
458 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
459
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
460 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
461 purple_status_attr_get_id(const PurpleStatusAttr *attr)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
462 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
463 g_return_val_if_fail(attr != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
464
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
465 return attr->id;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
466 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
467
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
468 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
469 purple_status_attr_get_name(const PurpleStatusAttr *attr)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
470 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
471 g_return_val_if_fail(attr != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
472
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
473 return attr->name;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
474 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
475
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
476 GValue *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
477 purple_status_attr_get_value(const PurpleStatusAttr *attr)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
478 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
479 g_return_val_if_fail(attr != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
480
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
481 return attr->value_type;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
482 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
483
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
484
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
485 /**************************************************************************
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
486 * PurpleStatus API
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
487 **************************************************************************/
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
488 PurpleStatus *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
489 purple_status_new(PurpleStatusType *status_type, PurplePresence *presence)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
490 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
491 PurpleStatus *status;
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 17515
diff changeset
492 GList *l;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
493
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
494 g_return_val_if_fail(status_type != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
495 g_return_val_if_fail(presence != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
496
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
497 status = g_new0(PurpleStatus, 1);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
498 PURPLE_DBUS_REGISTER_POINTER(status, PurpleStatus);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
499
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
500 priv->type = status_type;
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
501 priv->presence = presence;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
502
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
503 priv->attr_values =
23236
e6acfffcc51b Borrow a reference to a string instead of g_strdup'ing it. The
Mark Doliner <markdoliner@pidgin.im>
parents: 22793
diff changeset
504 g_hash_table_new_full(g_str_hash, g_str_equal, NULL,
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
505 (GDestroyNotify)purple_g_value_free);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
506
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
507 for (l = purple_status_type_get_attrs(status_type); l != NULL; l = l->next)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
508 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
509 PurpleStatusAttr *attr = (PurpleStatusAttr *)l->data;
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
510 GValue *value = purple_status_attr_get_value(attr);
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
511 GValue *new_value = purple_g_value_dup(value);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
512
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
513 g_hash_table_insert(priv->attr_values,
23236
e6acfffcc51b Borrow a reference to a string instead of g_strdup'ing it. The
Mark Doliner <markdoliner@pidgin.im>
parents: 22793
diff changeset
514 (char *)purple_status_attr_get_id(attr),
10197
28d80bc4a51d [gaim-migrate @ 11314]
Mark Doliner <markdoliner@pidgin.im>
parents: 10196
diff changeset
515 new_value);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
516 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
517
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
518 return status;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
519 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
520
10754
d5f1ddb4146f [gaim-migrate @ 12357]
Mark Doliner <markdoliner@pidgin.im>
parents: 10738
diff changeset
521 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
522 * TODO: If the PurpleStatus is in a PurplePresence, then
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
523 * remove it from the PurplePresence?
10754
d5f1ddb4146f [gaim-migrate @ 12357]
Mark Doliner <markdoliner@pidgin.im>
parents: 10738
diff changeset
524 */
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
525 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
526 purple_status_destroy(PurpleStatus *status)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
527 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
528 g_return_if_fail(status != NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
529
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
530 g_hash_table_destroy(priv->attr_values);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
531
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
532 PURPLE_DBUS_UNREGISTER_POINTER(status);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
533 g_free(status);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
534 }
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
535
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
536 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
537 notify_buddy_status_update(PurpleBuddy *buddy, PurplePresence *presence,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
538 PurpleStatus *old_status, PurpleStatus *new_status)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
539 {
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
540 if (purple_prefs_get_bool("/purple/logging/log_system"))
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
541 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
542 time_t current_time = time(NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
543 const char *buddy_alias = purple_buddy_get_alias(buddy);
20369
b86fcf0d82e6 Include real names in system log messags. Fixes #3130
Sean Egan <seanegan@pidgin.im>
parents: 20147
diff changeset
544 char *tmp, *logtmp;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
545 PurpleLog *log;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
546
13538
b8d9f7abeb7f [gaim-migrate @ 15914]
Richard Laager <rlaager@pidgin.im>
parents: 13516
diff changeset
547 if (old_status != NULL)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
548 {
24955
77727fac30c6 Finish off the libpurple updates for the hidden blist structs
Gary Kramlich <grim@reaperworld.com>
parents: 23389
diff changeset
549 tmp = g_strdup_printf(_("%s (%s) changed status from %s to %s"), buddy_alias,
77727fac30c6 Finish off the libpurple updates for the hidden blist structs
Gary Kramlich <grim@reaperworld.com>
parents: 23389
diff changeset
550 purple_buddy_get_name(buddy),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
551 purple_status_get_name(old_status),
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
552 purple_status_get_name(new_status));
21965
fded473be12a Escape system log messages before sending to the loggers. Fixes #4426
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21201
diff changeset
553 logtmp = g_markup_escape_text(tmp, -1);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
554 }
13538
b8d9f7abeb7f [gaim-migrate @ 15914]
Richard Laager <rlaager@pidgin.im>
parents: 13516
diff changeset
555 else
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
556 {
13538
b8d9f7abeb7f [gaim-migrate @ 15914]
Richard Laager <rlaager@pidgin.im>
parents: 13516
diff changeset
557 /* old_status == NULL when an independent status is toggled. */
b8d9f7abeb7f [gaim-migrate @ 15914]
Richard Laager <rlaager@pidgin.im>
parents: 13516
diff changeset
558
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
559 if (purple_status_is_active(new_status))
13538
b8d9f7abeb7f [gaim-migrate @ 15914]
Richard Laager <rlaager@pidgin.im>
parents: 13516
diff changeset
560 {
24955
77727fac30c6 Finish off the libpurple updates for the hidden blist structs
Gary Kramlich <grim@reaperworld.com>
parents: 23389
diff changeset
561 tmp = g_strdup_printf(_("%s (%s) is now %s"), buddy_alias,
77727fac30c6 Finish off the libpurple updates for the hidden blist structs
Gary Kramlich <grim@reaperworld.com>
parents: 23389
diff changeset
562 purple_buddy_get_name(buddy),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
563 purple_status_get_name(new_status));
21965
fded473be12a Escape system log messages before sending to the loggers. Fixes #4426
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21201
diff changeset
564 logtmp = g_markup_escape_text(tmp, -1);
13538
b8d9f7abeb7f [gaim-migrate @ 15914]
Richard Laager <rlaager@pidgin.im>
parents: 13516
diff changeset
565 }
b8d9f7abeb7f [gaim-migrate @ 15914]
Richard Laager <rlaager@pidgin.im>
parents: 13516
diff changeset
566 else
b8d9f7abeb7f [gaim-migrate @ 15914]
Richard Laager <rlaager@pidgin.im>
parents: 13516
diff changeset
567 {
24955
77727fac30c6 Finish off the libpurple updates for the hidden blist structs
Gary Kramlich <grim@reaperworld.com>
parents: 23389
diff changeset
568 tmp = g_strdup_printf(_("%s (%s) is no longer %s"), buddy_alias,
77727fac30c6 Finish off the libpurple updates for the hidden blist structs
Gary Kramlich <grim@reaperworld.com>
parents: 23389
diff changeset
569 purple_buddy_get_name(buddy),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
570 purple_status_get_name(new_status));
21965
fded473be12a Escape system log messages before sending to the loggers. Fixes #4426
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21201
diff changeset
571 logtmp = g_markup_escape_text(tmp, -1);
13538
b8d9f7abeb7f [gaim-migrate @ 15914]
Richard Laager <rlaager@pidgin.im>
parents: 13516
diff changeset
572 }
13507
30967205df90 [gaim-migrate @ 15882]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13374
diff changeset
573 }
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
574
24955
77727fac30c6 Finish off the libpurple updates for the hidden blist structs
Gary Kramlich <grim@reaperworld.com>
parents: 23389
diff changeset
575 log = purple_account_get_log(purple_buddy_get_account(buddy), FALSE);
13538
b8d9f7abeb7f [gaim-migrate @ 15914]
Richard Laager <rlaager@pidgin.im>
parents: 13516
diff changeset
576 if (log != NULL)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
577 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
578 purple_log_write(log, PURPLE_MESSAGE_SYSTEM, buddy_alias,
20369
b86fcf0d82e6 Include real names in system log messags. Fixes #3130
Sean Egan <seanegan@pidgin.im>
parents: 20147
diff changeset
579 current_time, logtmp);
13538
b8d9f7abeb7f [gaim-migrate @ 15914]
Richard Laager <rlaager@pidgin.im>
parents: 13516
diff changeset
580 }
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
581
13538
b8d9f7abeb7f [gaim-migrate @ 15914]
Richard Laager <rlaager@pidgin.im>
parents: 13516
diff changeset
582 g_free(tmp);
20369
b86fcf0d82e6 Include real names in system log messags. Fixes #3130
Sean Egan <seanegan@pidgin.im>
parents: 20147
diff changeset
583 g_free(logtmp);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
584 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
585 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
586
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
587 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
588 notify_status_update(PurplePresence *presence, PurpleStatus *old_status,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
589 PurpleStatus *new_status)
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
590 {
34847
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
591 if (PURPLE_IS_ACCOUNT_PRESENCE(presence))
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
592 {
34847
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
593 PurpleAccount *account = purple_account_presence_get_account(
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
594 PURPLE_ACCOUNT_PRESENCE(presence));
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
595 PurpleAccountUiOps *ops = purple_accounts_get_ui_ops();
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
596
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
597 if (purple_account_get_enabled(account, purple_core_get_ui()))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
598 purple_prpl_change_account_status(account, old_status, new_status);
10176
753b4c93479d [gaim-migrate @ 11291]
Christian Hammond <chipx86@chipx86.com>
parents: 10153
diff changeset
599
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
600 if (ops != NULL && ops->status_changed != NULL)
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
601 {
10176
753b4c93479d [gaim-migrate @ 11291]
Christian Hammond <chipx86@chipx86.com>
parents: 10153
diff changeset
602 ops->status_changed(account, new_status);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
603 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
604 }
34847
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
605 else if (PURPLE_IS_BUDDY_PRESENCE(presence))
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
606 {
34847
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
607 notify_buddy_status_update(purple_buddy_presence_get_buddy(
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
608 PURPLE_BUDDY_PRESENCE(presence)), presence, old_status,
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
609 new_status);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
610 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
611 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
612
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
613 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
614 status_has_changed(PurpleStatus *status)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
615 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
616 PurplePresence *presence;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
617 PurpleStatus *old_status;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
618
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
619 presence = purple_status_get_presence(status);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
620
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
621 /*
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
622 * If this status is exclusive, then we must be setting it to "active."
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
623 * Since we are setting it to active, we want to set the currently
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
624 * active status to "inactive."
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
625 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
626 if (purple_status_is_exclusive(status))
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
627 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
628 old_status = purple_presence_get_active_status(presence);
10760
36ed17d3ad9d [gaim-migrate @ 12363]
Mark Doliner <markdoliner@pidgin.im>
parents: 10754
diff changeset
629 if (old_status != NULL && (old_status != status))
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
630 old_priv->active = FALSE;
34851
8dd17abe4901 Set presence property "active-status" directly
Ankit Vani <a@nevitus.org>
parents: 34847
diff changeset
631 g_object_set(presence, "active-status", status, NULL);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
632 }
10754
d5f1ddb4146f [gaim-migrate @ 12357]
Mark Doliner <markdoliner@pidgin.im>
parents: 10738
diff changeset
633 else
d5f1ddb4146f [gaim-migrate @ 12357]
Mark Doliner <markdoliner@pidgin.im>
parents: 10738
diff changeset
634 old_status = NULL;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
635
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
636 notify_status_update(presence, old_status, status);
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
637 }
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
638
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
639 static void
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
640 status_set_attr_boolean(PurpleStatus *status, const char *id,
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
641 gboolean value)
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
642 {
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
643 GValue *attr_value;
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
644
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
645 g_return_if_fail(status != NULL);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
646 g_return_if_fail(id != NULL);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
647
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
648 /* Make sure this attribute exists and is the correct type. */
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
649 attr_value = purple_status_get_attr_value(status, id);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
650 g_return_if_fail(attr_value != NULL);
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
651 g_return_if_fail(G_VALUE_TYPE(attr_value) == G_TYPE_BOOLEAN);
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
652
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
653 g_value_set_boolean(attr_value, value);
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
654 }
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
655
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
656 static void
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
657 status_set_attr_int(PurpleStatus *status, const char *id, int value)
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
658 {
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
659 GValue *attr_value;
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
660
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
661 g_return_if_fail(status != NULL);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
662 g_return_if_fail(id != NULL);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
663
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
664 /* Make sure this attribute exists and is the correct type. */
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
665 attr_value = purple_status_get_attr_value(status, id);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
666 g_return_if_fail(attr_value != NULL);
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
667 g_return_if_fail(G_VALUE_TYPE(attr_value) == G_TYPE_INT);
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
668
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
669 g_value_set_int(attr_value, value);
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
670 }
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
671
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
672 static void
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
673 status_set_attr_string(PurpleStatus *status, const char *id,
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
674 const char *value)
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
675 {
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
676 GValue *attr_value;
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
677
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
678 g_return_if_fail(status != NULL);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
679 g_return_if_fail(id != NULL);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
680
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
681 /* Make sure this attribute exists and is the correct type. */
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
682 attr_value = purple_status_get_attr_value(status, id);
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
683 /* This used to be g_return_if_fail, but it's failing a LOT, so
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
684 * let's generate a log error for now. */
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
685 /* g_return_if_fail(attr_value != NULL); */
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
686 if (attr_value == NULL) {
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
687 purple_debug_error("status",
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
688 "Attempted to set status attribute '%s' for "
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
689 "status '%s', which is not legal. Fix "
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
690 "this!\n", id,
34855
9c289149eed4 Global replaces according to GObject status API
Ankit Vani <a@nevitus.org>
parents: 34854
diff changeset
691 purple_status_type_get_name(purple_status_get_status_type(status)));
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
692 return;
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
693 }
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
694 g_return_if_fail(G_VALUE_TYPE(attr_value) == G_TYPE_STRING);
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
695
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
696 /* XXX: Check if the value has actually changed. If it has, and the status
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
697 * is active, should this trigger 'status_has_changed'? */
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
698 g_value_set_string(attr_value, value);
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
699 }
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
700
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
701 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
702 purple_status_set_active(PurpleStatus *status, gboolean active)
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
703 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
704 purple_status_set_active_with_attrs_list(status, active, NULL);
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
705 }
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
706
11249
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
707 /*
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
708 * This used to parse the va_list directly, but now it creates a GList
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
709 * and passes it to purple_status_set_active_with_attrs_list(). That
11249
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
710 * function was created because accounts.c needs to pass a GList of
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
711 * attributes to the status API.
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
712 */
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
713 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
714 purple_status_set_active_with_attrs(PurpleStatus *status, gboolean active, va_list args)
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
715 {
11249
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
716 GList *attrs = NULL;
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
717 const gchar *id;
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
718 gpointer data;
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
719
14705
c7b02232f020 [gaim-migrate @ 17389]
Mark Doliner <markdoliner@pidgin.im>
parents: 14453
diff changeset
720 while ((id = va_arg(args, const char *)) != NULL)
11249
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
721 {
14705
c7b02232f020 [gaim-migrate @ 17389]
Mark Doliner <markdoliner@pidgin.im>
parents: 14453
diff changeset
722 attrs = g_list_append(attrs, (char *)id);
c7b02232f020 [gaim-migrate @ 17389]
Mark Doliner <markdoliner@pidgin.im>
parents: 14453
diff changeset
723 data = va_arg(args, void *);
c7b02232f020 [gaim-migrate @ 17389]
Mark Doliner <markdoliner@pidgin.im>
parents: 14453
diff changeset
724 attrs = g_list_append(attrs, data);
11249
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
725 }
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
726 purple_status_set_active_with_attrs_list(status, active, attrs);
11249
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
727 g_list_free(attrs);
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
728 }
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
729
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
730 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
731 purple_status_set_active_with_attrs_list(PurpleStatus *status, gboolean active,
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 17515
diff changeset
732 GList *attrs)
11249
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
733 {
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
734 gboolean changed = FALSE;
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 17515
diff changeset
735 GList *l;
13374
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
736 GList *specified_attr_ids = NULL;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
737 PurpleStatusType *status_type;
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
738
10714
12d85e127f8e [gaim-migrate @ 12308]
Mark Doliner <markdoliner@pidgin.im>
parents: 10713
diff changeset
739 g_return_if_fail(status != NULL);
12d85e127f8e [gaim-migrate @ 12308]
Mark Doliner <markdoliner@pidgin.im>
parents: 10713
diff changeset
740
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
741 if (!active && purple_status_is_exclusive(status))
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
742 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
743 purple_debug_error("status",
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
744 "Cannot deactivate an exclusive status (%s).\n",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
745 purple_status_get_id(status));
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
746 return;
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
747 }
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
748
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
749 if (priv->active != active)
10738
63ca8277c234 [gaim-migrate @ 12340]
Mark Doliner <markdoliner@pidgin.im>
parents: 10714
diff changeset
750 {
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
751 changed = TRUE;
10738
63ca8277c234 [gaim-migrate @ 12340]
Mark Doliner <markdoliner@pidgin.im>
parents: 10714
diff changeset
752 }
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
753
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
754 priv->active = active;
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
755
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
756 /* Set any attributes */
13374
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
757 l = attrs;
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
758 while (l != NULL)
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
759 {
13374
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
760 const gchar *id;
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
761 GValue *value;
11249
efc82f3e1bd3 [gaim-migrate @ 13418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11187
diff changeset
762
13374
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
763 id = l->data;
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
764 l = l->next;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
765 value = purple_status_get_attr_value(status, id);
10713
648a49b350f2 [gaim-migrate @ 12307]
Mark Doliner <markdoliner@pidgin.im>
parents: 10580
diff changeset
766 if (value == NULL)
648a49b350f2 [gaim-migrate @ 12307]
Mark Doliner <markdoliner@pidgin.im>
parents: 10580
diff changeset
767 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
768 purple_debug_warning("status", "The attribute \"%s\" on the status \"%s\" is "
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
769 "not supported.\n", id, priv->type->name);
10713
648a49b350f2 [gaim-migrate @ 12307]
Mark Doliner <markdoliner@pidgin.im>
parents: 10580
diff changeset
770 /* Skip over the data and move on to the next attribute */
13374
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
771 l = l->next;
10713
648a49b350f2 [gaim-migrate @ 12307]
Mark Doliner <markdoliner@pidgin.im>
parents: 10580
diff changeset
772 continue;
648a49b350f2 [gaim-migrate @ 12307]
Mark Doliner <markdoliner@pidgin.im>
parents: 10580
diff changeset
773 }
648a49b350f2 [gaim-migrate @ 12307]
Mark Doliner <markdoliner@pidgin.im>
parents: 10580
diff changeset
774
13374
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
775 specified_attr_ids = g_list_prepend(specified_attr_ids, (gpointer)id);
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
776
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
777 if (G_VALUE_TYPE(value) == G_TYPE_STRING)
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
778 {
13374
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
779 const gchar *string_data = l->data;
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
780 l = l->next;
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
781 if (purple_strequal(string_data, g_value_get_string(value)))
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
782 continue;
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
783 status_set_attr_string(status, id, string_data);
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
784 changed = TRUE;
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
785 }
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
786 else if (G_VALUE_TYPE(value) == G_TYPE_INT)
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
787 {
13374
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
788 int int_data = GPOINTER_TO_INT(l->data);
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
789 l = l->next;
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
790 if (int_data == g_value_get_int(value))
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
791 continue;
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
792 status_set_attr_int(status, id, int_data);
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
793 changed = TRUE;
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
794 }
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
795 else if (G_VALUE_TYPE(value) == G_TYPE_BOOLEAN)
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
796 {
13374
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
797 gboolean boolean_data = GPOINTER_TO_INT(l->data);
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
798 l = l->next;
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
799 if (boolean_data == g_value_get_boolean(value))
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
800 continue;
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
801 status_set_attr_boolean(status, id, boolean_data);
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
802 changed = TRUE;
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
803 }
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
804 else
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
805 {
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
806 /* We don't know what the data is--skip over it */
13374
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
807 l = l->next;
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
808 }
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
809 }
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
810
13374
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
811 /* Reset any unspecified attributes to their default value */
34855
9c289149eed4 Global replaces according to GObject status API
Ankit Vani <a@nevitus.org>
parents: 34854
diff changeset
812 status_type = purple_status_get_status_type(status);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
813 l = purple_status_type_get_attrs(status_type);
25471
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
814 while (l != NULL) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
815 PurpleStatusAttr *attr;
13374
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
816
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
817 attr = l->data;
25471
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
818 l = l->next;
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
819
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
820 if (!g_list_find_custom(specified_attr_ids, attr->id, (GCompareFunc)strcmp)) {
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
821 GValue *default_value;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
822 default_value = purple_status_attr_get_value(attr);
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
823 if (G_VALUE_TYPE(default_value) == G_TYPE_STRING) {
25471
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
824 const char *cur = purple_status_get_attr_string(status, attr->id);
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
825 const char *def = g_value_get_string(default_value);
25471
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
826 if ((cur == NULL && def == NULL)
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
827 || (cur != NULL && def != NULL
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
828 && !strcmp(cur, def))) {
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
829 continue;
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
830 }
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
831
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
832 status_set_attr_string(status, attr->id, def);
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
833 } else if (G_VALUE_TYPE(default_value) == G_TYPE_INT) {
25471
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
834 int cur = purple_status_get_attr_int(status, attr->id);
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
835 int def = g_value_get_int(default_value);
25471
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
836 if (cur == def)
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
837 continue;
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
838
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
839 status_set_attr_int(status, attr->id, def);
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
840 } else if (G_VALUE_TYPE(default_value) == G_TYPE_BOOLEAN) {
25471
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
841 gboolean cur = purple_status_get_attr_boolean(status, attr->id);
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
842 gboolean def = g_value_get_boolean(default_value);
25471
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
843 if (cur == def)
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
844 continue;
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
845
32303
4fb5a17a920d Remove deprecated PurpleStatuc functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32228
diff changeset
846 status_set_attr_boolean(status, attr->id, def);
25471
e67902dda5bd A slightly "warmenhoved" patch from Jon Turney to prevent some unnecessary
Daniel Atallah <datallah@pidgin.im>
parents: 25445
diff changeset
847 }
13374
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
848 changed = TRUE;
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
849 }
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
850 }
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
851 g_list_free(specified_attr_ids);
e5da5325b1fa [gaim-migrate @ 15746]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13249
diff changeset
852
10204
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
853 if (!changed)
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
854 return;
874e91e2a3b3 [gaim-migrate @ 11325]
Mark Doliner <markdoliner@pidgin.im>
parents: 10200
diff changeset
855 status_has_changed(status);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
856 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
857
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
858 PurpleStatusType *
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
859 purple_status_get_status_type(const PurpleStatus *status)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
860 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
861 g_return_val_if_fail(status != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
862
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
863 return priv->type;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
864 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
865
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
866 PurplePresence *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
867 purple_status_get_presence(const PurpleStatus *status)
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
868 {
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
869 g_return_val_if_fail(status != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
870
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
871 return priv->presence;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
872 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
873
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
874 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
875 purple_status_get_id(const PurpleStatus *status)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
876 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
877 g_return_val_if_fail(status != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
878
34855
9c289149eed4 Global replaces according to GObject status API
Ankit Vani <a@nevitus.org>
parents: 34854
diff changeset
879 return purple_status_type_get_id(purple_status_get_status_type(status));
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
880 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
881
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
882 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
883 purple_status_get_name(const PurpleStatus *status)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
884 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
885 g_return_val_if_fail(status != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
886
34855
9c289149eed4 Global replaces according to GObject status API
Ankit Vani <a@nevitus.org>
parents: 34854
diff changeset
887 return purple_status_type_get_name(purple_status_get_status_type(status));
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
888 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
889
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
890 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
891 purple_status_is_independent(const PurpleStatus *status)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
892 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
893 g_return_val_if_fail(status != NULL, FALSE);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
894
34855
9c289149eed4 Global replaces according to GObject status API
Ankit Vani <a@nevitus.org>
parents: 34854
diff changeset
895 return purple_status_type_is_independent(purple_status_get_status_type(status));
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
896 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
897
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
898 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
899 purple_status_is_exclusive(const PurpleStatus *status)
10067
d04171b6f098 [gaim-migrate @ 11043]
Mark Doliner <markdoliner@pidgin.im>
parents: 10056
diff changeset
900 {
d04171b6f098 [gaim-migrate @ 11043]
Mark Doliner <markdoliner@pidgin.im>
parents: 10056
diff changeset
901 g_return_val_if_fail(status != NULL, FALSE);
d04171b6f098 [gaim-migrate @ 11043]
Mark Doliner <markdoliner@pidgin.im>
parents: 10056
diff changeset
902
34855
9c289149eed4 Global replaces according to GObject status API
Ankit Vani <a@nevitus.org>
parents: 34854
diff changeset
903 return purple_status_type_is_exclusive(purple_status_get_status_type(status));
10067
d04171b6f098 [gaim-migrate @ 11043]
Mark Doliner <markdoliner@pidgin.im>
parents: 10056
diff changeset
904 }
d04171b6f098 [gaim-migrate @ 11043]
Mark Doliner <markdoliner@pidgin.im>
parents: 10056
diff changeset
905
d04171b6f098 [gaim-migrate @ 11043]
Mark Doliner <markdoliner@pidgin.im>
parents: 10056
diff changeset
906 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
907 purple_status_is_available(const PurpleStatus *status)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
908 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
909 g_return_val_if_fail(status != NULL, FALSE);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
910
34855
9c289149eed4 Global replaces according to GObject status API
Ankit Vani <a@nevitus.org>
parents: 34854
diff changeset
911 return purple_status_type_is_available(purple_status_get_status_type(status));
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
912 }
6216
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 6113
diff changeset
913
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
914 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
915 purple_status_is_active(const PurpleStatus *status)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
916 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
917 g_return_val_if_fail(status != NULL, FALSE);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
918
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
919 return priv->active;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
920 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
921
10040
b74aeb350fc5 [gaim-migrate @ 10999]
Dave West <kat@users.sourceforge.net>
parents: 10013
diff changeset
922 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
923 purple_status_is_online(const PurpleStatus *status)
10040
b74aeb350fc5 [gaim-migrate @ 10999]
Dave West <kat@users.sourceforge.net>
parents: 10013
diff changeset
924 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
925 PurpleStatusPrimitive primitive;
10040
b74aeb350fc5 [gaim-migrate @ 10999]
Dave West <kat@users.sourceforge.net>
parents: 10013
diff changeset
926
b74aeb350fc5 [gaim-migrate @ 10999]
Dave West <kat@users.sourceforge.net>
parents: 10013
diff changeset
927 g_return_val_if_fail( status != NULL, FALSE);
b74aeb350fc5 [gaim-migrate @ 10999]
Dave West <kat@users.sourceforge.net>
parents: 10013
diff changeset
928
34855
9c289149eed4 Global replaces according to GObject status API
Ankit Vani <a@nevitus.org>
parents: 34854
diff changeset
929 primitive = purple_status_type_get_primitive(purple_status_get_status_type(status));
10040
b74aeb350fc5 [gaim-migrate @ 10999]
Dave West <kat@users.sourceforge.net>
parents: 10013
diff changeset
930
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
931 return (primitive != PURPLE_STATUS_UNSET &&
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
932 primitive != PURPLE_STATUS_OFFLINE);
10040
b74aeb350fc5 [gaim-migrate @ 10999]
Dave West <kat@users.sourceforge.net>
parents: 10013
diff changeset
933 }
b74aeb350fc5 [gaim-migrate @ 10999]
Dave West <kat@users.sourceforge.net>
parents: 10013
diff changeset
934
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
935 GValue *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
936 purple_status_get_attr_value(const PurpleStatus *status, const char *id)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
937 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
938 g_return_val_if_fail(status != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
939 g_return_val_if_fail(id != NULL, NULL);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
940
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
941 return (GValue *)g_hash_table_lookup(priv->attr_values, id);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
942 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
943
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
944 gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
945 purple_status_get_attr_boolean(const PurpleStatus *status, const char *id)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
946 {
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
947 const GValue *value;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
948
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
949 g_return_val_if_fail(status != NULL, FALSE);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
950 g_return_val_if_fail(id != NULL, FALSE);
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
951
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
952 if ((value = purple_status_get_attr_value(status, id)) == NULL)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
953 return FALSE;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
954
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
955 g_return_val_if_fail(G_VALUE_TYPE(value) == G_TYPE_BOOLEAN, FALSE);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
956
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
957 return g_value_get_boolean(value);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
958 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
959
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
960 int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
961 purple_status_get_attr_int(const PurpleStatus *status, const char *id)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
962 {
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
963 const GValue *value;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
964
10507
57c7cdf1fb73 [gaim-migrate @ 11801]
Nathan Walp <nwalp@pidgin.im>
parents: 10504
diff changeset
965 g_return_val_if_fail(status != NULL, 0);
57c7cdf1fb73 [gaim-migrate @ 11801]
Nathan Walp <nwalp@pidgin.im>
parents: 10504
diff changeset
966 g_return_val_if_fail(id != NULL, 0);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
967
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
968 if ((value = purple_status_get_attr_value(status, id)) == NULL)
10507
57c7cdf1fb73 [gaim-migrate @ 11801]
Nathan Walp <nwalp@pidgin.im>
parents: 10504
diff changeset
969 return 0;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
970
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
971 g_return_val_if_fail(G_VALUE_TYPE(value) == G_TYPE_INT, 0);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
972
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
973 return g_value_get_int(value);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
974 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
975
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
976 const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
977 purple_status_get_attr_string(const PurpleStatus *status, const char *id)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
978 {
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
979 const GValue *value;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
980
10507
57c7cdf1fb73 [gaim-migrate @ 11801]
Nathan Walp <nwalp@pidgin.im>
parents: 10504
diff changeset
981 g_return_val_if_fail(status != NULL, NULL);
57c7cdf1fb73 [gaim-migrate @ 11801]
Nathan Walp <nwalp@pidgin.im>
parents: 10504
diff changeset
982 g_return_val_if_fail(id != NULL, NULL);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
983
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
984 if ((value = purple_status_get_attr_value(status, id)) == NULL)
10504
eae130eefbfe [gaim-migrate @ 11796]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10500
diff changeset
985 return NULL;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
986
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
987 g_return_val_if_fail(G_VALUE_TYPE(value) == G_TYPE_STRING, NULL);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
988
34824
6868ad1739a3 Refactored dbus-server, signals, sound, status to use GType and GValue instead of PurpleValue
Ankit Vani <a@nevitus.org>
parents: 34798
diff changeset
989 return g_value_get_string(value);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
990 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
991
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
992 gint
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
993 purple_status_compare(const PurpleStatus *status1, const PurpleStatus *status2)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
994 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
995 PurpleStatusType *type1, *type2;
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
996 int score1 = 0, score2 = 0;
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
997
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
998 if ((status1 == NULL && status2 == NULL) ||
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
999 (status1 == status2))
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1000 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1001 return 0;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1002 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1003 else if (status1 == NULL)
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1004 return 1;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1005 else if (status2 == NULL)
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1006 return -1;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1007
34855
9c289149eed4 Global replaces according to GObject status API
Ankit Vani <a@nevitus.org>
parents: 34854
diff changeset
1008 type1 = purple_status_get_status_type(status1);
9c289149eed4 Global replaces according to GObject status API
Ankit Vani <a@nevitus.org>
parents: 34854
diff changeset
1009 type2 = purple_status_get_status_type(status2);
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1010
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1011 if (purple_status_is_active(status1))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1012 score1 = primitive_scores[purple_status_type_get_primitive(type1)];
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1013
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1014 if (purple_status_is_active(status2))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1015 score2 = primitive_scores[purple_status_type_get_primitive(type2)];
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1016
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1017 if (score1 > score2)
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1018 return -1;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1019 else if (score1 < score2)
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1020 return 1;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1021
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1022 return 0;
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1023 }
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1024
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1025
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1026 /**************************************************************************
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1027 * Status subsystem
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1028 **************************************************************************/
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1029 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1030 score_pref_changed_cb(const char *name, PurplePrefType type,
12816
5f93e09fa9a6 [gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents: 12797
diff changeset
1031 gconstpointer value, gpointer data)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1032 {
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1033 int index = GPOINTER_TO_INT(data);
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1034
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1035 primitive_scores[index] = GPOINTER_TO_INT(value);
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1036 }
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1037
10087
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10077
diff changeset
1038 void *
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
1039 purple_statuses_get_handle(void) {
10087
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10077
diff changeset
1040 static int handle;
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10077
diff changeset
1041
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10077
diff changeset
1042 return &handle;
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10077
diff changeset
1043 }
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10077
diff changeset
1044
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1045 void
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
1046 purple_statuses_init(void)
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1047 {
34855
9c289149eed4 Global replaces according to GObject status API
Ankit Vani <a@nevitus.org>
parents: 34854
diff changeset
1048 void *handle = purple_statuses_get_handle();
10087
e5b80a38939d [gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10077
diff changeset
1049
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
1050 purple_prefs_add_none("/purple/status");
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
1051 purple_prefs_add_none("/purple/status/scores");
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1052
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
1053 purple_prefs_add_int("/purple/status/scores/offline",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1054 primitive_scores[PURPLE_STATUS_OFFLINE]);
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
1055 purple_prefs_add_int("/purple/status/scores/available",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1056 primitive_scores[PURPLE_STATUS_AVAILABLE]);
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
1057 purple_prefs_add_int("/purple/status/scores/invisible",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1058 primitive_scores[PURPLE_STATUS_INVISIBLE]);
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
1059 purple_prefs_add_int("/purple/status/scores/away",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1060 primitive_scores[PURPLE_STATUS_AWAY]);
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
1061 purple_prefs_add_int("/purple/status/scores/extended_away",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1062 primitive_scores[PURPLE_STATUS_EXTENDED_AWAY]);
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
1063 purple_prefs_add_int("/purple/status/scores/idle",
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1064 primitive_scores[SCORE_IDLE]);
34847
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
1065 purple_prefs_add_int("/purple/status/scores/idle_time",
770ba2679b24 Refactored presence.c and status.c to use the GObject PurplePresence API
Ankit Vani <a@nevitus.org>
parents: 34838
diff changeset
1066 primitive_scores[SCORE_IDLE_TIME]);
16857
10072d5790f4 Give offline buddies that support offline messaging a higher score than offline buddies that don't.
Sean Egan <seanegan@pidgin.im>
parents: 16856
diff changeset
1067 purple_prefs_add_int("/purple/status/scores/offline_msg",
10072d5790f4 Give offline buddies that support offline messaging a higher score than offline buddies that don't.
Sean Egan <seanegan@pidgin.im>
parents: 16856
diff changeset
1068 primitive_scores[SCORE_OFFLINE_MESSAGE]);
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1069
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
1070 purple_prefs_connect_callback(handle, "/purple/status/scores/offline",
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1071 score_pref_changed_cb,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1072 GINT_TO_POINTER(PURPLE_STATUS_OFFLINE));
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
1073 purple_prefs_connect_callback(handle, "/purple/status/scores/available",
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1074 score_pref_changed_cb,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1075 GINT_TO_POINTER(PURPLE_STATUS_AVAILABLE));
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
1076 purple_prefs_connect_callback(handle, "/purple/status/scores/invisible",
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1077 score_pref_changed_cb,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1078 GINT_TO_POINTER(PURPLE_STATUS_INVISIBLE));
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
1079 purple_prefs_connect_callback(handle, "/purple/status/scores/away",
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1080 score_pref_changed_cb,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1081 GINT_TO_POINTER(PURPLE_STATUS_AWAY));
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
1082 purple_prefs_connect_callback(handle, "/purple/status/scores/extended_away",
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1083 score_pref_changed_cb,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15657
diff changeset
1084 GINT_TO_POINTER(PURPLE_STATUS_EXTENDED_AWAY));
16478
19107605c565 Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents: 15884
diff changeset
1085 purple_prefs_connect_callback(handle, "/purple/status/scores/idle",
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1086 score_pref_changed_cb,
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1087 GINT_TO_POINTER(SCORE_IDLE));
34856
2c190f625652 Some refactoring for GObject status API.
Ankit Vani <a@nevitus.org>
parents: 34855
diff changeset
1088 purple_prefs_connect_callback(handle, "/purple/status/scores/idle_time",
2c190f625652 Some refactoring for GObject status API.
Ankit Vani <a@nevitus.org>
parents: 34855
diff changeset
1089 score_pref_changed_cb,
2c190f625652 Some refactoring for GObject status API.
Ankit Vani <a@nevitus.org>
parents: 34855
diff changeset
1090 GINT_TO_POINTER(SCORE_IDLE_TIME));
16857
10072d5790f4 Give offline buddies that support offline messaging a higher score than offline buddies that don't.
Sean Egan <seanegan@pidgin.im>
parents: 16856
diff changeset
1091 purple_prefs_connect_callback(handle, "/purple/status/scores/offline_msg",
10072d5790f4 Give offline buddies that support offline messaging a higher score than offline buddies that don't.
Sean Egan <seanegan@pidgin.im>
parents: 16856
diff changeset
1092 score_pref_changed_cb,
10072d5790f4 Give offline buddies that support offline messaging a higher score than offline buddies that don't.
Sean Egan <seanegan@pidgin.im>
parents: 16856
diff changeset
1093 GINT_TO_POINTER(SCORE_OFFLINE_MESSAGE));
20055
ca7144d5605f grab revision 240d37f3b465527200f862ff3c0da77618ae32ae
Luke Schierer <lschiere@pidgin.im>
parents: 19859
diff changeset
1094
ca7144d5605f grab revision 240d37f3b465527200f862ff3c0da77618ae32ae
Luke Schierer <lschiere@pidgin.im>
parents: 19859
diff changeset
1095 purple_prefs_trigger_callback("/purple/status/scores/offline");
ca7144d5605f grab revision 240d37f3b465527200f862ff3c0da77618ae32ae
Luke Schierer <lschiere@pidgin.im>
parents: 19859
diff changeset
1096 purple_prefs_trigger_callback("/purple/status/scores/available");
ca7144d5605f grab revision 240d37f3b465527200f862ff3c0da77618ae32ae
Luke Schierer <lschiere@pidgin.im>
parents: 19859
diff changeset
1097 purple_prefs_trigger_callback("/purple/status/scores/invisible");
ca7144d5605f grab revision 240d37f3b465527200f862ff3c0da77618ae32ae
Luke Schierer <lschiere@pidgin.im>
parents: 19859
diff changeset
1098 purple_prefs_trigger_callback("/purple/status/scores/away");
ca7144d5605f grab revision 240d37f3b465527200f862ff3c0da77618ae32ae
Luke Schierer <lschiere@pidgin.im>
parents: 19859
diff changeset
1099 purple_prefs_trigger_callback("/purple/status/scores/extended_away");
ca7144d5605f grab revision 240d37f3b465527200f862ff3c0da77618ae32ae
Luke Schierer <lschiere@pidgin.im>
parents: 19859
diff changeset
1100 purple_prefs_trigger_callback("/purple/status/scores/idle");
34856
2c190f625652 Some refactoring for GObject status API.
Ankit Vani <a@nevitus.org>
parents: 34855
diff changeset
1101 purple_prefs_trigger_callback("/purple/status/scores/idle_time");
20055
ca7144d5605f grab revision 240d37f3b465527200f862ff3c0da77618ae32ae
Luke Schierer <lschiere@pidgin.im>
parents: 19859
diff changeset
1102 purple_prefs_trigger_callback("/purple/status/scores/offline_msg");
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1103 }
6065
ccd9672f9636 [gaim-migrate @ 6515]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1104
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1105 void
34854
8417ea6a9235 Started GObjectification of PurpleStatus.
Ankit Vani <a@nevitus.org>
parents: 34851
diff changeset
1106 purple_statuses_uninit(void)
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1107 {
28176
6262a177af69 This was wrong, right? How did it work?
Paul Aurich <darkrain42@pidgin.im>
parents: 27787
diff changeset
1108 purple_prefs_disconnect_by_handle(purple_prefs_get_handle());
9949
377cd65fab3d [gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents: 9944
diff changeset
1109 }

mercurial