Mercurial > ~mikael > mcabber > hg
diff mcabber/src/roster.h @ 72:9b7f0d313e33
[/trunk] Changeset 86 by mikael
* New roster/buddylist implementation
author | mikael |
---|---|
date | Sat, 16 Apr 2005 10:14:55 +0000 |
parents | |
children | d001d8fb876d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mcabber/src/roster.h Sat Apr 16 10:14:55 2005 +0000 @@ -0,0 +1,45 @@ +#ifndef __ROSTER_H__ +#define __ROSTER_H__ 1 + +#include <glib.h> + +#ifdef MCABBER_TESTUNIT +# include "test_roster_main.h" +#else +# include "jabglue.h" +#endif + +enum findwhat { + jidsearch, + namesearch +}; + +// Roster_type is a set of flags, so values should be 2^n +#define ROSTER_TYPE_USER 1 +#define ROSTER_TYPE_GROUP 2 +#define ROSTER_TYPE_AGENT 4 + +// Flags: +#define ROSTER_FLAG_MSG 1 // Message not read +#define ROSTER_FLAG_HIDE 2 // Group hidden (or buddy window closed) +#define ROSTER_FLAG_LOCK 4 // Node should not be removed from buddylist +// ROSTER_FLAG_LOCAL 8 // Buddy not on server's roster (??) + +extern GList *buddylist; + +// prototypes... +GSList *roster_add_group(char *name); +GSList *roster_add_user(char *jid, char *name, char *group, guint type); +void roster_del_user(char *jid); +void roster_setstatus(char *jid, enum imstatus bstat); + +void buddylist_hide_offline_buddies(int hide); +void buddy_hide_group(gpointer rosterdata, int hide); +void buddylist_build(void); +const char *buddy_getjid(gpointer rosterdata); +const char *buddy_getname(gpointer rosterdata); +guint buddy_gettype(gpointer rosterdata); +enum imstatus buddy_getstatus(gpointer rosterdata); +guint buddy_getflags(gpointer rosterdata); + +#endif /* __ROSTER_H__ */