meanwhile 1.1.1
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
41extern "C" {
42#endif
43
44
46#define mwService_AWARE 0x00000011
47
48
56struct mwServiceAware;
57
58
68struct mwAwareList;
69
70
75struct mwAwareAttribute;
76
77
86};
87
88
90 (struct mwServiceAware *srvc,
91 struct mwAwareAttribute *attrib);
92
93
96 void (*clear)(struct mwServiceAware *srvc);
97};
98
99
107 (struct mwAwareList *list,
108 struct mwAwareSnapshot *id);
109
110
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
137struct 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
164guint32 mwAwareAttribute_getKey(const struct mwAwareAttribute *attrib);
165
166
167gboolean mwAwareAttribute_asBoolean(const struct mwAwareAttribute *attrib);
168
169
170guint32 mwAwareAttribute_asInteger(const struct mwAwareAttribute *attrib);
171
172
175char *mwAwareAttribute_asString(const struct mwAwareAttribute *attrib);
176
177
179const struct mwOpaque *
181
182
184struct mwAwareList *
186 struct mwAwareListHandler *handler);
187
188
190void mwAwareList_free(struct mwAwareList *list);
191
192
194
195
201int mwAwareList_addAware(struct mwAwareList *list, GList *id_list);
202
203
209int mwAwareList_removeAware(struct mwAwareList *list, GList *id_list);
210
211
213
214
217 guint32 *keys);
218
219
222 guint32 key, ...);
223
224
227 guint32 *keys);
228
229
232 guint32 key, ...);
233
234
237
238
240
241
243 gpointer data, GDestroyNotify cleanup);
244
245
247
248
250
251
256 struct mwAwareIdBlock *user,
257 struct mwUserStatus *stat);
258
259
261const char *mwServiceAware_getText(struct mwServiceAware *srvc,
262 struct mwAwareIdBlock *user);
263
264
267const 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
Common data types and functions for handling those types.
int mwAwareList_unwatchAttributeArray(struct mwAwareList *list, guint32 *keys)
stop watching a NULL terminated array of keys
int mwAwareList_watchAttributes(struct mwAwareList *list, guint32 key,...)
watch a NULL terminated list of keys
guint32 mwAwareAttribute_asInteger(const struct mwAwareAttribute *attrib)
int mwAwareList_removeAware(struct mwAwareList *list, GList *id_list)
Remove a collection of user IDs from an aware list.
void mwAwareList_setClientData(struct mwAwareList *list, gpointer data, GDestroyNotify cleanup)
void(* mwAwareSnapshotHandler)(struct mwAwareList *list, struct mwAwareSnapshot *id)
Appropriate function type for the on-aware signal.
Definition: mw_srvc_aware.h:107
int mwAwareList_unwatchAllAttributes(struct mwAwareList *list)
remove all watched attributes
guint32 * mwAwareList_getWatchedAttributes(struct mwAwareList *list)
int mwAwareList_watchAttributeArray(struct mwAwareList *list, guint32 *keys)
watch an NULL terminated array of keys
void mwAwareList_free(struct mwAwareList *list)
Clean and free an aware list.
struct mwServiceAware * mwServiceAware_new(struct mwSession *session, struct mwAwareHandler *handler)
const char * mwServiceAware_getText(struct mwServiceAware *srvc, struct mwAwareIdBlock *user)
look up the status description for a user
int mwServiceAware_unsetAttribute(struct mwServiceAware *srvc, guint32 key)
Unset an attribute for this session.
int mwServiceAware_setAttributeBoolean(struct mwServiceAware *srvc, guint32 key, gboolean val)
const struct mwOpaque * mwAwareAttribute_asOpaque(const struct mwAwareAttribute *attrib)
Direct access to an attribute's underlying opaque.
void mwServiceAware_setStatus(struct mwServiceAware *srvc, struct mwAwareIdBlock *user, struct mwUserStatus *stat)
trigger a got_aware event constructed from the passed user and status information.
guint32 mwAwareAttribute_getKey(const struct mwAwareAttribute *attrib)
int mwAwareList_addAware(struct mwAwareList *list, GList *id_list)
Add a collection of user IDs to an aware list.
int mwServiceAware_setAttributeInteger(struct mwServiceAware *srvc, guint32 key, guint32 val)
int mwAwareList_unwatchAttributes(struct mwAwareList *list, guint32 key,...)
stop watching a NULL terminated list of keys
int mwServiceAware_setAttribute(struct mwServiceAware *srvc, guint32 key, struct mwOpaque *opaque)
Set an attribute value for this session.
struct mwAwareList * mwAwareList_new(struct mwServiceAware *srvc, struct mwAwareListHandler *handler)
Allocate and initialize an aware list.
char * mwAwareAttribute_asString(const struct mwAwareAttribute *attrib)
Copy of attribute string, must be g_free'd.
void(* mwAwareAttributeHandler)(struct mwServiceAware *srvc, struct mwAwareAttribute *attrib)
Definition: mw_srvc_aware.h:90
void mwAwareList_removeClientData(struct mwAwareList *list)
const struct mwAwareAttribute * mwServiceAware_getAttribute(struct mwServiceAware *srvc, struct mwAwareIdBlock *user, guint32 key)
look up the last known copy of an attribute for a user by the attribute's key
gpointer mwAwareList_getClientData(struct mwAwareList *list)
int mwServiceAware_setAttributeString(struct mwServiceAware *srvc, guint32 key, const char *str)
mwAwareAttributeKeys
Predefined keys appropriate for a mwAwareAttribute.
Definition: mw_srvc_aware.h:80
@ mwAttribute_FILE_TRANSFER
supports file transfers, gboolean
Definition: mw_srvc_aware.h:85
@ mwAttribute_AV_PREFS_SET
A/V prefs specified, gboolean.
Definition: mw_srvc_aware.h:81
@ mwAttribute_SPEAKERS
has speakers, gboolean
Definition: mw_srvc_aware.h:83
@ mwAttribute_VIDEO_CAMERA
has a video camera, gboolean
Definition: mw_srvc_aware.h:84
@ mwAttribute_MICROPHONE
has a microphone, gboolean
Definition: mw_srvc_aware.h:82
struct mwAwareListHandler * mwAwareList_getHandler(struct mwAwareList *list)
gboolean mwAwareAttribute_asBoolean(const struct mwAwareAttribute *attrib)
int mwAwareList_removeAllAware(struct mwAwareList *list)
void(* mwAwareIdAttributeHandler)(struct mwAwareList *list, struct mwAwareIdBlock *id, struct mwAwareAttribute *attrib)
Appropriate function type for the on-option signal.
Definition: mw_srvc_aware.h:120
Key/Opaque pair indicating an identity's attribute.
Definition: mw_srvc_aware.h:94
mwAwareAttributeHandler on_attrib
Definition: mw_srvc_aware.h:95
void(* clear)(struct mwServiceAware *srvc)
Definition: mw_srvc_aware.h:96
Definition: mw_common.h:200
Definition: mw_srvc_aware.h:125
mwAwareSnapshotHandler on_aware
handle aware updates
Definition: mw_srvc_aware.h:127
void(* clear)(struct mwAwareList *list)
optional.
Definition: mw_srvc_aware.h:133
mwAwareIdAttributeHandler on_attrib
handle attribute updates
Definition: mw_srvc_aware.h:130
Instance of an Aware List.
Definition: mw_common.h:209
struct mwAwareIdBlock id
Definition: mw_common.h:210
A length of binary data, not null-terminated.
Definition: mw_common.h:79
Instance of an Aware Service.
Represents a Sametime client session.
Definition: mw_common.h:169