Mercurial > pidgin.yaz
annotate src/prpl.c @ 7078:acd2a66e59ed
[gaim-migrate @ 7643]
robot101 gave us images in notify_formatted windows. very cool. This lets what I committed earlier (which was support for images in jabber vcards) to work.
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Tue, 30 Sep 2003 18:41:28 +0000 |
parents | dece74f05509 |
children | 85181c25cae3 |
rev | line source |
---|---|
981 | 1 /* |
2 * gaim | |
3 * | |
4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
6460
ff4551719cc7
[gaim-migrate @ 6969]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
5 * |
981 | 6 * This program is free software; you can redistribute it and/or modify |
7 * it under the terms of the GNU General Public License as published by | |
8 * the Free Software Foundation; either version 2 of the License, or | |
9 * (at your option) any later version. | |
10 * | |
11 * This program is distributed in the hope that it will be useful, | |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 * GNU General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU General Public License | |
17 * along with this program; if not, write to the Free Software | |
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
19 * | |
20 */ | |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
21 #include "internal.h" |
5945
2a18e7b5917e
[gaim-migrate @ 6386]
Christian Hammond <chipx86@chipx86.com>
parents:
5943
diff
changeset
|
22 #include "conversation.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
23 #include "debug.h" |
5717 | 24 #include "multi.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
25 #include "notify.h" |
981 | 26 #include "prpl.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
27 #include "request.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5717
diff
changeset
|
28 #include "util.h" |
3738 | 29 |
5938
023c5f380b5c
[gaim-migrate @ 6378]
Christian Hammond <chipx86@chipx86.com>
parents:
5936
diff
changeset
|
30 /* XXX */ |
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
5945
diff
changeset
|
31 #include "gtkinternal.h" |
5938
023c5f380b5c
[gaim-migrate @ 6378]
Christian Hammond <chipx86@chipx86.com>
parents:
5936
diff
changeset
|
32 #include "gtkconv.h" |
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
5945
diff
changeset
|
33 #include "ui.h" |
1500
a054c28735fb
[gaim-migrate @ 1510]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1499
diff
changeset
|
34 |
5943
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
35 const char * |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
36 gaim_prpl_num_to_id(GaimProtocol protocol) |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
37 { |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
38 g_return_val_if_fail(protocol >= 0 && protocol < GAIM_PROTO_UNTAKEN, NULL); |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
39 |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
40 switch (protocol) |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
41 { |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
42 case GAIM_PROTO_TOC: return "prpl-toc"; break; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
43 case GAIM_PROTO_OSCAR: return "prpl-oscar"; break; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
44 case GAIM_PROTO_YAHOO: return "prpl-yahoo"; break; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
45 case GAIM_PROTO_ICQ: return "prpl-icq"; break; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
46 case GAIM_PROTO_MSN: return "prpl-msn"; break; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
47 case GAIM_PROTO_IRC: return "prpl-irc"; break; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
48 case GAIM_PROTO_JABBER: return "prpl-jabber"; break; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
49 case GAIM_PROTO_NAPSTER: return "prpl-napster"; break; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
50 case GAIM_PROTO_ZEPHYR: return "prpl-zephyr"; break; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
51 case GAIM_PROTO_GADUGADU: return "prpl-gg"; break; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
52 case GAIM_PROTO_MOO: return "prpl-moo"; break; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
53 case GAIM_PROTO_TREPIA: return "prpl-trepia"; break; |
6821
636b5215552e
[gaim-migrate @ 7365]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6695
diff
changeset
|
54 case GAIM_PROTO_BLOGGER: return "prpl-blogger"; break; |
5943
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
55 |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
56 default: |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
57 break; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
58 } |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
59 |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
60 return NULL; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
61 } |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
62 |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
63 GaimProtocol |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
64 gaim_prpl_id_to_num(const char *id) |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
65 { |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
66 g_return_val_if_fail(id != NULL, -1); |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
67 |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
68 if (!strcmp(id, "prpl-toc")) return GAIM_PROTO_TOC; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
69 else if (!strcmp(id, "prpl-oscar")) return GAIM_PROTO_OSCAR; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
70 else if (!strcmp(id, "prpl-yahoo")) return GAIM_PROTO_YAHOO; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
71 else if (!strcmp(id, "prpl-icq")) return GAIM_PROTO_ICQ; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
72 else if (!strcmp(id, "prpl-msn")) return GAIM_PROTO_MSN; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
73 else if (!strcmp(id, "prpl-irc")) return GAIM_PROTO_IRC; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
74 else if (!strcmp(id, "prpl-jabber")) return GAIM_PROTO_JABBER; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
75 else if (!strcmp(id, "prpl-napster")) return GAIM_PROTO_NAPSTER; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
76 else if (!strcmp(id, "prpl-zephyr")) return GAIM_PROTO_ZEPHYR; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
77 else if (!strcmp(id, "prpl-gg")) return GAIM_PROTO_GADUGADU; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
78 else if (!strcmp(id, "prpl-moo")) return GAIM_PROTO_MOO; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
79 else if (!strcmp(id, "prpl-trepia")) return GAIM_PROTO_TREPIA; |
6821
636b5215552e
[gaim-migrate @ 7365]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
6695
diff
changeset
|
80 else if (!strcmp(id, "prpl-blogger")) return GAIM_PROTO_BLOGGER; |
5943
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
81 |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
82 return -1; |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
83 } |
a4f2aba0848d
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5938
diff
changeset
|
84 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
85 GaimPlugin * |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
86 gaim_find_prpl(GaimProtocol type) |
981 | 87 { |
5573
5e7de337a053
[gaim-migrate @ 5976]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
88 GList *l; |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
89 GaimPlugin *plugin; |
981 | 90 |
5573
5e7de337a053
[gaim-migrate @ 5976]
Christian Hammond <chipx86@chipx86.com>
parents:
5563
diff
changeset
|
91 for (l = gaim_plugins_get_protocols(); l != NULL; l = l->next) { |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
92 plugin = (GaimPlugin *)l->data; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
93 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
94 /* Just In Case (TM) */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
95 if (GAIM_IS_PROTOCOL_PLUGIN(plugin)) { |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
96 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
97 if (GAIM_PLUGIN_PROTOCOL_INFO(plugin)->protocol == type) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
98 return plugin; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5161
diff
changeset
|
99 } |
981 | 100 } |
101 | |
102 return NULL; | |
103 } |