Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

mw_srvc_resolve.h

Go to the documentation of this file.
00001 
00002 /*
00003   Meanwhile - Unofficial Lotus Sametime Community Client Library
00004   Copyright (C) 2004  Christopher (siege) O'Brien
00005   
00006   This library is free software; you can redistribute it and/or
00007   modify it under the terms of the GNU Library General Public
00008   License as published by the Free Software Foundation; either
00009   version 2 of the License, or (at your option) any later version.
00010   
00011   This library is distributed in the hope that it will be useful,
00012   but WITHOUT ANY WARRANTY; without even the implied warranty of
00013   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014   Library General Public License for more details.
00015   
00016   You should have received a copy of the GNU Library General Public
00017   License along with this library; if not, write to the Free
00018   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019 */
00020 
00021 #ifndef _MW_SRVC_RESOLVE_H
00022 #define _MW_SRVC_RESOLVE_H
00023 
00024 
00025 #include <glib.h>
00026 #include <glib/glist.h>
00027 
00028 
00030 #define mwService_RESOLVE  0x00000015
00031 
00032 
00034 #define SEARCH_ERROR  0x00
00035 
00036 
00039 struct mwServiceResolve;
00040 
00041 
00042 enum mwResolveFlag {
00044   mwResolveFlag_UNIQUE    = 0x00000001,
00045 
00047   mwResolveFlag_FIRST     = 0x00000002,
00048 
00050   mwResolveFlag_ALL_DIRS  = 0x00000004,
00051 
00053   mwResolveFlag_USERS     = 0x00000008,
00054 
00056   mwResolveFlag_GROUPS    = 0x00000010,
00057 };
00058 
00059 
00061 enum mwResolveCode {
00063   mwResolveCode_SUCCESS     = 0x00000000,
00064 
00066   mwResolveCode_PARTIAL     = 0x00010000,
00067 
00070   mwResolveCode_MULTIPLE    = 0x80020000,
00071 
00073   mwResolveCode_BAD_FORMAT  = 0x80030000,
00074 };
00075 
00076 
00077 enum mwResolveMatchType {
00078   mwResolveMatch_USER   = 0x00000001,
00079   mwResolveMatch_GROUP  = 0x00000002,
00080 };
00081 
00082 
00083 struct mwResolveMatch {
00084   char *id;      
00085   char *name;    
00086   char *desc;    
00087   guint32 type;  
00088 };
00089 
00090 
00091 struct mwResolveResult {
00092   guint32 code;    
00093   char *name;      
00094   GList *matches;  
00095 };
00096 
00097 
00108 typedef void (*mwResolveHandler)
00109      (struct mwServiceResolve *srvc,
00110       guint32 id, guint32 code, GList *results,
00111       gpointer data);
00112 
00113 
00115 struct mwServiceResolve *mwServiceResolve_new(struct mwSession *);
00116 
00117 
00128 guint32 mwServiceResolve_resolve(struct mwServiceResolve *srvc,
00129                                  GList *queries, enum mwResolveFlag flags,
00130                                  mwResolveHandler handler,
00131                                  gpointer data, GDestroyNotify cleanup);
00132 
00133 
00137 void mwServiceResolve_cancelResolve(struct mwServiceResolve *, guint32);
00138 
00139 
00140 #endif

Generated on Tue Nov 1 15:51:53 2005 for meanwhile by  doxygen 1.4.4