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__ */