mcabber/src/roster.h
author Mikael Berthe <mikael@lilotux.net>
Sat, 27 Aug 2005 11:21:27 +0200
changeset 403 17aa60c6dc63
parent 364 33b8e801ffa6
child 438 b44be19d6229
permissions -rw-r--r--
Allow a different server name than the jid domain name Sync libjabber with upstream (centericq). The libjabber patch is from Ian Johannesen. This allows connecting to Google Talk, for example.
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;
330
a9013124ede6 Add "/roster alternate"
Mikael Berthe <mikael@lilotux.net>
parents: 318
diff changeset
    26
extern GList *alternate_buddy;
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    27
78
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    28
// Macros...
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    29
79
ff8046b6de02 [/trunk] Changeset 93 by mikael
mikael
parents: 78
diff changeset
    30
#define BUDDATA(glist_node) ((glist_node)->data)
ff8046b6de02 [/trunk] Changeset 93 by mikael
mikael
parents: 78
diff changeset
    31
#define CURRENT_JID         buddy_getjid(BUDDATA(current_buddy))
78
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    32
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    33
// Prototypes...
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    34
GSList *roster_add_group(const char *name);
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    35
GSList *roster_add_user(const char *jid, const char *name, const char *group,
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    36
        guint type);
d001d8fb876d [/trunk] Changeset 92 by mikael
mikael
parents: 72
diff changeset
    37
void    roster_del_user(const char *jid);
164
faf534be8ff0 [/trunk] Changeset 176 by mikael
mikael
parents: 148
diff changeset
    38
void    roster_free(void);
221
73f6ce668ba8 [/trunk] Changeset 233 by mikael
mikael
parents: 210
diff changeset
    39
void    roster_setstatus(const char *jid, enum imstatus bstat,
73f6ce668ba8 [/trunk] Changeset 233 by mikael
mikael
parents: 210
diff changeset
    40
        const char *status_msg);
80
7fb661f19a77 [/trunk] Changeset 94 by mikael
mikael
parents: 79
diff changeset
    41
void    roster_setflags(const char *jid, guint flags, guint value);
148
c3624b2a7059 [/trunk] Changeset 160 by mikael
mikael
parents: 147
diff changeset
    42
void    roster_msg_setflag(const char *jid, guint value);
89
d39f15683c34 [/trunk] Changeset 103 by mikael
mikael
parents: 80
diff changeset
    43
void    roster_settype(const char *jid, guint type);
90
ac48ace7ee19 [/trunk] Changeset 104 by mikael
mikael
parents: 89
diff changeset
    44
enum imstatus roster_getstatus(const char *jid);
318
45076d02eeef The /status command can specify a status message
Mikael Berthe <mikael@lilotux.net>
parents: 265
diff changeset
    45
const char   *roster_getstatusmsg(const char *jid);
89
d39f15683c34 [/trunk] Changeset 103 by mikael
mikael
parents: 80
diff changeset
    46
guint   roster_gettype(const char *jid);
141
6533a231a65e [/trunk] Changeset 153 by mikael
mikael
parents: 120
diff changeset
    47
inline guint roster_exists(const char *jidname, enum findwhat type,
6533a231a65e [/trunk] Changeset 153 by mikael
mikael
parents: 120
diff changeset
    48
        guint roster_type);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    49
166
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
    50
void    buddylist_build(void);
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
    51
void    buddy_hide_group(gpointer rosterdata, int hide);
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
    52
void    buddylist_set_hide_offline_buddies(int hide);
120
cfd3df636d5f [/trunk] Changeset 133 by mikael
mikael
parents: 119
diff changeset
    53
inline int buddylist_get_hide_offline_buddies(void);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    54
const char *buddy_getjid(gpointer rosterdata);
207
41fafa0ecfd8 [/trunk] Changeset 219 by mikael
mikael
parents: 166
diff changeset
    55
void        buddy_setname(gpointer rosterdata, char *newname);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    56
const char *buddy_getname(gpointer rosterdata);
166
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
    57
guint   buddy_gettype(gpointer rosterdata);
210
f64818ba3503 [/trunk] Changeset 222 by mikael
mikael
parents: 207
diff changeset
    58
void    buddy_setgroup(gpointer rosterdata, char *newgroupname);
207
41fafa0ecfd8 [/trunk] Changeset 219 by mikael
mikael
parents: 166
diff changeset
    59
const char *buddy_getgroupname(gpointer rosterdata);
166
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
    60
gpointer buddy_getgroup(gpointer rosterdata);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    61
enum imstatus buddy_getstatus(gpointer rosterdata);
221
73f6ce668ba8 [/trunk] Changeset 233 by mikael
mikael
parents: 210
diff changeset
    62
const char *buddy_getstatusmsg(gpointer rosterdata);
166
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
    63
void    buddy_setflags(gpointer rosterdata, guint flags, guint value);
aa5b635520ef [/trunk] Changeset 178 by mikael
mikael
parents: 164
diff changeset
    64
guint   buddy_getflags(gpointer rosterdata);
265
49e9e02dd6d0 Add "/roster search" command
mikael@frmp8452
parents: 236
diff changeset
    65
GList  *buddy_search(char *string);
236
72fd1273f2b7 [/trunk] Changeset 249 by mikael
mikael
parents: 225
diff changeset
    66
gpointer unread_msg(gpointer rosterdata);
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    67
225
d5ae42cbe1fa [/trunk] Changeset 237 by mikael
mikael
parents: 221
diff changeset
    68
GSList *compl_list(guint type);
d5ae42cbe1fa [/trunk] Changeset 237 by mikael
mikael
parents: 221
diff changeset
    69
72
9b7f0d313e33 [/trunk] Changeset 86 by mikael
mikael
parents:
diff changeset
    70
#endif /* __ROSTER_H__ */