Mercurial > hg
comparison mcabber/src/roster.h @ 447:03bb57383cea
Initial Multi-User Chat support
This patch adds basic MUC support. We now can:
- join an existing room;
- create and unlock a room using the /rawxml command;
- set our nickname;
- send/receive chatgroup messages;
- see the members of the room;
- leave the room.
Chatroom logging is currently disabled, as it could do some unexpected things.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 25 Sep 2005 01:01:44 +0200 |
parents | 63562fd409a1 |
children | 644b8bf9ca4d |
comparison
equal
deleted
inserted
replaced
446:9f4e9e9aaf08 | 447:03bb57383cea |
---|---|
26 | 26 |
27 // Roster_type is a set of flags, so values should be 2^n | 27 // Roster_type is a set of flags, so values should be 2^n |
28 #define ROSTER_TYPE_USER 1 | 28 #define ROSTER_TYPE_USER 1 |
29 #define ROSTER_TYPE_GROUP 2 | 29 #define ROSTER_TYPE_GROUP 2 |
30 #define ROSTER_TYPE_AGENT 4 | 30 #define ROSTER_TYPE_AGENT 4 |
31 #define ROSTER_TYPE_ROOM 8 | |
31 | 32 |
32 // Flags: | 33 // Flags: |
33 #define ROSTER_FLAG_MSG 1 // Message not read | 34 #define ROSTER_FLAG_MSG 1 // Message not read |
34 #define ROSTER_FLAG_HIDE 2 // Group hidden (or buddy window closed) | 35 #define ROSTER_FLAG_HIDE 2 // Group hidden (or buddy window closed) |
35 #define ROSTER_FLAG_LOCK 4 // Node should not be removed from buddylist | 36 #define ROSTER_FLAG_LOCK 4 // Node should not be removed from buddylist |
46 | 47 |
47 // Prototypes... | 48 // Prototypes... |
48 GSList *roster_add_group(const char *name); | 49 GSList *roster_add_group(const char *name); |
49 GSList *roster_add_user(const char *jid, const char *name, const char *group, | 50 GSList *roster_add_user(const char *jid, const char *name, const char *group, |
50 guint type); | 51 guint type); |
52 GSList *roster_find(const char *jidname, enum findwhat type, guint roster_type); | |
51 void roster_del_user(const char *jid); | 53 void roster_del_user(const char *jid); |
52 void roster_free(void); | 54 void roster_free(void); |
53 void roster_setstatus(const char *jid, const char *resname, gchar prio, | 55 void roster_setstatus(const char *jid, const char *resname, gchar prio, |
54 enum imstatus bstat, const char *status_msg); | 56 enum imstatus bstat, const char *status_msg); |
55 void roster_setflags(const char *jid, guint flags, guint value); | 57 void roster_setflags(const char *jid, guint flags, guint value); |
56 void roster_msg_setflag(const char *jid, guint value); | 58 void roster_msg_setflag(const char *jid, guint value); |
57 void roster_settype(const char *jid, guint type); | 59 void roster_settype(const char *jid, guint type); |
58 enum imstatus roster_getstatus(const char *jid, const char *resname); | 60 enum imstatus roster_getstatus(const char *jid, const char *resname); |
59 const char *roster_getstatusmsg(const char *jid, const char *resname); | 61 const char *roster_getstatusmsg(const char *jid, const char *resname); |
60 guint roster_gettype(const char *jid); | 62 guint roster_gettype(const char *jid); |
61 inline guint roster_exists(const char *jidname, enum findwhat type, | |
62 guint roster_type); | |
63 | 63 |
64 void buddylist_build(void); | 64 void buddylist_build(void); |
65 void buddy_hide_group(gpointer rosterdata, int hide); | 65 void buddy_hide_group(gpointer rosterdata, int hide); |
66 void buddylist_set_hide_offline_buddies(int hide); | 66 void buddylist_set_hide_offline_buddies(int hide); |
67 inline int buddylist_get_hide_offline_buddies(void); | 67 inline int buddylist_get_hide_offline_buddies(void); |
68 const char *buddy_getjid(gpointer rosterdata); | 68 const char *buddy_getjid(gpointer rosterdata); |
69 void buddy_setname(gpointer rosterdata, char *newname); | 69 void buddy_setname(gpointer rosterdata, char *newname); |
70 const char *buddy_getname(gpointer rosterdata); | 70 const char *buddy_getname(gpointer rosterdata); |
71 void buddy_setnickname(gpointer rosterdata, char *newname); | |
72 const char *buddy_getnickname(gpointer rosterdata); | |
71 guint buddy_gettype(gpointer rosterdata); | 73 guint buddy_gettype(gpointer rosterdata); |
72 void buddy_setgroup(gpointer rosterdata, char *newgroupname); | 74 void buddy_setgroup(gpointer rosterdata, char *newgroupname); |
73 const char *buddy_getgroupname(gpointer rosterdata); | 75 const char *buddy_getgroupname(gpointer rosterdata); |
74 gpointer buddy_getgroup(gpointer rosterdata); | 76 gpointer buddy_getgroup(gpointer rosterdata); |
75 enum imstatus buddy_getstatus(gpointer rosterdata, const char *resname); | 77 enum imstatus buddy_getstatus(gpointer rosterdata, const char *resname); |
76 const char *buddy_getstatusmsg(gpointer rosterdata, const char *resname); | 78 const char *buddy_getstatusmsg(gpointer rosterdata, const char *resname); |
77 gchar buddy_getresourceprio(gpointer rosterdata, const char *resname); | 79 gchar buddy_getresourceprio(gpointer rosterdata, const char *resname); |
78 GSList *buddy_getresources(gpointer rosterdata); | 80 GSList *buddy_getresources(gpointer rosterdata); |
81 void buddy_del_all_resources(gpointer rosterdata); | |
79 void buddy_setflags(gpointer rosterdata, guint flags, guint value); | 82 void buddy_setflags(gpointer rosterdata, guint flags, guint value); |
80 guint buddy_getflags(gpointer rosterdata); | 83 guint buddy_getflags(gpointer rosterdata); |
81 GList *buddy_search(char *string); | 84 GList *buddy_search(char *string); |
82 gpointer unread_msg(gpointer rosterdata); | 85 gpointer unread_msg(gpointer rosterdata); |
83 | 86 |