20 #ifndef _MW_SRVC_DIR_H
21 #define _MW_SRVC_DIR_H
34 #define SERVICE_DIRECTORY 0x0000001a
66 #define DIR_SEARCH_ERROR 0x00000000
69 #define MW_DIRECTORY_IS_STATE(dir, state) \
70 (mwDirectory_getState(dir) == (state))
72 #define MW_DIRECTORY_IS_NEW(dir) \
73 MW_DIRECTORY_IS_STATE((dir), mwDirectory_NEW)
75 #define MW_DIRECTORY_IS_PENDING(dir) \
76 MW_DIRECTORY_IS_STATE((dir), mwDirectory_PENDING)
78 #define MW_DIRECTORY_IS_OPEN(dir) \
79 MW_DIRECTORY_IS_STATE((dir), mwDirectory_OPEN)
100 guint32 code, guint32 offset, GList *members);
165 gpointer data, GDestroyNotify
clear);
struct mwServiceDirectory * mwServiceDirectory_new(struct mwSession *session, struct mwDirectoryHandler *handler)
Allocate a new directory service instance for use with session.
void(* mwSearchHandler)(struct mwDirectory *dir, guint32 code, guint32 offset, GList *members)
Appropriate function signature for handling directory search results.
Definition: mw_srvc_dir.h:99
GList * mwServiceDirectory_getDirectories(struct mwServiceDirectory *srvc)
list of directories in the service
mwDirectoryMemberType
Definition: mw_srvc_dir.h:82
@ mwDirectoryMember_GROUP
Definition: mw_srvc_dir.h:84
@ mwDirectoryMember_USER
Definition: mw_srvc_dir.h:83
struct mwDirectory * mwDirectory_new(struct mwAddressBook *book)
allocate a new directory based off the given address book
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
GList * mwServiceDirectory_getAddressBooks(struct mwServiceDirectory *srvc)
most recent list of address books available in service
mwDirectoryState
Definition: mw_srvc_dir.h:56
@ mwDirectory_ERROR
error opening or using directory
Definition: mw_srvc_dir.h:60
@ mwDirectory_UNKNOWN
error determining directory state
Definition: mw_srvc_dir.h:61
@ mwDirectory_OPEN
directory is open
Definition: mw_srvc_dir.h:59
@ mwDirectory_NEW
directory is created, but not open
Definition: mw_srvc_dir.h:57
@ mwDirectory_PENDING
directory has in the process of opening
Definition: mw_srvc_dir.h:58
gpointer mwDirectory_getClientData(struct mwDirectory *dir)
reference associated client data
int mwDirectory_open(struct mwDirectory *dir, mwSearchHandler cb)
initialize a directory.
const char * mwAddressBook_getName(struct mwAddressBook *book)
the name of the address book
int mwDirectory_search(struct mwDirectory *dir, const char *query)
initiate a search on an open directory
enum mwDirectoryState mwDirectory_getState(struct mwDirectory *dir)
struct mwServiceDirectory * mwDirectory_getService(struct mwDirectory *dir)
reference owning service
void mwDirectory_setClientData(struct mwDirectory *dir, gpointer data, GDestroyNotify clear)
set client data.
GList * mwAddressBook_getDirectories(struct mwAddressBook *book)
list of directories associated with address book.
int mwDirectory_next(struct mwDirectory *dir)
continue a search into its next results
struct mwDirectoryHandler * mwServiceDirectory_getHandler(struct mwServiceDirectory *srvc)
the handler associated with the service at its creation
struct mwAddressBook * mwDirectory_getAddressBook(struct mwDirectory *dir)
reference owning address book
int mwDirectory_destroy(struct mwDirectory *dir)
close and free the directory, and unassociate it with its owning address book and service
int mwDirectory_previous(struct mwDirectory *dir)
continue a search into its previous results
server-side collection of users and groups.
Definition: mw_srvc_dir.h:40
handles asynchronous events for a directory service instance
Definition: mw_srvc_dir.h:104
void(* on_book_list)(struct mwServiceDirectory *srvc, GList *books)
handle receipt of the address book list from the service.
Definition: mw_srvc_dir.h:109
void(* clear)(struct mwServiceDirectory *srvc)
optional.
Definition: mw_srvc_dir.h:118
void(* dir_closed)(struct mwDirectory *dir, guint32 reason)
triggered when a directory has been closed
Definition: mw_srvc_dir.h:115
void(* dir_opened)(struct mwDirectory *dir)
triggered when a directory has been successfully opened
Definition: mw_srvc_dir.h:112
Definition: mw_srvc_dir.h:88
guint16 foo
unknown
Definition: mw_srvc_dir.h:93
char * id
proper ID for member
Definition: mw_srvc_dir.h:90
char * short_name
short name of member
Definition: mw_srvc_dir.h:92
char * long_name
full name of member (USER type only)
Definition: mw_srvc_dir.h:91
guint16 type
Definition: mw_srvc_dir.h:89
searchable directory, based off of an address book
Definition: mw_srvc_dir.h:47
struct mwSession * session
session this service is attached to.
Definition: mw_service.h:139
mwService_funcClear clear
The service's cleanup handler.
Definition: mw_service.h:195
Represents a Sametime client session.