Mercurial > pidgin.yaz
annotate libpurple/prpl.c @ 27192:455e679ea0db
Remove port mappings from the hash tables when removing them.
Actually add NAT-PMP mappings to their hash table
author | Marcus Lundblad <ml@update.uu.se> |
---|---|
date | Wed, 17 Jun 2009 18:14:51 +0000 |
parents | 83e6e710cbf3 |
children | 2518c5fcd8a2 |
rev | line source |
---|---|
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1 /* |
15823 | 2 * purple |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
3 * |
15823 | 4 * Purple is the legal property of its developers, whose names are too numerous |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
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 |
19680
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 |
15374
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" |
24243
785db7300ef2
Improve our NetworkManager support in a couple of ways:
Richard Laager <rlaager@wiktel.com>
parents:
23616
diff
changeset
|
26 #include "network.h" |
15374
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); |
25415
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25396
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 /**************************************************************************/ |
15374
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 |
15823 | 137 purple_prpl_got_account_idle(PurpleAccount *account, gboolean idle, |
15374
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); |
15823 | 141 g_return_if_fail(purple_account_is_connected(account)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
142 |
15823 | 143 purple_presence_set_idle(purple_account_get_presence(account), |
15374
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 |
15823 | 148 purple_prpl_got_account_login_time(PurpleAccount *account, time_t login_time) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
149 { |
15823 | 150 PurplePresence *presence; |
15374
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); |
15823 | 153 g_return_if_fail(purple_account_is_connected(account)); |
15374
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 |
15823 | 158 presence = purple_account_get_presence(account); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
159 |
15823 | 160 purple_presence_set_login_time(presence, login_time); |
15374
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 |
15823 | 164 purple_prpl_got_account_status(PurpleAccount *account, const char *status_id, ...) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
165 { |
15823 | 166 PurplePresence *presence; |
167 PurpleStatus *status; | |
15374
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); |
15823 | 172 g_return_if_fail(purple_account_is_connected(account)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
173 |
15823 | 174 presence = purple_account_get_presence(account); |
175 status = purple_presence_get_status(presence, status_id); | |
15374
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); |
15823 | 180 purple_status_set_active_with_attrs(status, TRUE, args); |
15374
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 |
26776
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26606
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:
26606
diff
changeset
|
186 { |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26606
diff
changeset
|
187 |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26606
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:
26606
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:
26606
diff
changeset
|
190 |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26606
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:
26606
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:
26606
diff
changeset
|
193 } |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26606
diff
changeset
|
194 |
83e6e710cbf3
Add a new signal which is emitted (after the account is connected) if the
Paul Aurich <paul@darkrain42.org>
parents:
26606
diff
changeset
|
195 void |
15823 | 196 purple_prpl_got_user_idle(PurpleAccount *account, const char *name, |
15374
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 { |
15823 | 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:
16920
diff
changeset
|
200 GSList *list; |
15374
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); |
24957
8c2631eb5da7
I think it's reasonable for prpls to call purple_prpl_got_user_idle()
Mark Doliner <mark@kingant.net>
parents:
24243
diff
changeset
|
204 g_return_if_fail(purple_account_is_connected(account) || purple_account_is_connecting(account)); |
15374
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:
16920
diff
changeset
|
206 if ((list = purple_find_buddies(account, name)) == NULL) |
15374
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:
16920
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:
16920
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:
16920
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:
16920
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:
16920
diff
changeset
|
213 } |
15374
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 |
15823 | 217 purple_prpl_got_user_login_time(PurpleAccount *account, const char *name, |
15374
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:
16920
diff
changeset
|
220 GSList *list; |
15823 | 221 PurplePresence *presence; |
15374
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:
16920
diff
changeset
|
226 if ((list = purple_find_buddies(account, name)) == NULL) |
15374
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:
16920
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:
16920
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:
16920
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:
16920
diff
changeset
|
235 list = g_slist_delete_link(list, list); |
15374
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:
16920
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:
16920
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:
16920
diff
changeset
|
239 purple_presence_set_login_time(presence, login_time); |
15374
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:
16920
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:
16920
diff
changeset
|
242 } |
15374
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 |
15823 | 247 purple_prpl_got_user_status(PurpleAccount *account, const char *name, |
15374
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 { |
16920
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
250 GSList *list, *l; |
15823 | 251 PurpleBuddy *buddy; |
252 PurplePresence *presence; | |
253 PurpleStatus *status; | |
254 PurpleStatus *old_status; | |
15374
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); |
15823 | 260 g_return_if_fail(purple_account_is_connected(account) || purple_account_is_connecting(account)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
261 |
16920
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
262 if((list = purple_find_buddies(account, name)) == NULL) |
15374
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 |
16920
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
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:
15823
diff
changeset
|
266 buddy = l->data; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
267 |
16920
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
268 presence = purple_buddy_get_presence(buddy); |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
269 status = purple_presence_get_status(presence, status_id); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
270 |
16920
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
271 if(NULL == status) |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
272 continue; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
273 |
16920
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
274 old_status = purple_presence_get_active_status(presence); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
275 |
16920
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
276 va_start(args, status_id); |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
277 purple_status_set_active_with_attrs(status, TRUE, args); |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
278 va_end(args); |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
279 |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
280 purple_blist_update_buddy_status(buddy, old_status); |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
281 } |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
282 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
283 g_slist_free(list); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
284 |
16920
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
285 /* we get to re-use the last status we found */ |
15823 | 286 if (!purple_status_is_online(status)) |
287 serv_got_typing_stopped(purple_account_get_connection(account), name); | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
288 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
289 |
15823 | 290 void purple_prpl_got_user_status_deactive(PurpleAccount *account, const char *name, |
15524
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:
15374
diff
changeset
|
291 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:
15374
diff
changeset
|
292 { |
16920
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
293 GSList *list, *l; |
15823 | 294 PurpleBuddy *buddy; |
295 PurplePresence *presence; | |
296 PurpleStatus *status; | |
15524
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:
15374
diff
changeset
|
297 |
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:
15374
diff
changeset
|
298 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:
15374
diff
changeset
|
299 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:
15374
diff
changeset
|
300 g_return_if_fail(status_id != NULL); |
15823 | 301 g_return_if_fail(purple_account_is_connected(account) || purple_account_is_connecting(account)); |
15524
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:
15374
diff
changeset
|
302 |
16920
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
303 if((list = purple_find_buddies(account, name)) == NULL) |
15524
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:
15374
diff
changeset
|
304 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:
15374
diff
changeset
|
305 |
16920
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
306 for(l = list; l != NULL; l = l->next) { |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
307 buddy = l->data; |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
308 |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
309 presence = purple_buddy_get_presence(buddy); |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
310 status = purple_presence_get_status(presence, status_id); |
15524
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:
15374
diff
changeset
|
311 |
16920
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
312 if(NULL == status) |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
313 continue; |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
314 |
19531
ecc6019f0a82
Deactivate only an active status.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19476
diff
changeset
|
315 if (purple_status_is_active(status)) { |
ecc6019f0a82
Deactivate only an active status.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19476
diff
changeset
|
316 purple_status_set_active(status, FALSE); |
ecc6019f0a82
Deactivate only an active status.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19476
diff
changeset
|
317 purple_blist_update_buddy_status(buddy, status); |
ecc6019f0a82
Deactivate only an active status.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19476
diff
changeset
|
318 } |
16920
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
319 } |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
320 |
d177369ce625
this should fix 647, and a few others
Nathan Walp <nwalp@pidgin.im>
parents:
15823
diff
changeset
|
321 g_slist_free(list); |
15524
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:
15374
diff
changeset
|
322 } |
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:
15374
diff
changeset
|
323 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
324 static void |
15823 | 325 do_prpl_change_account_status(PurpleAccount *account, |
326 PurpleStatus *old_status, PurpleStatus *new_status) | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
327 { |
15823 | 328 PurplePlugin *prpl; |
329 PurplePluginProtocolInfo *prpl_info; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
330 |
15823 | 331 if (purple_status_is_online(new_status) && |
24243
785db7300ef2
Improve our NetworkManager support in a couple of ways:
Richard Laager <rlaager@wiktel.com>
parents:
23616
diff
changeset
|
332 purple_account_is_disconnected(account) && |
785db7300ef2
Improve our NetworkManager support in a couple of ways:
Richard Laager <rlaager@wiktel.com>
parents:
23616
diff
changeset
|
333 purple_network_is_available()) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
334 { |
15823 | 335 purple_account_connect(account); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
336 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
337 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
338 |
15823 | 339 if (!purple_status_is_online(new_status)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
340 { |
15823 | 341 if (!purple_account_is_disconnected(account)) |
342 purple_account_disconnect(account); | |
20219
d68db74b7165
applied changes from c9d6104bcfe2e630e98e45bc6a0975adfb9544e5
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
343 /* 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:
19680
diff
changeset
|
344 else if (!purple_account_get_remember_password(account)) |
d68db74b7165
applied changes from c9d6104bcfe2e630e98e45bc6a0975adfb9544e5
Richard Laager <rlaager@wiktel.com>
parents:
19680
diff
changeset
|
345 purple_account_set_password(account, NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
346 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
347 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
348 |
15823 | 349 if (purple_account_is_connecting(account)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
350 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
351 * 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
|
352 * 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
|
353 * connection process. |
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 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
356 |
15823 | 357 prpl = purple_find_prpl(purple_account_get_protocol_id(account)); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
358 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
359 if (prpl == NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
360 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
361 |
15823 | 362 prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
363 |
15823 | 364 if (!purple_account_is_disconnected(account) && prpl_info->set_status != NULL) |
15374
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 prpl_info->set_status(account, new_status); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
367 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
368 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
369 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
370 void |
15823 | 371 purple_prpl_change_account_status(PurpleAccount *account, |
372 PurpleStatus *old_status, PurpleStatus *new_status) | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
373 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
374 g_return_if_fail(account != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
375 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
|
376 g_return_if_fail(!purple_status_is_exclusive(new_status) || old_status != NULL); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
377 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
378 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
|
379 |
15823 | 380 purple_signal_emit(purple_accounts_get_handle(), "account-status-changed", |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
381 account, old_status, new_status); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
382 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
383 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
384 GList * |
15823 | 385 purple_prpl_get_statuses(PurpleAccount *account, PurplePresence *presence) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
386 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
387 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
|
388 GList *l; |
15823 | 389 PurpleStatus *status; |
15374
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 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
|
392 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
|
393 |
15823 | 394 for (l = purple_account_get_status_types(account); l != NULL; l = l->next) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
395 { |
15823 | 396 status = purple_status_new((PurpleStatusType *)l->data, presence); |
15594
f485c87e6546
sf patch #1655057, from Peter Tang
Mark Doliner <mark@kingant.net>
parents:
15524
diff
changeset
|
397 statuses = g_list_prepend(statuses, status); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
398 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
399 |
15594
f485c87e6546
sf patch #1655057, from Peter Tang
Mark Doliner <mark@kingant.net>
parents:
15524
diff
changeset
|
400 statuses = g_list_reverse(statuses); |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
401 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
402 return statuses; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
403 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
404 |
23616
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
405 void |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
406 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
|
407 { |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
408 PurpleAttentionType *attn; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
409 PurpleMessageFlags flags; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
410 PurplePlugin *prpl; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
411 PurpleConversation *conv; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
412 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
|
413 PurpleBuddy *buddy; |
25415
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25396
diff
changeset
|
414 const char *alias; |
23616
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
415 gchar *description; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
416 time_t mtime; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
417 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
418 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
|
419 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
|
420 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
421 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
|
422 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
|
423 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
|
424 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
425 mtime = time(NULL); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
426 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
427 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
|
428 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
429 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
|
430 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
|
431 else |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
432 alias = who; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
433 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
434 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
|
435 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
|
436 } else { |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
437 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
|
438 } |
25415
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
25396
diff
changeset
|
439 |
23616
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
440 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
|
441 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
442 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
|
443 description, who); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
444 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
445 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
|
446 return; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
447 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
448 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
|
449 purple_conv_im_write(PURPLE_CONV_IM(conv), NULL, description, flags, mtime); |
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 g_free(description); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
452 } |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
453 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
454 static void |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
455 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
|
456 { |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
457 PurpleMessageFlags flags; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
458 PurpleAttentionType *attn; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
459 PurpleBuddy *buddy; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
460 const char *alias; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
461 gchar *description; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
462 time_t mtime; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
463 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
464 mtime = time(NULL); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
465 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
466 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
|
467 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
468 /* 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
|
469 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
|
470 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
471 /* 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
|
472 * 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
|
473 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
474 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
|
475 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
|
476 else |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
477 alias = who; |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
478 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
479 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
|
480 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
|
481 } else { |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
482 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
|
483 } |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
484 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
485 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
|
486 description, who); |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
487 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
488 if (id == -1) |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
489 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
|
490 else |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
491 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
|
492 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
493 /* 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
|
494 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
495 g_free(description); |
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 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
498 void |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
499 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
|
500 { |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
501 got_attention(gc, -1, who, type_code); |
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 |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
504 void |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
505 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
|
506 { |
49850f7ca393
Add purple_prpl_got_attention_in_chat, then deprecate
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
22122
diff
changeset
|
507 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
|
508 } |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
509 |
26447
34eb898478b4
Don't assume a PurpleMedia instance will be created immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26434
diff
changeset
|
510 gboolean |
25709
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
511 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
|
512 const char *who, |
25720
551a462b346a
Changed PurpleMediaStreamType to PurpleMediaSessionType.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
25719
diff
changeset
|
513 PurpleMediaSessionType type) |
25709
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
514 { |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
515 #ifdef USE_VV |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
516 PurpleConnection *gc = NULL; |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
517 PurplePlugin *prpl = NULL; |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
518 PurplePluginProtocolInfo *prpl_info = NULL; |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
519 |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
520 if (account) |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
521 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
|
522 if (gc) |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
523 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
|
524 if (prpl) |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
525 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
|
526 |
25719
1aa383ee5fc8
Fixed up media functions in prpl.c and prpl.h, adding more documentation and
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
25718
diff
changeset
|
527 if (prpl_info && PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, initiate_media)) { |
25709
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
528 /* should check that the protocol supports this media type here? */ |
26606
df9042312063
Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26447
diff
changeset
|
529 return prpl_info->initiate_media(account, who, type); |
26447
34eb898478b4
Don't assume a PurpleMedia instance will be created immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26434
diff
changeset
|
530 } else |
25709
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
531 #endif |
26447
34eb898478b4
Don't assume a PurpleMedia instance will be created immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26434
diff
changeset
|
532 return FALSE; |
25709
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
533 } |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
534 |
26190
d6e23439b77c
Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26136
diff
changeset
|
535 PurpleMediaCaps |
d6e23439b77c
Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26136
diff
changeset
|
536 purple_prpl_get_media_caps(PurpleAccount *account, const char *who) |
25709
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
537 { |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
538 #ifdef USE_VV |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
539 PurpleConnection *gc = NULL; |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
540 PurplePlugin *prpl = NULL; |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
541 PurplePluginProtocolInfo *prpl_info = NULL; |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
542 |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
543 if (account) |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
544 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
|
545 if (gc) |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
546 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
|
547 if (prpl) |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
548 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
|
549 |
26190
d6e23439b77c
Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26136
diff
changeset
|
550 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:
26136
diff
changeset
|
551 get_media_caps)) { |
26606
df9042312063
Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26447
diff
changeset
|
552 return prpl_info->get_media_caps(account, who); |
25709
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
553 } |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
554 #endif |
26190
d6e23439b77c
Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26136
diff
changeset
|
555 return PURPLE_MEDIA_CAPS_NONE; |
25709
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
556 } |
eb8c8a926589
Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
22122
diff
changeset
|
557 |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
558 /************************************************************************** |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
559 * Protocol Plugin Subsystem API |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
560 **************************************************************************/ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
561 |
15823 | 562 PurplePlugin * |
563 purple_find_prpl(const char *id) | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
564 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
565 GList *l; |
15823 | 566 PurplePlugin *plugin; |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
567 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
568 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
|
569 |
15823 | 570 for (l = purple_plugins_get_protocols(); l != NULL; l = l->next) { |
571 plugin = (PurplePlugin *)l->data; | |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
572 |
25385
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:
24243
diff
changeset
|
573 if (purple_strequal(plugin->info->id, id)) |
15374
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
574 return plugin; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
575 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
576 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
577 return NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
578 } |