Wed, 13 May 2009 20:29:03 +0000
Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.
|
23629
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
1 | /* |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
2 | * This program is free software; you can redistribute it and/or modify |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
3 | * it under the terms of the GNU General Public License as published by |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
4 | * the Free Software Foundation; either version 2 of the License, or |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
5 | * (at your option) any later version. |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24386
diff
changeset
|
6 | * |
|
23629
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
7 | * This program is distributed in the hope that it will be useful, |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
8 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
10 | * GNU Library General Public License for more details. |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24386
diff
changeset
|
11 | * |
|
23629
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
12 | * You should have received a copy of the GNU General Public License |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
13 | * along with this program; if not, write to the Free Software |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
14 | * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
15 | */ |
|
26042
4dabdb5fe213
Remove some extra trailing whitespace I noticed after merging mlundblad's
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24386
diff
changeset
|
16 | |
|
26703
17f9a4bef2a3
Further standardize the sentinel style (did someone say leading _s are theoretically a reserved namespace?)
Paul Aurich <darkrain42@pidgin.im>
parents:
26088
diff
changeset
|
17 | #ifndef PURPLE_JABBER_DATA_H |
|
17f9a4bef2a3
Further standardize the sentinel style (did someone say leading _s are theoretically a reserved namespace?)
Paul Aurich <darkrain42@pidgin.im>
parents:
26088
diff
changeset
|
18 | #define PURPLE_JABBER_DATA_H |
|
23629
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
19 | |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
20 | #include "xmlnode.h" |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
21 | #include "jabber.h" |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
22 | |
|
24254
2d990726bf92
Updated to use latest spec. in XEP-0231
Marcus Lundblad <malu@pidgin.im>
parents:
23629
diff
changeset
|
23 | #define XEP_0231_NAMESPACE "urn:xmpp:bob" |
|
23629
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
24 | |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
25 | #include <glib.h> |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
26 | |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
27 | typedef struct { |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
28 | char *cid; |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
29 | char *type; |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
30 | gsize size; |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
31 | gpointer data; |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
32 | } JabberData; |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
33 | |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
34 | /* creates a JabberData instance from raw data */ |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
35 | JabberData *jabber_data_create_from_data(gconstpointer data, gsize size, |
|
24254
2d990726bf92
Updated to use latest spec. in XEP-0231
Marcus Lundblad <malu@pidgin.im>
parents:
23629
diff
changeset
|
36 | const char *type, JabberStream *js); |
|
23629
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
37 | |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
38 | /* create a JabberData instance from an XML "data" element (as defined by |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
39 | XEP 0231 */ |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
40 | JabberData *jabber_data_create_from_xml(xmlnode *tag); |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
41 | |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
42 | const char *jabber_data_get_cid(const JabberData *data); |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
43 | const char *jabber_data_get_type(const JabberData *data); |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
44 | |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
45 | gsize jabber_data_get_size(const JabberData *data); |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
46 | gpointer jabber_data_get_data(const JabberData *data); |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
47 | |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
48 | /* returns the XML definition for the data element */ |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
49 | xmlnode *jabber_data_get_xml_definition(const JabberData *data); |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
50 | |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
51 | /* returns an XHTML-IM "img" tag given a data instance */ |
|
24254
2d990726bf92
Updated to use latest spec. in XEP-0231
Marcus Lundblad <malu@pidgin.im>
parents:
23629
diff
changeset
|
52 | xmlnode *jabber_data_get_xhtml_im(const JabberData *data, const gchar *alt); |
|
23629
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
53 | |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
54 | /* returns a data request element (to be included in an iq stanza) for requesting |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
55 | data */ |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
56 | xmlnode *jabber_data_get_xml_request(const gchar *cid); |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
57 | |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
58 | /* lookup functions */ |
|
24254
2d990726bf92
Updated to use latest spec. in XEP-0231
Marcus Lundblad <malu@pidgin.im>
parents:
23629
diff
changeset
|
59 | const JabberData *jabber_data_find_local_by_alt(const gchar *alt); |
|
2d990726bf92
Updated to use latest spec. in XEP-0231
Marcus Lundblad <malu@pidgin.im>
parents:
23629
diff
changeset
|
60 | const JabberData *jabber_data_find_local_by_cid(const gchar *cid); |
|
2d990726bf92
Updated to use latest spec. in XEP-0231
Marcus Lundblad <malu@pidgin.im>
parents:
23629
diff
changeset
|
61 | const JabberData *jabber_data_find_remote_by_cid(const gchar *cid); |
|
24386
0710eb7a41c5
A couple of compile warning fixes, a couple of memory leak plugs.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24255
diff
changeset
|
62 | |
|
24254
2d990726bf92
Updated to use latest spec. in XEP-0231
Marcus Lundblad <malu@pidgin.im>
parents:
23629
diff
changeset
|
63 | /* store data objects */ |
|
2d990726bf92
Updated to use latest spec. in XEP-0231
Marcus Lundblad <malu@pidgin.im>
parents:
23629
diff
changeset
|
64 | void jabber_data_associate_local(JabberData *data, const gchar *alt); |
|
2d990726bf92
Updated to use latest spec. in XEP-0231
Marcus Lundblad <malu@pidgin.im>
parents:
23629
diff
changeset
|
65 | void jabber_data_associate_remote(JabberData *data); |
|
23629
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
66 | |
|
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
67 | /* handles iq requests */ |
|
25817
09d6a40a341d
Pass IQ handlers type, from, id, and the child node
Paul Aurich <darkrain42@pidgin.im>
parents:
25566
diff
changeset
|
68 | void jabber_data_parse(JabberStream *js, const char *who, JabberIqType type, |
|
09d6a40a341d
Pass IQ handlers type, from, id, and the child node
Paul Aurich <darkrain42@pidgin.im>
parents:
25566
diff
changeset
|
69 | const char *id, xmlnode *data_node); |
|
23629
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
70 | |
|
24254
2d990726bf92
Updated to use latest spec. in XEP-0231
Marcus Lundblad <malu@pidgin.im>
parents:
23629
diff
changeset
|
71 | void jabber_data_init(void); |
|
2d990726bf92
Updated to use latest spec. in XEP-0231
Marcus Lundblad <malu@pidgin.im>
parents:
23629
diff
changeset
|
72 | void jabber_data_uninit(void); |
|
23629
05adde07702c
New files used for custom smileys.
Marcus Lundblad <malu@pidgin.im>
parents:
diff
changeset
|
73 | |
|
26703
17f9a4bef2a3
Further standardize the sentinel style (did someone say leading _s are theoretically a reserved namespace?)
Paul Aurich <darkrain42@pidgin.im>
parents:
26088
diff
changeset
|
74 | #endif /* PURPLE_JABBER_DATA_H */ |