meanwhile 1.0.2
mw_st_list.h
Go to the documentation of this file.
1
2/*
3 Meanwhile - Unofficial Lotus Sametime Community Client Library
4 Copyright (C) 2004 Christopher (siege) O'Brien
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version.
10
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details.
15
16 You should have received a copy of the GNU Library General Public
17 License along with this library; if not, write to the Free
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19*/
20
21#ifndef _MW_ST_LIST_H
22#define _MW_ST_LIST_H
23
24
32#include <glib.h>
33#include <glib.h>
34#include "mw_common.h"
35
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40
41
42#define ST_LIST_MAJOR 3
43#define ST_LIST_MINOR 1
44#define ST_LIST_MICRO 3
45
46
51};
52
53
58};
59
60
64struct mwSametimeList;
65
66
70struct mwSametimeGroup;
71
72
76struct mwSametimeUser;
77
78
81
82
85
86
91
92
97
98
100struct mwSametimeList *mwSametimeList_load(const char *str);
101
102
105
106
108
109
111
112
114
115
117
118
120
121
123
124
127
128
129struct mwSametimeGroup *
131 const char *name);
132
133
135struct mwSametimeGroup *
137 enum mwSametimeGroupType type,
138 const char *name);
139
140
144
145
147
148
150
151
153 const char *alias);
154
155
157
158
159void mwSametimeGroup_setOpen(struct mwSametimeGroup *g, gboolean open);
160
161
163
164
166
167
170
171
172struct mwSametimeUser *
174 struct mwIdBlock *user);
175
176
178struct mwSametimeUser *
180 enum mwSametimeUserType type,
181 struct mwIdBlock *user);
182
183
186
187
189
190
192
193
195
196
198
199
200void mwSametimeUser_setShortName(struct mwSametimeUser *u, const char *name);
201
202
204
205
206void mwSametimeUser_setAlias(struct mwSametimeUser *u, const char *alias);
207
208
210
211
212
213#ifdef __cplusplus
214}
215#endif
216
217
218#endif /* _MW_ST_LIST_H */
Common data types and functions for handling those types.
const char * mwSametimeGroup_getName(struct mwSametimeGroup *g)
void mwSametimeUser_setShortName(struct mwSametimeUser *u, const char *name)
void mwSametimeList_put(struct mwPutBuffer *b, struct mwSametimeList *l)
Write a sametime list onto a buffer.
enum mwSametimeGroupType mwSametimeGroup_getType(struct mwSametimeGroup *g)
struct mwSametimeGroup * mwSametimeGroup_new(struct mwSametimeList *l, enum mwSametimeGroupType type, const char *name)
Create a new group in a list.
void mwSametimeList_free(struct mwSametimeList *l)
Free the list, all of its groups, and all of the groups' members.
void mwSametimeGroup_free(struct mwSametimeGroup *g)
Remove a group from its list, and free it.
guint mwSametimeList_getMajor(struct mwSametimeList *l)
void mwSametimeUser_free(struct mwSametimeUser *u)
Remove user from its group, and free it.
const char * mwSametimeGroup_getAlias(struct mwSametimeGroup *g)
enum mwSametimeUserType mwSametimeUser_getType(struct mwSametimeUser *u)
struct mwSametimeList * mwSametimeList_load(const char *str)
convert a plain string into a sametime list
GList * mwSametimeList_getGroups(struct mwSametimeList *l)
Get a GList snapshot of the groups in a list.
void mwSametimeGroup_setAlias(struct mwSametimeGroup *g, const char *alias)
guint mwSametimeList_getMicro(struct mwSametimeList *l)
struct mwSametimeGroup * mwSametimeUser_getGroup(struct mwSametimeUser *u)
struct mwSametimeList * mwSametimeGroup_getList(struct mwSametimeGroup *g)
struct mwSametimeList * mwSametimeList_new()
Create a new list.
struct mwSametimeGroup * mwSametimeList_findGroup(struct mwSametimeList *l, const char *name)
struct mwSametimeUser * mwSametimeGroup_findUser(struct mwSametimeGroup *g, struct mwIdBlock *user)
void mwSametimeList_setMinor(struct mwSametimeList *l, guint v)
void mwSametimeList_get(struct mwGetBuffer *b, struct mwSametimeList *l)
Load a sametime list from a buffer.
guint mwSametimeList_getMinor(struct mwSametimeList *l)
void mwSametimeList_setMicro(struct mwSametimeList *l, guint v)
void mwSametimeList_setMajor(struct mwSametimeList *l, guint v)
void mwSametimeGroup_setOpen(struct mwSametimeGroup *g, gboolean open)
GList * mwSametimeGroup_getUsers(struct mwSametimeGroup *g)
Get a GList snapshot of the users in a list.
const char * mwSametimeUser_getUser(struct mwSametimeUser *u)
const char * mwSametimeUser_getCommunity(struct mwSametimeUser *u)
const char * mwSametimeUser_getAlias(struct mwSametimeUser *u)
char * mwSametimeList_store(struct mwSametimeList *l)
convert a sametime list into a string
mwSametimeGroupType
Definition: mw_st_list.h:47
@ mwSametimeGroup_NORMAL
a normal group of users
Definition: mw_st_list.h:48
@ mwSametimeGroup_UNKNOWN
error determining group type
Definition: mw_st_list.h:50
@ mwSametimeGroup_DYNAMIC
a server-side group
Definition: mw_st_list.h:49
mwSametimeUserType
Definition: mw_st_list.h:54
@ mwSametimeUser_EXTERNAL
external user
Definition: mw_st_list.h:56
@ mwSametimeUser_NORMAL
user on same community
Definition: mw_st_list.h:55
@ mwSametimeUser_UNKNOWN
error determining user type
Definition: mw_st_list.h:57
void mwSametimeUser_setAlias(struct mwSametimeUser *u, const char *alias)
const char * mwSametimeUser_getShortName(struct mwSametimeUser *u)
gboolean mwSametimeGroup_isOpen(struct mwSametimeGroup *g)
struct mwSametimeUser * mwSametimeUser_new(struct mwSametimeGroup *g, enum mwSametimeUserType type, struct mwIdBlock *user)
Create a user in a group.
buffer to be read from
Definition: mw_common.h:71
Definition: mw_common.h:174
buffer to be written to
Represents a group in a buddy list.
Definition: mw_st_list.h:64
Represents a group-based buddy list.
Represents a user in a group in a buddy list.
Definition: mw_st_list.h:70