mcabber/src/roster.h
author mikael
Sat, 04 Jun 2005 12:47:13 +0000
changeset 221 73f6ce668ba8
parent 210 f64818ba3503
child 225 d5ae42cbe1fa
permissions -rw-r--r--
[/trunk] Changeset 233 by mikael * /info now displays the current status message
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
# include "jabglue.h"
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
     7
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
     8
enum findwhat {
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
     9
  jidsearch,
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    10
  namesearch
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    11
};
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    12
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    13
// Roster_type is a set of flags, so values should be 2^n
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    14
#define ROSTER_TYPE_USER    1
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    15
#define ROSTER_TYPE_GROUP   2
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    16
#define ROSTER_TYPE_AGENT   4
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    17
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    18
// Flags:
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    19
#define ROSTER_FLAG_MSG     1   // Message not read
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    20
#define ROSTER_FLAG_HIDE    2   // Group hidden (or buddy window closed)
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    21
#define ROSTER_FLAG_LOCK    4   // Node should not be removed from buddylist
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    22
// ROSTER_FLAG_LOCAL   8   // Buddy not on server's roster  (??)
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    23
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    24
extern GList *buddylist;
78
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    25
extern GList *current_buddy;
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    26
78
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    27
// Macros...
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    28
79
ff8046b6de02 [/trunk] Changeset 93 by mikael
mikael
parents: 78
diff changeset
    29
#define BUDDATA(glist_node) ((glist_node)->data)
ff8046b6de02 [/trunk] Changeset 93 by mikael
mikael
parents: 78
diff changeset
    30
#define CURRENT_JID         buddy_getjid(BUDDATA(current_buddy))
78
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    31
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    32
// Prototypes...
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    33
GSList *roster_add_group(const char *name);
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    34
GSList *roster_add_user(const char *jid, const char *name, const char *group,
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    35
        guint type);
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    36
void    roster_del_user(const char *jid);
164
faf534be8ff0 [/trunk] Changeset 176 by mikael
mikael
parents: 148
diff changeset
    37
void    roster_free(void);
221
73f6ce668ba8 [/trunk] Changeset 233 by mikael
mikael
parents: 210
diff changeset
    38
void    roster_setstatus(const char *jid, enum imstatus bstat,
73f6ce668ba8 [/trunk] Changeset 233 by mikael
mikael
parents: 210
diff changeset
    39
        const char *status_msg);
80
7fb661f19a77 [/trunk] Changeset 94 by mikael
mikael
parents: 79
diff changeset
    40
void    roster_setflags(const char *jid, guint flags, guint value);
148
c3624b2a7059 [/trunk] Changeset 160 by mikael
mikael
parents: 147
diff changeset
    41
void    roster_msg_setflag(const char *jid, guint value);
89
d39f15683c34 [/trunk] Changeset 103 by mikael
mikael
parents: 80
diff changeset
    42
void    roster_settype(const char *jid, guint type);
90
ac48ace7ee19 [/trunk] Changeset 104 by mikael
mikael
parents: 89
diff changeset
    43
enum imstatus roster_getstatus(const char *jid);
89
d39f15683c34 [/trunk] Changeset 103 by mikael
mikael
parents: 80
diff changeset
    44
guint   roster_gettype(const char *jid);
141
6533a231a65e [/trunk] Changeset 153 by mikael
mikael
parents: 120
diff changeset
    45
inline guint roster_exists(const char *jidname, enum findwhat type,
6533a231a65e [/trunk] Changeset 153 by mikael
mikael
parents: 120
diff changeset
    46
        guint roster_type);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    47
166
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
    48
void    buddylist_build(void);
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
    49
void    buddy_hide_group(gpointer rosterdata, int hide);
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
    50
void    buddylist_set_hide_offline_buddies(int hide);
120
cfd3df636d5f [/trunk] Changeset 133 by mikael
mikael
parents: 119
diff changeset
    51
inline int buddylist_get_hide_offline_buddies(void);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    52
const char *buddy_getjid(gpointer rosterdata);
207
41fafa0ecfd8 [/trunk] Changeset 219 by mikael
mikael
parents: 166
diff changeset
    53
void        buddy_setname(gpointer rosterdata, char *newname);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    54
const char *buddy_getname(gpointer rosterdata);
166
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
    55
guint   buddy_gettype(gpointer rosterdata);
210
f64818ba3503 [/trunk] Changeset 222 by mikael
mikael
parents: 207
diff changeset
    56
void    buddy_setgroup(gpointer rosterdata, char *newgroupname);
207
41fafa0ecfd8 [/trunk] Changeset 219 by mikael
mikael
parents: 166
diff changeset
    57
const char *buddy_getgroupname(gpointer rosterdata);
166
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
    58
gpointer buddy_getgroup(gpointer rosterdata);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    59
enum imstatus buddy_getstatus(gpointer rosterdata);
221
73f6ce668ba8 [/trunk] Changeset 233 by mikael
mikael
parents: 210
diff changeset
    60
const char *buddy_getstatusmsg(gpointer rosterdata);
166
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
    61
void    buddy_setflags(gpointer rosterdata, guint flags, guint value);
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
    62
guint   buddy_getflags(gpointer rosterdata);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    63
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    64
#endif /* __ROSTER_H__ */