Improve UI latency and CPU usage
[mcabber.git] / mcabber / src / xmpp.h
blobf1187c097186cc31264792a21550150c0567168d
1 #ifndef __XMPP_H__
2 #define __XMPP_H__ 1
4 #include <loudmouth/loudmouth.h>
5 #include "roster.h"
7 enum iqreq_type {
8 iqreq_none,
9 iqreq_version,
10 iqreq_time,
11 iqreq_last,
12 iqreq_vcard
15 struct annotation {
16 time_t cdate;
17 time_t mdate;
18 gchar *jid;
19 gchar *text;
22 struct bookmark {
23 gchar *roomjid;
24 gchar *name;
25 gchar *nick;
26 guint autojoin;
27 /* enum room_printstatus pstatus; */
28 /* enum room_autowhois awhois; */
31 extern LmConnection* lconnection;
32 extern LmSSL* lssl;
34 void xmpp_connect(void);
35 void xmpp_disconnect(void);
37 void xmpp_room_join(const char *room, const char *nickname, const char *passwd);
38 int xmpp_room_setattrib(const char *roomid, const char *fjid,
39 const char *nick, struct role_affil ra,
40 const char *reason);
41 void xmpp_room_invite(const char *room, const char *fjid, const char *reason);
42 void xmpp_room_unlock(const char *room);
43 void xmpp_room_destroy(const char *room, const char *venue, const char *reason);
45 void xmpp_addbuddy(const char *bjid, const char *name, const char *group);
46 void xmpp_updatebuddy(const char *bjid, const char *name, const char *group);
47 void xmpp_delbuddy(const char *bjid);
49 void xmpp_send_msg(const char *fjid, const char *text, int type,
50 const char *subject, gboolean otrinject, gint *encrypted,
51 LmMessageSubType type_overwrite, gpointer *xep184);
53 void xmpp_send_s10n(const char *bjid, LmMessageSubType type);
55 enum imstatus xmpp_getstatus(void);
56 const char *xmpp_getstatusmsg(void);
57 void xmpp_setprevstatus(void);
59 void xmpp_setstatus(enum imstatus st, const char *recipient,
60 const char *msg, int do_not_sign);
62 void xmpp_send_chatstate(gpointer buddy, guint chatstate);
64 GSList *xmpp_get_all_storage_bookmarks(void);
65 GSList *xmpp_get_all_storage_rosternotes(void);
66 void xmpp_set_storage_bookmark(const char *roomid, const char *name,
67 const char *nick, const char *passwd,
68 int autojoin, enum room_printstatus pstatus,
69 enum room_autowhois awhois);
70 struct annotation *xmpp_get_storage_rosternotes(const char *barejid,
71 int silent);
72 void xmpp_set_storage_rosternotes(const char *barejid, const char *note);
73 guint xmpp_is_bookmarked(const char *bjid);
74 const char *xmpp_get_bookmark_nick(const char *bjid);
76 void xmpp_request(const char *fjid, enum iqreq_type reqtype);
77 void request_vcard(const char *bjid);
78 void xmpp_request_storage(const gchar *storage);
80 #endif /* __XMPP_H__ */
82 /* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */