annotate mcabber/mcabber/xmpp_helper.h @ 2032:f740c4128f76

Fix receipts handling according to recent XEP updates * add lm_get_uid() @xmpp_helper.h * identify receipts by id attribute of 'received' subelement instead of stanza id
author Myhailo Danylenko <isbear@ukrpost.net>
date Sun, 14 Oct 2012 17:39:11 +0200
parents e6d355e50d7a
children a37fbc3ac6aa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1668
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1607
diff changeset
1 #ifndef __MCABBER_XMPPHELPER_H__
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1607
diff changeset
2 #define __MCABBER_XMPPHELPER_H__ 1
1598
a087125d8fc8 Replace libjabber with loudmouth
franky
parents:
diff changeset
3
1604
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
4 #include <time.h>
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
5 #include <loudmouth/loudmouth.h>
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
6
1668
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1607
diff changeset
7 #include <mcabber/xmpp.h>
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1607
diff changeset
8 #include <mcabber/xmpp_defines.h>
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1607
diff changeset
9 #include <mcabber/config.h>
1604
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
10
1598
a087125d8fc8 Replace libjabber with loudmouth
franky
parents:
diff changeset
11 extern time_t iqlast; /* last message/status change time */
a087125d8fc8 Replace libjabber with loudmouth
franky
parents:
diff changeset
12
a087125d8fc8 Replace libjabber with loudmouth
franky
parents:
diff changeset
13 struct T_presence {
a087125d8fc8 Replace libjabber with loudmouth
franky
parents:
diff changeset
14 enum imstatus st;
a087125d8fc8 Replace libjabber with loudmouth
franky
parents:
diff changeset
15 const char *msg;
a087125d8fc8 Replace libjabber with loudmouth
franky
parents:
diff changeset
16 };
a087125d8fc8 Replace libjabber with loudmouth
franky
parents:
diff changeset
17
1604
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
18 struct xmpp_error {
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
19 guint code;
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
20 const char *code_str;
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
21 const char *meaning;
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
22 const char *condition;
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
23 const char *type;
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
24 };
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
25
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
26
1607
14690e624e9d Add modules
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1604
diff changeset
27 #ifdef MODULES_ENABLE
14690e624e9d Add modules
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1604
diff changeset
28 void xmpp_add_feature (const char *xmlns);
14690e624e9d Add modules
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1604
diff changeset
29 void xmpp_del_feature (const char *xmlns);
14690e624e9d Add modules
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1604
diff changeset
30 #endif
14690e624e9d Add modules
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1604
diff changeset
31
2032
f740c4128f76 Fix receipts handling according to recent XEP updates
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1811
diff changeset
32 gchar *lm_get_uid (void);
f740c4128f76 Fix receipts handling according to recent XEP updates
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1811
diff changeset
33
1604
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
34 LmMessageNode *lm_message_node_new(const gchar *name, const gchar *xmlns);
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
35 LmMessageNode *lm_message_node_find_xmlns(LmMessageNode *node,
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
36 const char *xmlns);
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
37 const gchar* lm_message_node_get_child_value(LmMessageNode *node,
1598
a087125d8fc8 Replace libjabber with loudmouth
franky
parents:
diff changeset
38 const gchar *child);
1604
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
39 void lm_message_node_hide(LmMessageNode *node);
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
40 void lm_message_node_insert_childnode(LmMessageNode *node,
1598
a087125d8fc8 Replace libjabber with loudmouth
franky
parents:
diff changeset
41 LmMessageNode *child);
1604
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
42 void lm_message_node_deep_ref(LmMessageNode *node);
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
43 time_t lm_message_node_get_timestamp(LmMessageNode *node);
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
44
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
45 LmMessage *lm_message_new_iq_from_query(LmMessage *m, LmMessageSubType type);
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
46
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
47 LmMessage *lm_message_new_presence(enum imstatus st,
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
48 const char *recipient, const char *msg);
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
49
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
50 const gchar* lm_message_get_from(LmMessage *m);
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
51 const gchar* lm_message_get_id(LmMessage *m);
351427ef0b4b Remove #include's of C files
Mikael Berthe <mikael@lilotux.net>
parents: 1600
diff changeset
52
1800
d2747442918a When displaying a server error, show the sender JID
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
53 void display_server_error(LmMessageNode *x, const char *from);
1598
a087125d8fc8 Replace libjabber with loudmouth
franky
parents:
diff changeset
54
a087125d8fc8 Replace libjabber with loudmouth
franky
parents:
diff changeset
55 /* XEP-0115 (Entity Capabilities) node */
1600
c5ee395fbc8c Updated Entity Capabilities support (XEP-0115)
franky
parents: 1599
diff changeset
56 const char *entity_version(enum imstatus status);
1598
a087125d8fc8 Replace libjabber with loudmouth
franky
parents:
diff changeset
57
a087125d8fc8 Replace libjabber with loudmouth
franky
parents:
diff changeset
58 #endif
1599
dcd5d4c75199 Update/Add headers
Mikael Berthe <mikael@lilotux.net>
parents: 1598
diff changeset
59
1811
e6d355e50d7a Update Vim modelines
Mikael Berthe <mikael@lilotux.net>
parents: 1800
diff changeset
60 /* vim: set et cindent cinoptions=>2\:2(0 ts=2 sw=2: For Vim users... */