meanwhile 1.1.0
mw_srvc_dir.h
Go to the documentation of this file.
1/*
2 Meanwhile - Unofficial Lotus Sametime Community Client Library
3 Copyright (C) 2004 Christopher (siege) O'Brien
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public
16 License along with this library; if not, write to the Free
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18*/
19
20#ifndef _MW_SRVC_DIR_H
21#define _MW_SERV_DIR_H
22
23
24#include <glib.h>
25
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31
32struct mwSession;
33
34
35#define SERVICE_DIRECTORY 0x0000001a
36
37
42
43
48struct mwAddressBook;
49
50
54struct mwDirectory;
55
56
64
65
67#define DIR_SEARCH_ERROR 0x00000000
68
69
70#define MW_DIRECTORY_IS_STATE(dir, state) \
71 (mwDirectory_getState(dir) == (state))
72
73#define MW_DIRECTORY_IS_NEW(dir) \
74 MW_DIRECTORY_IS_STATE((dir), mwDirectory_NEW)
75
76#define MW_DIRECTORY_IS_PENDING(dir) \
77 MW_DIRECTORY_IS_STATE((dir), mwDirectory_PENDING)
78
79#define MW_DIRECTORY_IS_OPEN(dir) \
80 MW_DIRECTORY_IS_STATE((dir), mwDirectory_OPEN)
81
82
87
88
90 guint16 type;
91 char *id;
92 char *long_name;
93 char *short_name;
94 guint16 foo;
95};
96
97
99typedef void (*mwSearchHandler)
100 (struct mwDirectory *dir,
101 guint32 code, guint32 offset, GList *members);
102
103
106
110 void (*on_book_list)(struct mwServiceDirectory *srvc, GList *books);
111
113 void (*dir_opened)(struct mwDirectory *dir);
114
116 void (*dir_closed)(struct mwDirectory *dir, guint32 reason);
117
119 void (*clear)(struct mwServiceDirectory *srvc);
120};
121
122
124struct mwServiceDirectory *
126 struct mwDirectoryHandler *handler);
127
128
130struct mwDirectoryHandler *
132
133
136
137
141
142
145
146
150
151
153const char *mwAddressBook_getName(struct mwAddressBook *book);
154
155
158
159
161
162
166 gpointer data, GDestroyNotify clear);
167
168
171
172
175
176
179
180
183
184
187
188
191
192
195
196
198int mwDirectory_search(struct mwDirectory *dir, const char *query);
199
200
204
205
206#ifdef __cplusplus
207}
208#endif
209
210
211#endif /* _MW_SRVC_DIR_H */
void(* mwSearchHandler)(struct mwDirectory *dir, guint32 code, guint32 offset, GList *members)
Appropriate function signature for handling directory search results.
Definition mw_srvc_dir.h:100
GList * mwServiceDirectory_getAddressBooks(struct mwServiceDirectory *srvc)
most recent list of address books available in service
mwDirectoryMemberType
Definition mw_srvc_dir.h:83
@ mwDirectoryMember_GROUP
Definition mw_srvc_dir.h:85
@ mwDirectoryMember_USER
Definition mw_srvc_dir.h:84
int mwServiceDirectory_refreshAddressBooks(struct mwServiceDirectory *srvc)
submit a request to obtain an updated list of address books from service
void mwDirectory_removeClientData(struct mwDirectory *dir)
remove and cleanup user data
struct mwServiceDirectory * mwDirectory_getService(struct mwDirectory *dir)
reference owning service
struct mwDirectoryHandler * mwServiceDirectory_getHandler(struct mwServiceDirectory *srvc)
the handler associated with the service at its creation
const char * mwAddressBook_getName(struct mwAddressBook *book)
the name of the address book
mwDirectoryState
Definition mw_srvc_dir.h:57
@ mwDirectory_ERROR
error opening or using directory
Definition mw_srvc_dir.h:61
@ mwDirectory_UNKNOWN
error determining directory state
Definition mw_srvc_dir.h:62
@ mwDirectory_OPEN
directory is open
Definition mw_srvc_dir.h:60
@ mwDirectory_NEW
directory is created, but not open
Definition mw_srvc_dir.h:58
@ mwDirectory_PENDING
directory has in the process of opening
Definition mw_srvc_dir.h:59
gpointer mwDirectory_getClientData(struct mwDirectory *dir)
reference associated client data
int mwDirectory_open(struct mwDirectory *dir, mwSearchHandler cb)
initialize a directory.
int mwDirectory_search(struct mwDirectory *dir, const char *query)
initiate a search on an open directory
GList * mwServiceDirectory_getDirectories(struct mwServiceDirectory *srvc)
list of directories in the service
enum mwDirectoryState mwDirectory_getState(struct mwDirectory *dir)
GList * mwAddressBook_getDirectories(struct mwAddressBook *book)
list of directories associated with address book.
void mwDirectory_setClientData(struct mwDirectory *dir, gpointer data, GDestroyNotify clear)
set client data.
struct mwAddressBook * mwDirectory_getAddressBook(struct mwDirectory *dir)
reference owning address book
struct mwDirectory * mwDirectory_new(struct mwAddressBook *book)
allocate a new directory based off the given address book
int mwDirectory_next(struct mwDirectory *dir)
continue a search into its next results
int mwDirectory_destroy(struct mwDirectory *dir)
close and free the directory, and unassociate it with its owning address book and service
struct mwServiceDirectory * mwServiceDirectory_new(struct mwSession *session, struct mwDirectoryHandler *handler)
Allocate a new directory service instance for use with session.
int mwDirectory_previous(struct mwDirectory *dir)
continue a search into its previous results
server-side collection of users and groups.
handles asynchronous events for a directory service instance
Definition mw_srvc_dir.h:105
void(* on_book_list)(struct mwServiceDirectory *srvc, GList *books)
handle receipt of the address book list from the service.
Definition mw_srvc_dir.h:110
void(* clear)(struct mwServiceDirectory *srvc)
optional.
Definition mw_srvc_dir.h:119
void(* dir_closed)(struct mwDirectory *dir, guint32 reason)
triggered when a directory has been closed
Definition mw_srvc_dir.h:116
void(* dir_opened)(struct mwDirectory *dir)
triggered when a directory has been successfully opened
Definition mw_srvc_dir.h:113
Definition mw_srvc_dir.h:89
guint16 foo
unknown
Definition mw_srvc_dir.h:94
char * id
proper ID for member
Definition mw_srvc_dir.h:91
char * short_name
short name of member
Definition mw_srvc_dir.h:93
char * long_name
full name of member (USER type only)
Definition mw_srvc_dir.h:92
guint16 type
Definition mw_srvc_dir.h:90
searchable directory, based off of an address book
the directory service.
Represents a Sametime client session.