Mercurial > pidgin
annotate libpurple/prpl.c @ 29475:6d2ba42595fe
oscar: Fix a race condition that leads to a crash.
With SSL enabled, if we start connecting and something calls
purple_account_disconnect between when an SSL flap connection is started
and when the connection is actually established, it isn't properly
cleaned up (and we try to close the flap), which leads to free-after-use.
You can simulate this by adding a timeout-triggered disconnect to the
end of oscar_connect_to_bos.
[02/22/10 17:11:51] <libpurple/oscar> Destroying oscar connection of type 0x0002. Disconnect reason is 0
[02/22/10 17:11:51] <libpurple/oscar> Disconnected. Code is 0x0000 and msg is
(hiicq:17126): GLib-WARNING **: giounix.c:400Error while getting flags for FD: Bad file descriptor (9)
[02/22/10 17:11:51] <libpurple/oscar> Scheduling destruction of FLAP connection of type 0x0002
[02/22/10 17:11:51] <libpurple/oscar> Signed off.
...
[02/22/10 17:11:51] <libpurple/oscar> Destroying oscar connection of type 0x7261. Disconnect reason is 1668179315
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Mon, 22 Feb 2010 17:53:38 +0000 |
parents | 31a34388fb1d |
children | a8cc50c2279f |
rev | line source |
---|---|
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1 /* |
15822 | 2 * purple |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3 * |
15822 | 4 * Purple is the legal property of its developers, whose names are too numerous |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
5 * to list here. Please refer to the COPYRIGHT file distributed with this |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
6 * source distribution. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
7 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
8 * This program is free software; you can redistribute it and/or modify |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
9 * it under the terms of the GNU General Public License as published by |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
10 * the Free Software Foundation; either version 2 of the License, or |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
11 * (at your option) any later version. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
12 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
13 * This program is distributed in the hope that it will be useful, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
16 * GNU General Public License for more details. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
17 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
18 * You should have received a copy of the GNU General Public License |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
19 * along with this program; if not, write to the Free Software |
19681
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19531
diff
changeset
|
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
21 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
22 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
23 #include "internal.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
24 #include "conversation.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
25 #include "debug.h" |
24301
785db7300ef2
Improve our NetworkManager support in a couple of ways:
Richard Laager <rlaager@wiktel.com>
parents:
23571
diff
changeset
|
26 #include "network.h" |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
27 #include "notify.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
28 #include "prpl.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
29 #include "request.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
30 #include "util.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
31 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
32 /**************************************************************************/ |
22097
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
33 /** @name Attention Type API */ |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
34 /**************************************************************************/ |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
35 PurpleAttentionType * |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
36 purple_attention_type_new(const char *ulname, const char *name, |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
37 const char *inc_desc, const char *out_desc) |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
38 { |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
39 PurpleAttentionType *attn = g_new0(PurpleAttentionType, 1); |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
40 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
41 purple_attention_type_set_name(attn, name); |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
42 purple_attention_type_set_incoming_desc(attn, inc_desc); |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
43 purple_attention_type_set_outgoing_desc(attn, out_desc); |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
44 purple_attention_type_set_unlocalized_name(attn, ulname); |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
45 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
46 return attn; |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
47 } |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
48 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
49 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
50 void |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
51 purple_attention_type_set_name(PurpleAttentionType *type, const char *name) |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
52 { |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
53 g_return_if_fail(type != NULL); |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
54 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
55 type->name = name; |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
56 } |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
57 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
58 void |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
59 purple_attention_type_set_incoming_desc(PurpleAttentionType *type, const char *desc) |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
60 { |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
61 g_return_if_fail(type != NULL); |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
62 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
63 type->incoming_description = desc; |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
64 } |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
65 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
66 void |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
67 purple_attention_type_set_outgoing_desc(PurpleAttentionType *type, const char *desc) |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
68 { |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
69 g_return_if_fail(type != NULL); |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
70 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
71 type->outgoing_description = desc; |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
72 } |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
73 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
74 void |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
75 purple_attention_type_set_icon_name(PurpleAttentionType *type, const char *name) |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
76 { |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
77 g_return_if_fail(type != NULL); |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25905
diff
changeset
|
78 |
22097
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
79 type->icon_name = name; |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
80 } |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
81 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
82 void |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
83 purple_attention_type_set_unlocalized_name(PurpleAttentionType *type, const char *ulname) |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
84 { |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
85 g_return_if_fail(type != NULL); |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
86 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
87 type->unlocalized_name = ulname; |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
88 } |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
89 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
90 const char * |
22122
f55f84a1e3f7
const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
22097
diff
changeset
|
91 purple_attention_type_get_name(const PurpleAttentionType *type) |
22097
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
92 { |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
93 g_return_val_if_fail(type != NULL, NULL); |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
94 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
95 return type->name; |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
96 } |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
97 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
98 const char * |
22122
f55f84a1e3f7
const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
22097
diff
changeset
|
99 purple_attention_type_get_incoming_desc(const PurpleAttentionType *type) |
22097
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
100 { |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
101 g_return_val_if_fail(type != NULL, NULL); |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
102 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
103 return type->incoming_description; |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
104 } |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
105 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
106 const char * |
22122
f55f84a1e3f7
const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
22097
diff
changeset
|
107 purple_attention_type_get_outgoing_desc(const PurpleAttentionType *type) |
22097
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
108 { |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
109 g_return_val_if_fail(type != NULL, NULL); |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
110 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
111 return type->outgoing_description; |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
112 } |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
113 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
114 const char * |
22122
f55f84a1e3f7
const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
22097
diff
changeset
|
115 purple_attention_type_get_icon_name(const PurpleAttentionType *type) |
22097
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
116 { |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
117 g_return_val_if_fail(type != NULL, NULL); |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
118 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
119 if(type->icon_name == NULL || *(type->icon_name) == '\0') |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
120 return NULL; |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
121 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
122 return type->icon_name; |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
123 } |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
124 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
125 const char * |
22122
f55f84a1e3f7
const-ify paramteters to some of the new API I added. I thought I did this already.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
22097
diff
changeset
|
126 purple_attention_type_get_unlocalized_name(const PurpleAttentionType *type) |
22097
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
127 { |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
128 g_return_val_if_fail(type != NULL, NULL); |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
129 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
130 return type->unlocalized_name; |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
131 } |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
132 |
eab7d03edfcb
This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
21628
diff
changeset
|
133 /**************************************************************************/ |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
134 /** @name Protocol Plugin API */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
135 /**************************************************************************/ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
136 void |
15822 | 137 purple_prpl_got_account_idle(PurpleAccount *account, gboolean idle, |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
138 time_t idle_time) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
139 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
140 g_return_if_fail(account != NULL); |
15822 | 141 g_return_if_fail(purple_account_is_connected(account)); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
142 |
15822 | 143 purple_presence_set_idle(purple_account_get_presence(account), |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
144 idle, idle_time); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
145 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
146 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
147 void |
15822 | 148 purple_prpl_got_account_login_time(PurpleAccount *account, time_t login_time) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
149 { |
15822 | 150 PurplePresence *presence; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
151 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
152 g_return_if_fail(account != NULL); |
15822 | 153 g_return_if_fail(purple_account_is_connected(account)); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
154 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
155 if (login_time == 0) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
156 login_time = time(NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
157 |
15822 | 158 presence = purple_account_get_presence(account); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
159 |
15822 | 160 purple_presence_set_login_time(presence, login_time); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
161 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
162 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
163 void |
15822 | 164 purple_prpl_got_account_status(PurpleAccount *account, const char *status_id, ...) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
165 { |
15822 | 166 PurplePresence *presence; |
167 PurpleStatus *status; | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
168 va_list args; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
169 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
170 g_return_if_fail(account != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
171 g_return_if_fail(status_id != NULL); |
15822 | 172 g_return_if_fail(purple_account_is_connected(account)); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
173 |
15822 | 174 presence = purple_account_get_presence(account); |
175 status = purple_presence_get_status(presence, status_id); | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
176 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
177 g_return_if_fail(status != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
178 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
179 va_start(args, status_id); |
15822 | 180 purple_status_set_active_with_attrs(status, TRUE, args); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
181 va_end(args); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
182 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
183 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
184 void |
26694
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26524
diff
changeset
|
185 purple_prpl_got_account_actions(PurpleAccount *account) |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26524
diff
changeset
|
186 { |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26524
diff
changeset
|
187 |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26524
diff
changeset
|
188 g_return_if_fail(account != NULL); |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26524
diff
changeset
|
189 g_return_if_fail(purple_account_is_connected(account)); |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26524
diff
changeset
|
190 |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26524
diff
changeset
|
191 purple_signal_emit(purple_accounts_get_handle(), "account-actions-changed", |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26524
diff
changeset
|
192 account); |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26524
diff
changeset
|
193 } |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26524
diff
changeset
|
194 |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26524
diff
changeset
|
195 void |
15822 | 196 purple_prpl_got_user_idle(PurpleAccount *account, const char *name, |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
197 gboolean idle, time_t idle_time) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
198 { |
15822 | 199 PurplePresence *presence; |
18104
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
200 GSList *list; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
201 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
202 g_return_if_fail(account != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
203 g_return_if_fail(name != NULL); |
25321
8c2631eb5da7
I think it's reasonable for prpls to call purple_prpl_got_user_idle()
Mark Doliner <mark@kingant.net>
parents:
24301
diff
changeset
|
204 g_return_if_fail(purple_account_is_connected(account) || purple_account_is_connecting(account)); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
205 |
18104
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
206 if ((list = purple_find_buddies(account, name)) == NULL) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
207 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
208 |
18104
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
209 while (list) { |
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
210 presence = purple_buddy_get_presence(list->data); |
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
211 list = g_slist_delete_link(list, list); |
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
212 purple_presence_set_idle(presence, idle, idle_time); |
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
213 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
214 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
215 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
216 void |
15822 | 217 purple_prpl_got_user_login_time(PurpleAccount *account, const char *name, |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
218 time_t login_time) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
219 { |
18104
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
220 GSList *list; |
15822 | 221 PurplePresence *presence; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
222 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
223 g_return_if_fail(account != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
224 g_return_if_fail(name != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
225 |
18104
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
226 if ((list = purple_find_buddies(account, name)) == NULL) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
227 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
228 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
229 if (login_time == 0) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
230 login_time = time(NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
231 |
18104
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
232 while (list) { |
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
233 PurpleBuddy *buddy = list->data; |
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
234 presence = purple_buddy_get_presence(buddy); |
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
235 list = g_slist_delete_link(list, list); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
236 |
18104
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
237 if (purple_presence_get_login_time(presence) != login_time) |
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
238 { |
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
239 purple_presence_set_login_time(presence, login_time); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
240 |
18104
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
241 purple_signal_emit(purple_blist_get_handle(), "buddy-got-login-time", buddy); |
e4d21d4dfcca
Update the idleness and login-time for all the blistnodes of the same buddy.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
16909
diff
changeset
|
242 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
243 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
244 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
245 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
246 void |
15822 | 247 purple_prpl_got_user_status(PurpleAccount *account, const char *name, |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
248 const char *status_id, ...) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
249 { |
16909
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
250 GSList *list, *l; |
15822 | 251 PurpleBuddy *buddy; |
252 PurplePresence *presence; | |
253 PurpleStatus *status; | |
254 PurpleStatus *old_status; | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
255 va_list args; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
256 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
257 g_return_if_fail(account != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
258 g_return_if_fail(name != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
259 g_return_if_fail(status_id != NULL); |
15822 | 260 g_return_if_fail(purple_account_is_connected(account) || purple_account_is_connecting(account)); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
261 |
16909
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
262 if((list = purple_find_buddies(account, name)) == NULL) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
263 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
264 |
16909
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
265 for(l = list; l != NULL; l = l->next) { |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
266 buddy = l->data; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
267 |
16909
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
268 presence = purple_buddy_get_presence(buddy); |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
269 status = purple_presence_get_status(presence, status_id); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
270 |
16909
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
271 if(NULL == status) |
27534 | 272 /* |
273 * TODO: This should never happen, right? We should call | |
274 * g_warning() or something. | |
275 */ | |
16909
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
276 continue; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
277 |
16909
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
278 old_status = purple_presence_get_active_status(presence); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
279 |
16909
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
280 va_start(args, status_id); |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
281 purple_status_set_active_with_attrs(status, TRUE, args); |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
282 va_end(args); |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
283 |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
284 purple_blist_update_buddy_status(buddy, old_status); |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
285 } |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
286 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
287 g_slist_free(list); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
288 |
27340
2518c5fcd8a2
Make the comment reflect that we are actually just stopping the typing
Etan Reisner <pidgin@unreliablesource.net>
parents:
26694
diff
changeset
|
289 /* The buddy is no longer online, they are therefore by definition not |
2518c5fcd8a2
Make the comment reflect that we are actually just stopping the typing
Etan Reisner <pidgin@unreliablesource.net>
parents:
26694
diff
changeset
|
290 * still typing to us. */ |
29135
7a6c114c1a49
Use purple_prpl_got_media_caps in purple_prpl_got_user_status to remove media
maiku@pidgin.im
parents:
29134
diff
changeset
|
291 if (!purple_status_is_online(status)) { |
15822 | 292 serv_got_typing_stopped(purple_account_get_connection(account), name); |
29135
7a6c114c1a49
Use purple_prpl_got_media_caps in purple_prpl_got_user_status to remove media
maiku@pidgin.im
parents:
29134
diff
changeset
|
293 purple_prpl_got_media_caps(account, name); |
7a6c114c1a49
Use purple_prpl_got_media_caps in purple_prpl_got_user_status to remove media
maiku@pidgin.im
parents:
29134
diff
changeset
|
294 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
295 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
296 |
15822 | 297 void purple_prpl_got_user_status_deactive(PurpleAccount *account, const char *name, |
15523
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15373
diff
changeset
|
298 const char *status_id) |
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15373
diff
changeset
|
299 { |
16909
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
300 GSList *list, *l; |
15822 | 301 PurpleBuddy *buddy; |
302 PurplePresence *presence; | |
303 PurpleStatus *status; | |
15523
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15373
diff
changeset
|
304 |
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15373
diff
changeset
|
305 g_return_if_fail(account != NULL); |
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15373
diff
changeset
|
306 g_return_if_fail(name != NULL); |
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15373
diff
changeset
|
307 g_return_if_fail(status_id != NULL); |
15822 | 308 g_return_if_fail(purple_account_is_connected(account) || purple_account_is_connecting(account)); |
15523
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15373
diff
changeset
|
309 |
16909
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
310 if((list = purple_find_buddies(account, name)) == NULL) |
15523
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15373
diff
changeset
|
311 return; |
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15373
diff
changeset
|
312 |
16909
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
313 for(l = list; l != NULL; l = l->next) { |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
314 buddy = l->data; |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
315 |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
316 presence = purple_buddy_get_presence(buddy); |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
317 status = purple_presence_get_status(presence, status_id); |
15523
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15373
diff
changeset
|
318 |
16909
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
319 if(NULL == status) |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
320 continue; |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
321 |
19531
ecc6019f0a82
Deactivate only an active status.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19476
diff
changeset
|
322 if (purple_status_is_active(status)) { |
ecc6019f0a82
Deactivate only an active status.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19476
diff
changeset
|
323 purple_status_set_active(status, FALSE); |
ecc6019f0a82
Deactivate only an active status.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19476
diff
changeset
|
324 purple_blist_update_buddy_status(buddy, status); |
ecc6019f0a82
Deactivate only an active status.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19476
diff
changeset
|
325 } |
16909
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
326 } |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
327 |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15822
diff
changeset
|
328 g_slist_free(list); |
15523
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15373
diff
changeset
|
329 } |
84b3ab83df35
Use the status API to handle mobileness, and convert AIM to use it. This makes mobile buddies prioritze lower in Perons, and ensures the UI is notified of changes in mobileness. Other protocols to follow.
Sean Egan <seanegan@gmail.com>
parents:
15373
diff
changeset
|
330 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
331 static void |
15822 | 332 do_prpl_change_account_status(PurpleAccount *account, |
333 PurpleStatus *old_status, PurpleStatus *new_status) | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
334 { |
15822 | 335 PurplePlugin *prpl; |
336 PurplePluginProtocolInfo *prpl_info; | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
337 |
15822 | 338 if (purple_status_is_online(new_status) && |
24301
785db7300ef2
Improve our NetworkManager support in a couple of ways:
Richard Laager <rlaager@wiktel.com>
parents:
23571
diff
changeset
|
339 purple_account_is_disconnected(account) && |
785db7300ef2
Improve our NetworkManager support in a couple of ways:
Richard Laager <rlaager@wiktel.com>
parents:
23571
diff
changeset
|
340 purple_network_is_available()) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
341 { |
15822 | 342 purple_account_connect(account); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
343 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
344 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
345 |
15822 | 346 if (!purple_status_is_online(new_status)) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
347 { |
15822 | 348 if (!purple_account_is_disconnected(account)) |
349 purple_account_disconnect(account); | |
20219
d68db74b7165
applied changes from c9d6104bcfe2e630e98e45bc6a0975adfb9544e5
Richard Laager <rlaager@wiktel.com>
parents:
19681
diff
changeset
|
350 /* Clear out the unsaved password if we're already disconnected and we switch to offline status */ |
d68db74b7165
applied changes from c9d6104bcfe2e630e98e45bc6a0975adfb9544e5
Richard Laager <rlaager@wiktel.com>
parents:
19681
diff
changeset
|
351 else if (!purple_account_get_remember_password(account)) |
d68db74b7165
applied changes from c9d6104bcfe2e630e98e45bc6a0975adfb9544e5
Richard Laager <rlaager@wiktel.com>
parents:
19681
diff
changeset
|
352 purple_account_set_password(account, NULL); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
353 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
354 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
355 |
15822 | 356 if (purple_account_is_connecting(account)) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
357 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
358 * We don't need to call the set_status PRPL function because |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
359 * the PRPL will take care of setting its status during the |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
360 * connection process. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
361 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
362 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
363 |
15822 | 364 prpl = purple_find_prpl(purple_account_get_protocol_id(account)); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
365 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
366 if (prpl == NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
367 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
368 |
15822 | 369 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
370 |
15822 | 371 if (!purple_account_is_disconnected(account) && prpl_info->set_status != NULL) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
372 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
373 prpl_info->set_status(account, new_status); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
374 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
375 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
376 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
377 void |
15822 | 378 purple_prpl_change_account_status(PurpleAccount *account, |
379 PurpleStatus *old_status, PurpleStatus *new_status) | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
380 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
381 g_return_if_fail(account != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
382 g_return_if_fail(new_status != NULL); |
21628
495f2f1de998
old_status can be NULL when [de]activating a non-exclusive status.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20219
diff
changeset
|
383 g_return_if_fail(!purple_status_is_exclusive(new_status) || old_status != NULL); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
384 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
385 do_prpl_change_account_status(account, old_status, new_status); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
386 |
15822 | 387 purple_signal_emit(purple_accounts_get_handle(), "account-status-changed", |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
388 account, old_status, new_status); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
389 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
390 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
391 GList * |
15822 | 392 purple_prpl_get_statuses(PurpleAccount *account, PurplePresence *presence) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
393 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
394 GList *statuses = NULL; |
18118
ab6d2763b8d8
Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@wiktel.com>
parents:
18104
diff
changeset
|
395 GList *l; |
15822 | 396 PurpleStatus *status; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
397 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
398 g_return_val_if_fail(account != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
399 g_return_val_if_fail(presence != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
400 |
15822 | 401 for (l = purple_account_get_status_types(account); l != NULL; l = l->next) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
402 { |
15822 | 403 status = purple_status_new((PurpleStatusType *)l->data, presence); |
15593
f485c87e6546
sf patch #1655057, from Peter Tang
Mark Doliner <mark@kingant.net>
parents:
15523
diff
changeset
|
404 statuses = g_list_prepend(statuses, status); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
405 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
406 |
15593
f485c87e6546
sf patch #1655057, from Peter Tang
Mark Doliner <mark@kingant.net>
parents:
15523
diff
changeset
|
407 statuses = g_list_reverse(statuses); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
408 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
409 return statuses; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
410 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
411 |
29312
163f6c3cbdd9
Remove purple_conversation_attention (also let prpl_send_attention handle
Marcus Lundblad <ml@update.uu.se>
parents:
29311
diff
changeset
|
412 static void |
163f6c3cbdd9
Remove purple_conversation_attention (also let prpl_send_attention handle
Marcus Lundblad <ml@update.uu.se>
parents:
29311
diff
changeset
|
413 purple_prpl_attention(PurpleConversation *conv, const char *who, |
163f6c3cbdd9
Remove purple_conversation_attention (also let prpl_send_attention handle
Marcus Lundblad <ml@update.uu.se>
parents:
29311
diff
changeset
|
414 guint type, PurpleMessageFlags flags, time_t mtime) |
163f6c3cbdd9
Remove purple_conversation_attention (also let prpl_send_attention handle
Marcus Lundblad <ml@update.uu.se>
parents:
29311
diff
changeset
|
415 { |
163f6c3cbdd9
Remove purple_conversation_attention (also let prpl_send_attention handle
Marcus Lundblad <ml@update.uu.se>
parents:
29311
diff
changeset
|
416 PurpleAccount *account = purple_conversation_get_account(conv); |
163f6c3cbdd9
Remove purple_conversation_attention (also let prpl_send_attention handle
Marcus Lundblad <ml@update.uu.se>
parents:
29311
diff
changeset
|
417 purple_signal_emit(purple_conversations_get_handle(), |
163f6c3cbdd9
Remove purple_conversation_attention (also let prpl_send_attention handle
Marcus Lundblad <ml@update.uu.se>
parents:
29311
diff
changeset
|
418 flags == PURPLE_MESSAGE_SEND ? "sent-attention" : "got-attention", |
163f6c3cbdd9
Remove purple_conversation_attention (also let prpl_send_attention handle
Marcus Lundblad <ml@update.uu.se>
parents:
29311
diff
changeset
|
419 account, who, conv, type); |
163f6c3cbdd9
Remove purple_conversation_attention (also let prpl_send_attention handle
Marcus Lundblad <ml@update.uu.se>
parents:
29311
diff
changeset
|
420 } |
163f6c3cbdd9
Remove purple_conversation_attention (also let prpl_send_attention handle
Marcus Lundblad <ml@update.uu.se>
parents:
29311
diff
changeset
|
421 |
23571
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
422 void |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
423 purple_prpl_send_attention(PurpleConnection *gc, const char *who, guint type_code) |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
424 { |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
425 PurpleAttentionType *attn; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
426 PurpleMessageFlags flags; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
427 PurplePlugin *prpl; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
428 PurpleConversation *conv; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
429 gboolean (*send_attention)(PurpleConnection *, const char *, guint); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
430 PurpleBuddy *buddy; |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25905
diff
changeset
|
431 const char *alias; |
23571
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
432 gchar *description; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
433 time_t mtime; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
434 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
435 g_return_if_fail(gc != NULL); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
436 g_return_if_fail(who != NULL); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
437 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
438 prpl = purple_find_prpl(purple_account_get_protocol_id(gc->account)); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
439 send_attention = PURPLE_PLUGIN_PROTOCOL_INFO(prpl)->send_attention; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
440 g_return_if_fail(send_attention != NULL); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
441 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
442 mtime = time(NULL); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
443 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
444 attn = purple_get_attention_type_from_code(gc->account, type_code); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
445 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
446 if ((buddy = purple_find_buddy(purple_connection_get_account(gc), who)) != NULL) |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
447 alias = purple_buddy_get_contact_alias(buddy); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
448 else |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
449 alias = who; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
450 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
451 if (attn && purple_attention_type_get_outgoing_desc(attn)) { |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
452 description = g_strdup_printf(purple_attention_type_get_outgoing_desc(attn), alias); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
453 } else { |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
454 description = g_strdup_printf(_("Requesting %s's attention..."), alias); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
455 } |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25905
diff
changeset
|
456 |
23571
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
457 flags = PURPLE_MESSAGE_SEND | PURPLE_MESSAGE_NOTIFY | PURPLE_MESSAGE_SYSTEM; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
458 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
459 purple_debug_info("server", "serv_send_attention: sending '%s' to %s\n", |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
460 description, who); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
461 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
462 if (!send_attention(gc, who, type_code)) |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
463 return; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
464 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
465 conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, gc->account, who); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
466 purple_conv_im_write(PURPLE_CONV_IM(conv), NULL, description, flags, mtime); |
29312
163f6c3cbdd9
Remove purple_conversation_attention (also let prpl_send_attention handle
Marcus Lundblad <ml@update.uu.se>
parents:
29311
diff
changeset
|
467 purple_prpl_attention(conv, who, type_code, PURPLE_MESSAGE_SEND, time(NULL)); |
23571
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
468 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
469 g_free(description); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
470 } |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
471 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
472 static void |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
473 got_attention(PurpleConnection *gc, int id, const char *who, guint type_code) |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
474 { |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
475 PurpleMessageFlags flags; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
476 PurpleAttentionType *attn; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
477 PurpleBuddy *buddy; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
478 const char *alias; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
479 gchar *description; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
480 time_t mtime; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
481 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
482 mtime = time(NULL); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
483 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
484 attn = purple_get_attention_type_from_code(gc->account, type_code); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
485 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
486 /* PURPLE_MESSAGE_NOTIFY is for attention messages. */ |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
487 flags = PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NOTIFY | PURPLE_MESSAGE_RECV; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
488 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
489 /* TODO: if (attn->icon_name) is non-null, use it to lookup an emoticon and display |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
490 * it next to the attention command. And if it is null, display a generic icon. */ |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
491 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
492 if ((buddy = purple_find_buddy(purple_connection_get_account(gc), who)) != NULL) |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
493 alias = purple_buddy_get_contact_alias(buddy); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
494 else |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
495 alias = who; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
496 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
497 if (attn && purple_attention_type_get_incoming_desc(attn)) { |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
498 description = g_strdup_printf(purple_attention_type_get_incoming_desc(attn), alias); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
499 } else { |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
500 description = g_strdup_printf(_("%s has requested your attention!"), alias); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
501 } |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
502 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
503 purple_debug_info("server", "got_attention: got '%s' from %s\n", |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
504 description, who); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
505 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
506 if (id == -1) |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
507 serv_got_im(gc, who, description, flags, mtime); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
508 else |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
509 serv_got_chat_in(gc, id, who, flags, description, mtime); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
510 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
511 /* TODO: sounds (depending on PurpleAttentionType), shaking, etc. */ |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
512 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
513 g_free(description); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
514 } |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
515 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
516 void |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
517 purple_prpl_got_attention(PurpleConnection *gc, const char *who, guint type_code) |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
518 { |
29310
9198a5d39c5c
Let _got_attention call _conversation_attention, instead of having prpls do it
Marcus Lundblad <ml@update.uu.se>
parents:
29308
diff
changeset
|
519 PurpleConversation *conv = NULL; |
9198a5d39c5c
Let _got_attention call _conversation_attention, instead of having prpls do it
Marcus Lundblad <ml@update.uu.se>
parents:
29308
diff
changeset
|
520 PurpleAccount *account = purple_connection_get_account(gc); |
9198a5d39c5c
Let _got_attention call _conversation_attention, instead of having prpls do it
Marcus Lundblad <ml@update.uu.se>
parents:
29308
diff
changeset
|
521 |
23571
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
522 got_attention(gc, -1, who, type_code); |
29310
9198a5d39c5c
Let _got_attention call _conversation_attention, instead of having prpls do it
Marcus Lundblad <ml@update.uu.se>
parents:
29308
diff
changeset
|
523 conv = |
9198a5d39c5c
Let _got_attention call _conversation_attention, instead of having prpls do it
Marcus Lundblad <ml@update.uu.se>
parents:
29308
diff
changeset
|
524 purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, who, account); |
9198a5d39c5c
Let _got_attention call _conversation_attention, instead of having prpls do it
Marcus Lundblad <ml@update.uu.se>
parents:
29308
diff
changeset
|
525 if (conv) |
29312
163f6c3cbdd9
Remove purple_conversation_attention (also let prpl_send_attention handle
Marcus Lundblad <ml@update.uu.se>
parents:
29311
diff
changeset
|
526 purple_prpl_attention(conv, who, type_code, PURPLE_MESSAGE_RECV, |
29310
9198a5d39c5c
Let _got_attention call _conversation_attention, instead of having prpls do it
Marcus Lundblad <ml@update.uu.se>
parents:
29308
diff
changeset
|
527 time(NULL)); |
23571
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
528 } |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
529 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
530 void |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
531 purple_prpl_got_attention_in_chat(PurpleConnection *gc, int id, const char *who, guint type_code) |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
532 { |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
533 got_attention(gc, id, who, type_code); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
534 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
535 |
26365
34eb898478b4
Don't assume a PurpleMedia instance will be created immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26352
diff
changeset
|
536 gboolean |
23859
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
537 purple_prpl_initiate_media(PurpleAccount *account, |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
538 const char *who, |
23869
551a462b346a
Changed PurpleMediaStreamType to PurpleMediaSessionType.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23868
diff
changeset
|
539 PurpleMediaSessionType type) |
23859
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
540 { |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
541 #ifdef USE_VV |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
542 PurpleConnection *gc = NULL; |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
543 PurplePlugin *prpl = NULL; |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
544 PurplePluginProtocolInfo *prpl_info = NULL; |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
545 |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
546 if (account) |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
547 gc = purple_account_get_connection(account); |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
548 if (gc) |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
549 prpl = purple_connection_get_prpl(gc); |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
550 if (prpl) |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
551 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
552 |
23868
1aa383ee5fc8
Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23867
diff
changeset
|
553 if (prpl_info && PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, initiate_media)) { |
23859
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
554 /* should check that the protocol supports this media type here? */ |
26524
df9042312063
Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26365
diff
changeset
|
555 return prpl_info->initiate_media(account, who, type); |
26365
34eb898478b4
Don't assume a PurpleMedia instance will be created immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26352
diff
changeset
|
556 } else |
23859
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
557 #endif |
26365
34eb898478b4
Don't assume a PurpleMedia instance will be created immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26352
diff
changeset
|
558 return FALSE; |
23859
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
559 } |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
560 |
26108
d6e23439b77c
Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26054
diff
changeset
|
561 PurpleMediaCaps |
d6e23439b77c
Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26054
diff
changeset
|
562 purple_prpl_get_media_caps(PurpleAccount *account, const char *who) |
23859
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
563 { |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
564 #ifdef USE_VV |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
565 PurpleConnection *gc = NULL; |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
566 PurplePlugin *prpl = NULL; |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
567 PurplePluginProtocolInfo *prpl_info = NULL; |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
568 |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
569 if (account) |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
570 gc = purple_account_get_connection(account); |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
571 if (gc) |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
572 prpl = purple_connection_get_prpl(gc); |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
573 if (prpl) |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
574 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
575 |
26108
d6e23439b77c
Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26054
diff
changeset
|
576 if (prpl_info && PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, |
d6e23439b77c
Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26054
diff
changeset
|
577 get_media_caps)) { |
26524
df9042312063
Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26365
diff
changeset
|
578 return prpl_info->get_media_caps(account, who); |
23859
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
579 } |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
580 #endif |
26108
d6e23439b77c
Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26054
diff
changeset
|
581 return PURPLE_MEDIA_CAPS_NONE; |
23859
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
582 } |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
583 |
29134
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
584 void |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
585 purple_prpl_got_media_caps(PurpleAccount *account, const char *name) |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
586 { |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
587 #ifdef USE_VV |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
588 GSList *list; |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
589 |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
590 g_return_if_fail(account != NULL); |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
591 g_return_if_fail(name != NULL); |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
592 |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
593 if ((list = purple_find_buddies(account, name)) == NULL) |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
594 return; |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
595 |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
596 while (list) { |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
597 PurpleBuddy *buddy = list->data; |
29334
31a34388fb1d
update prpl.c to use the new purple_buddy_[gs]et_media_caps api
Gary Kramlich <grim@reaperworld.com>
parents:
29315
diff
changeset
|
598 PurpleMediaCaps oldcaps = purple_buddy_get_media_caps(buddy); |
31a34388fb1d
update prpl.c to use the new purple_buddy_[gs]et_media_caps api
Gary Kramlich <grim@reaperworld.com>
parents:
29315
diff
changeset
|
599 PurpleMediaCaps newcaps = 0; |
29138
c5712737e59a
Essentially normalize the username passed to purple_prpl_got_media_caps.
maiku@pidgin.im
parents:
29137
diff
changeset
|
600 const gchar *bname = purple_buddy_get_name(buddy); |
29134
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
601 list = g_slist_delete_link(list, list); |
29137
33715feb7b8d
Add media_caps to PurpleBuddy structure and use it to determine the old caps
maiku@pidgin.im
parents:
29135
diff
changeset
|
602 |
29334
31a34388fb1d
update prpl.c to use the new purple_buddy_[gs]et_media_caps api
Gary Kramlich <grim@reaperworld.com>
parents:
29315
diff
changeset
|
603 |
31a34388fb1d
update prpl.c to use the new purple_buddy_[gs]et_media_caps api
Gary Kramlich <grim@reaperworld.com>
parents:
29315
diff
changeset
|
604 newcaps = purple_prpl_get_media_caps(account, bname); |
31a34388fb1d
update prpl.c to use the new purple_buddy_[gs]et_media_caps api
Gary Kramlich <grim@reaperworld.com>
parents:
29315
diff
changeset
|
605 purple_buddy_set_media_caps(buddy, newcaps); |
31a34388fb1d
update prpl.c to use the new purple_buddy_[gs]et_media_caps api
Gary Kramlich <grim@reaperworld.com>
parents:
29315
diff
changeset
|
606 |
31a34388fb1d
update prpl.c to use the new purple_buddy_[gs]et_media_caps api
Gary Kramlich <grim@reaperworld.com>
parents:
29315
diff
changeset
|
607 if (oldcaps == newcaps) |
29137
33715feb7b8d
Add media_caps to PurpleBuddy structure and use it to determine the old caps
maiku@pidgin.im
parents:
29135
diff
changeset
|
608 continue; |
29134
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
609 |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
610 purple_signal_emit(purple_blist_get_handle(), |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
611 "buddy-caps-changed", buddy, |
29334
31a34388fb1d
update prpl.c to use the new purple_buddy_[gs]et_media_caps api
Gary Kramlich <grim@reaperworld.com>
parents:
29315
diff
changeset
|
612 newcaps, oldcaps); |
29134
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
613 } |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
614 #endif |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
615 } |
4f14b03a9d50
Add the purple_media_got_media_caps function in order to signal when a prpl
maiku@pidgin.im
parents:
27534
diff
changeset
|
616 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
617 /************************************************************************** |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
618 * Protocol Plugin Subsystem API |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
619 **************************************************************************/ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
620 |
15822 | 621 PurplePlugin * |
622 purple_find_prpl(const char *id) | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
623 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
624 GList *l; |
15822 | 625 PurplePlugin *plugin; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
626 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
627 g_return_val_if_fail(id != NULL, NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
628 |
15822 | 629 for (l = purple_plugins_get_protocols(); l != NULL; l = l->next) { |
630 plugin = (PurplePlugin *)l->data; | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
631 |
25894
a6e3cb32cdd2
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 <paul@darkrain42.org>
parents:
24301
diff
changeset
|
632 if (purple_strequal(plugin->info->id, id)) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
633 return plugin; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
634 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
635 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
636 return NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
637 } |