Thu, 07 Apr 2005 14:55:02 +0000
[gaim-migrate @ 12431]
" The following log snippets should explain it: " --rlaager
(20:24:00) rlaager: Regarding the signal handling
conversation the other day... I've written a patch to stop
calling signal handlers and return as soon as we find one
signal handler that returns TRUE to indicate that it's
handled the signal. Is this the right approach?
(20:24:22) Ethan Blanton (Paco-Paco): the trouble is that it's
documented to behave exactly the way it does
(20:24:31) Ethan Blanton (Paco-Paco): so changing it is
notbackwards compatible
(20:24:31) rlaager: I'm talking for HEAD.
(20:24:41) Ethan Blanton (Paco-Paco): oh, I think that's a
good approach, yes
(20:24:53) rlaager: The way I've described is how I
*expected* it to work, having not read the documentation.
(20:25:09) Ethan Blanton (Paco-Paco): I'm convinced
(20:27:04) Stu Tomlinson (nosnilmot): rlaager: this, I
assume, breaks the generic-ness of signals, by assuming
that any that return values return booleans?
(20:27:26) Ethan Blanton (Paco-Paco): please break it
(20:27:33) Ethan Blanton (Paco-Paco): we already have
out-parameters
(20:27:42) rlaager: nosnilmot: from what I can see, the
return type is handled as a (void *)... so I'm checking that
ret_value != NULL
(20:27:57) rlaager: nosnilmot: that's the correct way to do it,
right?
...
(20:29:01) Ethan Blanton (Paco-Paco): allowing a
meaningful return value is an over-engineering
(20:30:07) rlaager: even after this patch, you should be able
to return meaningful return values
(20:30:15) rlaager: it'll just short-circuit on the first handler
that does
committer: Luke Schierer <lschiere@pidgin.im>
| 981 | 1 | /* |
| 2 | * gaim | |
| 3 | * | |
| 8046 | 4 | * Gaim is the legal property of its developers, whose names are too numerous |
| 5 | * to list here. Please refer to the COPYRIGHT file distributed with this | |
| 6 | * source distribution. | |
|
6460
fc288e7221ca
[gaim-migrate @ 6969]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
7 | * |
| 981 | 8 | * This program is free software; you can redistribute it and/or modify |
| 9 | * it under the terms of the GNU General Public License as published by | |
| 10 | * the Free Software Foundation; either version 2 of the License, or | |
| 11 | * (at your option) any later version. | |
| 12 | * | |
| 13 | * This program is distributed in the hope that it will be useful, | |
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 16 | * GNU General Public License for more details. | |
| 17 | * | |
| 18 | * You should have received a copy of the GNU General Public License | |
| 19 | * along with this program; if not, write to the Free Software | |
| 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 21 | * | |
| 22 | */ | |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
23 | #include "internal.h" |
|
5945
941f14d90d22
[gaim-migrate @ 6386]
Christian Hammond <chipx86@chipx86.com>
parents:
5943
diff
changeset
|
24 | #include "conversation.h" |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
25 | #include "debug.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
26 | #include "notify.h" |
| 981 | 27 | #include "prpl.h" |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
28 | #include "request.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
29 | #include "util.h" |
| 3738 | 30 | |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
31 | /**************************************************************************/ |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
32 | /** @name Protocol Plugin API */ |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
33 | /**************************************************************************/ |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
34 | void |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
35 | gaim_prpl_got_account_idle(GaimAccount *account, gboolean idle, |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
36 | time_t idle_time) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
37 | { |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
38 | g_return_if_fail(account != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
39 | g_return_if_fail(gaim_account_is_connected(account)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
40 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
41 | gaim_presence_set_idle(gaim_account_get_presence(account), |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
42 | idle, idle_time); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
43 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
44 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
45 | void |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
46 | gaim_prpl_got_account_login_time(GaimAccount *account, const char *name, |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
47 | time_t login_time) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
48 | { |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
49 | GaimPresence *presence; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
50 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
51 | g_return_if_fail(account != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
52 | g_return_if_fail(name != NULL && *name != '\0'); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
53 | g_return_if_fail(gaim_account_is_connected(account)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
54 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
55 | if (login_time == 0) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
56 | login_time = time(NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
57 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
58 | presence = gaim_account_get_presence(account); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
59 | |
|
10007
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
60 | gaim_presence_set_login_time(presence, login_time); |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
61 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
62 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
63 | static gboolean |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
64 | set_value_from_arg(GaimStatus *status, const char *id, va_list *args) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
65 | { |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
66 | GaimValue *value; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
67 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
68 | value = gaim_status_get_attr_value(status, id); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
69 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
70 | if (value == NULL) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
71 | { |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
72 | gaim_debug_error("prpl", |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
73 | "Attempted to set an unknown attribute %s on " |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
74 | "status %s\n", |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
75 | id, gaim_status_get_id(status)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
76 | return FALSE; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
77 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
78 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
79 | switch (gaim_value_get_type(value)) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
80 | { |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
81 | case GAIM_TYPE_CHAR: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
82 | gaim_value_set_char(value, (char)va_arg(*args, int)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
83 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
84 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
85 | case GAIM_TYPE_UCHAR: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
86 | gaim_value_set_uchar(value, |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
87 | (unsigned char)va_arg(*args, unsigned int)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
88 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
89 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
90 | case GAIM_TYPE_BOOLEAN: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
91 | gaim_value_set_boolean(value, va_arg(*args, gboolean)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
92 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
93 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
94 | case GAIM_TYPE_SHORT: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
95 | gaim_value_set_short(value, (short)va_arg(*args, int)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
96 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
97 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
98 | case GAIM_TYPE_USHORT: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
99 | gaim_value_set_ushort(value, |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
100 | (unsigned short)va_arg(*args, unsigned int)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
101 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
102 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
103 | case GAIM_TYPE_INT: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
104 | gaim_value_set_int(value, va_arg(*args, int)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
105 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
106 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
107 | case GAIM_TYPE_UINT: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
108 | gaim_value_set_uint(value, va_arg(*args, unsigned int)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
109 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
110 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
111 | case GAIM_TYPE_LONG: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
112 | gaim_value_set_long(value, va_arg(*args, long)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
113 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
114 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
115 | case GAIM_TYPE_ULONG: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
116 | gaim_value_set_ulong(value, va_arg(*args, unsigned long)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
117 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
118 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
119 | case GAIM_TYPE_INT64: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
120 | gaim_value_set_int64(value, va_arg(*args, gint64)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
121 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
122 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
123 | case GAIM_TYPE_UINT64: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
124 | gaim_value_set_uint64(value, va_arg(*args, guint64)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
125 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
126 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
127 | case GAIM_TYPE_STRING: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
128 | gaim_value_set_string(value, va_arg(*args, char *)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
129 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
130 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
131 | case GAIM_TYPE_OBJECT: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
132 | gaim_value_set_object(value, va_arg(*args, void *)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
133 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
134 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
135 | case GAIM_TYPE_POINTER: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
136 | gaim_value_set_pointer(value, va_arg(*args, void *)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
137 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
138 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
139 | case GAIM_TYPE_ENUM: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
140 | gaim_value_set_enum(value, va_arg(*args, int)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
141 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
142 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
143 | case GAIM_TYPE_BOXED: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
144 | gaim_value_set_boxed(value, va_arg(*args, void *)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
145 | break; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
146 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
147 | default: |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
148 | return FALSE; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
149 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
150 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
151 | return TRUE; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
152 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
153 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
154 | void |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
155 | gaim_prpl_got_account_status(GaimAccount *account, const char *status_id, |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
156 | const char *attr_id, ...) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
157 | { |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
158 | GaimPresence *presence; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
159 | GaimStatus *status; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
160 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
161 | g_return_if_fail(account != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
162 | g_return_if_fail(status_id != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
163 | g_return_if_fail(gaim_account_is_connected(account)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
164 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
165 | presence = gaim_account_get_presence(account); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
166 | status = gaim_presence_get_status(presence, status_id); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
167 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
168 | g_return_if_fail(status != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
169 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
170 | if (attr_id != NULL) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
171 | { |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
172 | va_list args; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
173 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
174 | va_start(args, attr_id); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
175 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
176 | while (attr_id != NULL) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
177 | { |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
178 | set_value_from_arg(status, attr_id, &args); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
179 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
180 | attr_id = va_arg(args, char *); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
181 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
182 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
183 | va_end(args); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
184 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
185 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
186 | gaim_presence_set_status_active(presence, status_id, TRUE); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
187 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
188 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
189 | void |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
190 | gaim_prpl_got_account_warning_level(GaimAccount *account, const char *username, |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
191 | unsigned int level) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
192 | { |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
193 | GaimPresence *presence; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
194 | unsigned int old_level; |
|
10007
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
195 | gchar *buf; |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
196 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
197 | g_return_if_fail(account != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
198 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
199 | presence = gaim_account_get_presence(account); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
200 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
201 | gaim_signal_emit(gaim_accounts_get_handle(), "account-warned", |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
202 | account, username, level); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
203 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
204 | old_level = gaim_presence_get_warning_level(presence); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
205 | gaim_presence_set_warning_level(presence, level); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
206 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
207 | if (old_level >= level) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
208 | return; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
209 | |
|
10007
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
210 | if (username == NULL) |
|
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
211 | buf = g_strdup_printf(_("%s has just been warned by an anonymous " |
|
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
212 | "person.\nYour new warning level is %d%%"), |
|
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
213 | gaim_account_get_username(account), |
|
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
214 | level); |
|
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
215 | else |
|
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
216 | buf = g_strdup_printf(_("%s has just been warned by %s.\n" |
|
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
217 | "Your new warning level is %d%%"), |
|
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
218 | gaim_account_get_username(account), |
|
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
219 | username, level); |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
220 | |
|
10007
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
221 | gaim_notify_info(NULL, NULL, buf, NULL); |
|
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
222 | |
|
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
223 | g_free(buf); |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
224 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
225 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
226 | void |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
227 | gaim_prpl_got_user_idle(GaimAccount *account, const char *name, |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
228 | gboolean idle, time_t idle_time) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
229 | { |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
230 | GSList *l; |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
231 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
232 | g_return_if_fail(account != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
233 | g_return_if_fail(name != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
234 | g_return_if_fail(gaim_account_is_connected(account)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
235 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
236 | for (l = gaim_find_buddies(account, name); l != NULL; l = l->next) |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
237 | { |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
238 | GaimBuddy *buddy; |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
239 | GaimPresence *presence; |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
240 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
241 | buddy = (GaimBuddy *)l->data; |
|
10007
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
242 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
243 | presence = gaim_buddy_get_presence(buddy); |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
244 | |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
245 | gaim_presence_set_idle(presence, idle, idle_time); |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
246 | } |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
247 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
248 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
249 | void |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
250 | gaim_prpl_got_user_login_time(GaimAccount *account, const char *name, |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
251 | time_t login_time) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
252 | { |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
253 | GSList *l; |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
254 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
255 | g_return_if_fail(account != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
256 | g_return_if_fail(name != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
257 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
258 | for (l = gaim_find_buddies(account, name); l != NULL; l = l->next) |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
259 | { |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
260 | GaimBuddy *buddy; |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
261 | GaimPresence *presence; |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
262 | |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
263 | buddy = (GaimBuddy *)l->data; |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
264 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
265 | if (login_time == 0) |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
266 | login_time = time(NULL); |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
267 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
268 | presence = gaim_buddy_get_presence(buddy); |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
269 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
270 | gaim_presence_set_login_time(presence, login_time); |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
271 | } |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
272 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
273 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
274 | void |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
275 | gaim_prpl_got_user_status(GaimAccount *account, const char *name, |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
276 | const char *status_id, const char *attr_id, ...) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
277 | { |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
278 | GSList *l; |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
279 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
280 | g_return_if_fail(account != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
281 | g_return_if_fail(name != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
282 | g_return_if_fail(status_id != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
283 | g_return_if_fail(gaim_account_is_connected(account)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
284 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
285 | for (l = gaim_find_buddies(account, name); l != NULL; l = l->next) |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
286 | { |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
287 | GaimBuddy *buddy; |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
288 | GaimPresence *presence; |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
289 | GaimStatus *status; |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
290 | GaimStatus *old_status; |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
291 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
292 | buddy = (GaimBuddy *)l->data; |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
293 | presence = gaim_buddy_get_presence(buddy); |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
294 | status = gaim_presence_get_status(presence, status_id); |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
295 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
296 | g_return_if_fail(status != NULL); |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
297 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
298 | if (attr_id != NULL) |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
299 | { |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
300 | va_list args; |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
301 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
302 | va_start(args, attr_id); |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
303 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
304 | while (attr_id != NULL) |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
305 | { |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
306 | set_value_from_arg(status, attr_id, &args); |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
307 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
308 | attr_id = va_arg(args, char *); |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
309 | } |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
310 | |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
311 | va_end(args); |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
312 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
313 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
314 | old_status = gaim_presence_get_active_status(presence); |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
315 | gaim_presence_set_status_active(presence, status_id, TRUE); |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
316 | gaim_blist_update_buddy_status(buddy, old_status); |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
317 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
318 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
319 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
320 | void |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
321 | gaim_prpl_got_user_warning_level(GaimAccount *account, const char *name, |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
322 | unsigned int level) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
323 | { |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
324 | GSList *l; |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
325 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
326 | g_return_if_fail(account != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
327 | g_return_if_fail(name != NULL); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
328 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
329 | for (l = gaim_find_buddies(account, name); l != NULL; l = l->next) |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
330 | { |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
331 | GaimBuddy *buddy; |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
332 | GaimPresence *presence; |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
333 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
334 | buddy = (GaimBuddy *)l->data; |
|
10007
2dfaf7384d90
[gaim-migrate @ 10924]
Mark Doliner <markdoliner@pidgin.im>
parents:
10006
diff
changeset
|
335 | |
|
10554
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
336 | presence = gaim_buddy_get_presence(buddy); |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
337 | |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
338 | gaim_presence_set_warning_level(presence, level); |
|
18efa4802ed5
[gaim-migrate @ 11931]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10447
diff
changeset
|
339 | } |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
340 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
341 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
342 | void |
|
10447
887380ec66f5
[gaim-migrate @ 11712]
Mark Doliner <markdoliner@pidgin.im>
parents:
10052
diff
changeset
|
343 | gaim_prpl_change_account_status(GaimAccount *account, |
|
887380ec66f5
[gaim-migrate @ 11712]
Mark Doliner <markdoliner@pidgin.im>
parents:
10052
diff
changeset
|
344 | GaimStatus *old_status, GaimStatus *new_status) |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
345 | { |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
346 | GaimPlugin *prpl; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
347 | GaimPluginProtocolInfo *prpl_info; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
348 | |
|
10447
887380ec66f5
[gaim-migrate @ 11712]
Mark Doliner <markdoliner@pidgin.im>
parents:
10052
diff
changeset
|
349 | g_return_if_fail(account != NULL); |
|
887380ec66f5
[gaim-migrate @ 11712]
Mark Doliner <markdoliner@pidgin.im>
parents:
10052
diff
changeset
|
350 | g_return_if_fail(old_status != NULL); |
|
887380ec66f5
[gaim-migrate @ 11712]
Mark Doliner <markdoliner@pidgin.im>
parents:
10052
diff
changeset
|
351 | g_return_if_fail(new_status != NULL); |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
352 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
353 | prpl = gaim_find_prpl(gaim_account_get_protocol_id(account)); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
354 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
355 | if (prpl == NULL) |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
356 | return; |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
357 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
358 | prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(prpl); |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
359 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
360 | if (prpl_info->set_status != NULL) |
|
10447
887380ec66f5
[gaim-migrate @ 11712]
Mark Doliner <markdoliner@pidgin.im>
parents:
10052
diff
changeset
|
361 | prpl_info->set_status(account, new_status); |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
362 | } |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
363 | |
|
10006
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
364 | GList * |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
365 | gaim_prpl_get_statuses(GaimAccount *account, GaimPresence *presence) |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
366 | { |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
367 | GaimPlugin *prpl; |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
368 | GaimPluginProtocolInfo *prpl_info; |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
369 | GList *statuses = NULL; |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
370 | GList *l; |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
371 | GaimStatus *status; |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
372 | |
|
10447
887380ec66f5
[gaim-migrate @ 11712]
Mark Doliner <markdoliner@pidgin.im>
parents:
10052
diff
changeset
|
373 | g_return_val_if_fail(account != NULL, NULL); |
|
10006
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
374 | g_return_val_if_fail(presence != NULL, NULL); |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
375 | |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
376 | prpl = gaim_find_prpl(gaim_account_get_protocol_id(account)); |
|
10046
7e9175ee9b63
[gaim-migrate @ 11007]
Mark Doliner <markdoliner@pidgin.im>
parents:
10036
diff
changeset
|
377 | |
|
10006
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
378 | if (prpl == NULL) |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
379 | return NULL; |
|
10046
7e9175ee9b63
[gaim-migrate @ 11007]
Mark Doliner <markdoliner@pidgin.im>
parents:
10036
diff
changeset
|
380 | |
|
10006
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
381 | prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(prpl); |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
382 | if (prpl_info == NULL || prpl_info->status_types == NULL) |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
383 | return NULL; |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
384 | |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
385 | for (l = prpl_info->status_types(account); l != NULL; l = l->next) |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
386 | { |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
387 | status = gaim_status_new((GaimStatusType *)l->data, presence); |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
388 | statuses = g_list_append(statuses, status); |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
389 | } |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
390 | |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
391 | return statuses; |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
392 | } |
|
800a81666868
[gaim-migrate @ 10923]
Dave West <kat@users.sourceforge.net>
parents:
9949
diff
changeset
|
393 | |
|
9949
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
394 | |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
395 | /************************************************************************** |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
396 | * Protocol Plugin Subsystem API |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
397 | **************************************************************************/ |
|
377cd65fab3d
[gaim-migrate @ 10845]
Daniel Atallah <datallah@pidgin.im>
parents:
9460
diff
changeset
|
398 | |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
399 | GaimPlugin * |
| 7956 | 400 | gaim_find_prpl(const char *id) |
| 981 | 401 | { |
|
5573
633880e3f137
[gaim-migrate @ 5976]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
402 | GList *l; |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
403 | GaimPlugin *plugin; |
| 981 | 404 | |
|
10036
743f585a1141
[gaim-migrate @ 10995]
Luke Schierer <lschiere@pidgin.im>
parents:
10023
diff
changeset
|
405 | g_return_val_if_fail(id != NULL, NULL); |
|
743f585a1141
[gaim-migrate @ 10995]
Luke Schierer <lschiere@pidgin.im>
parents:
10023
diff
changeset
|
406 | |
|
5573
633880e3f137
[gaim-migrate @ 5976]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
407 | for (l = gaim_plugins_get_protocols(); l != NULL; l = l->next) { |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
408 | plugin = (GaimPlugin *)l->data; |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
409 | |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
410 | /* Just In Case (TM) */ |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
411 | if (GAIM_IS_PROTOCOL_PLUGIN(plugin)) { |
| 7956 | 412 | if (!strcmp(plugin->info->id, id)) |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
413 | return plugin; |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
414 | } |
| 981 | 415 | } |
| 416 | ||
| 417 | return NULL; | |
| 418 | } |