mcabber/src/roster.h
author mikael
Sat, 16 Apr 2005 20:34:00 +0000
changeset 78 d001d8fb876d
parent 72 9b7f0d313e33
child 79 ff8046b6de02
permissions -rw-r--r--
[/trunk] Changeset 92 by mikael * Improve roster. Next step is to switch to it, from "buddies".
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
     1
#ifndef __ROSTER_H__
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
     2
#define __ROSTER_H__ 1
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
     3
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
     4
#include <glib.h>
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
     5
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
     6
#ifdef MCABBER_TESTUNIT
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
     7
# include "test_roster_main.h"
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
     8
#else
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
     9
# include "jabglue.h"
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    10
#endif
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    11
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    12
enum findwhat {
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    13
  jidsearch,
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    14
  namesearch
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    15
};
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    16
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    17
// Roster_type is a set of flags, so values should be 2^n
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    18
#define ROSTER_TYPE_USER    1
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    19
#define ROSTER_TYPE_GROUP   2
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    20
#define ROSTER_TYPE_AGENT   4
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    21
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    22
// Flags:
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    23
#define ROSTER_FLAG_MSG     1   // Message not read
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    24
#define ROSTER_FLAG_HIDE    2   // Group hidden (or buddy window closed)
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    25
#define ROSTER_FLAG_LOCK    4   // Node should not be removed from buddylist
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    26
// ROSTER_FLAG_LOCAL   8   // Buddy not on server's roster  (??)
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    27
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    28
extern GList *buddylist;
78
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    29
extern GList *current_buddy;
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    30
78
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    31
// Macros...
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    32
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    33
#define CURRENT_JID     buddy_getjid(current_buddy->data)
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    34
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    35
// Prototypes...
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    36
GSList *roster_add_group(const char *name);
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    37
GSList *roster_add_user(const char *jid, const char *name, const char *group,
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    38
        guint type);
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    39
void    roster_del_user(const char *jid);
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    40
void    roster_setstatus(const char *jid, enum imstatus bstat);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    41
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    42
void buddylist_hide_offline_buddies(int hide);
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    43
void buddy_hide_group(gpointer rosterdata, int hide);
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    44
void buddylist_build(void);
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    45
const char *buddy_getjid(gpointer rosterdata);
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    46
const char *buddy_getname(gpointer rosterdata);
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    47
guint buddy_gettype(gpointer rosterdata);
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    48
enum imstatus buddy_getstatus(gpointer rosterdata);
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    49
guint buddy_getflags(gpointer rosterdata);
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    50
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    51
#endif /* __ROSTER_H__ */