meanwhile  1.1.0
mw_srvc_aware.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_SRVC_AWARE_H
22 #define _MW_SRVC_AWARE_H
23 
24 
37 #include "mw_common.h"
38 
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 
46 #define mwService_AWARE 0x00000011
47 
48 
57 
58 
68 struct mwAwareList;
69 
70 
75 struct mwAwareAttribute;
76 
77 
86 };
87 
88 
89 typedef void (*mwAwareAttributeHandler)
90  (struct mwServiceAware *srvc,
91  struct mwAwareAttribute *attrib);
92 
93 
96  void (*clear)(struct mwServiceAware *srvc);
97 };
98 
99 
106 typedef void (*mwAwareSnapshotHandler)
107  (struct mwAwareList *list,
108  struct mwAwareSnapshot *id);
109 
110 
119 typedef void (*mwAwareIdAttributeHandler)
120  (struct mwAwareList *list,
121  struct mwAwareIdBlock *id,
122  struct mwAwareAttribute *attrib);
123 
124 
128 
131 
133  void (*clear)(struct mwAwareList *list);
134 };
135 
136 
137 struct mwServiceAware *
139  struct mwAwareHandler *handler);
140 
141 
144  guint32 key, struct mwOpaque *opaque);
145 
146 
148  guint32 key, gboolean val);
149 
150 
152  guint32 key, guint32 val);
153 
154 
156  guint32 key, const char *str);
157 
158 
161  guint32 key);
162 
163 
164 guint32 mwAwareAttribute_getKey(const struct mwAwareAttribute *attrib);
165 
166 
167 gboolean mwAwareAttribute_asBoolean(const struct mwAwareAttribute *attrib);
168 
169 
170 guint32 mwAwareAttribute_asInteger(const struct mwAwareAttribute *attrib);
171 
172 
175 char *mwAwareAttribute_asString(const struct mwAwareAttribute *attrib);
176 
177 
179 const struct mwOpaque *
180 mwAwareAttribute_asOpaque(const struct mwAwareAttribute *attrib);
181 
182 
184 struct mwAwareList *
185 mwAwareList_new(struct mwServiceAware *srvc,
186  struct mwAwareListHandler *handler);
187 
188 
190 void mwAwareList_free(struct mwAwareList *list);
191 
192 
194 
195 
201 int mwAwareList_addAware(struct mwAwareList *list, GList *id_list);
202 
203 
209 int mwAwareList_removeAware(struct mwAwareList *list, GList *id_list);
210 
211 
212 int mwAwareList_removeAllAware(struct mwAwareList *list);
213 
214 
217  guint32 *keys);
218 
219 
222  guint32 key, ...);
223 
224 
227  guint32 *keys);
228 
229 
232  guint32 key, ...);
233 
234 
237 
238 
239 guint32 *mwAwareList_getWatchedAttributes(struct mwAwareList *list);
240 
241 
242 void mwAwareList_setClientData(struct mwAwareList *list,
243  gpointer data, GDestroyNotify cleanup);
244 
245 
246 void mwAwareList_removeClientData(struct mwAwareList *list);
247 
248 
249 gpointer mwAwareList_getClientData(struct mwAwareList *list);
250 
251 
255 void mwServiceAware_setStatus(struct mwServiceAware *srvc,
256  struct mwAwareIdBlock *user,
257  struct mwUserStatus *stat);
258 
259 
261 const char *mwServiceAware_getText(struct mwServiceAware *srvc,
262  struct mwAwareIdBlock *user);
263 
264 
267 const struct mwAwareAttribute *
269  struct mwAwareIdBlock *user,
270  guint32 key);
271 
272 
273 #ifdef __cplusplus
274 }
275 #endif
276 
277 
278 #endif /* _MW_SRVC_AWARE_H */
279