\hypertarget{mw__srvc__resolve_8h}{
\section{mw\_\-srvc\_\-resolve.h File Reference}
\label{mw__srvc__resolve_8h}\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}}
}


{\tt \#include $<$glib.h$>$}\par
{\tt \#include $<$glib/glist.h$>$}\par
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct \hyperlink{structmwResolveMatch}{mwResolveMatch}
\item 
struct \hyperlink{structmwResolveResult}{mwResolveResult}
\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\#define \hyperlink{mw__srvc__resolve_8h_86bbe7c161a9136f90b946fec18ce7d0}{mwService\_\-RESOLVE}~0x00000015
\begin{CompactList}\small\item\em Type identifier for the conference service. \item\end{CompactList}\item 
\#define \hyperlink{mw__srvc__resolve_8h_a95a23ed83ec736d0038afde41bd38a4}{SEARCH\_\-ERROR}~0x00
\begin{CompactList}\small\item\em Return value of mwServiceResolve\_\-search indicating an error. \item\end{CompactList}\end{CompactItemize}
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
typedef void($\ast$ \hyperlink{mw__srvc__resolve_8h_753578369cb87a8e7ee163c371ab2ed4}{mwResolveHandler} )(struct \hyperlink{structmwServiceResolve}{mwServiceResolve} $\ast$srvc, guint32 id, guint32 code, GList $\ast$results, gpointer data)
\begin{CompactList}\small\item\em Handle the results of a resolve request. \item\end{CompactList}\end{CompactItemize}
\subsection*{Enumerations}
\begin{CompactItemize}
\item 
enum \hyperlink{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e}{mwResolveCode} \{ \par
\hyperlink{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e52b065bd666703cdaae31c230e852679}{mwResolveCode\_\-SUCCESS} =  0x00000000, 
\par
\hyperlink{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e59051750774c2af1a16af178e4a63772}{mwResolveCode\_\-PARTIAL} =  0x00010000, 
\par
\hyperlink{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e2e3a8627f18371c9706af74e4d0f3ef7}{mwResolveCode\_\-MULTIPLE} =  0x80020000, 
\par
\hyperlink{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e274747836537e0153801c07a7526fff2}{mwResolveCode\_\-BAD\_\-FORMAT} =  0x80030000
 \}
\item 
enum \hyperlink{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbb}{mwResolveFlag} \{ \par
\hyperlink{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbb115c168258bfa096e531592fbdf898b1}{mwResolveFlag\_\-UNIQUE} =  0x00000001, 
\par
\hyperlink{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbbadf46498d1a53c57cd0492dd639eb979}{mwResolveFlag\_\-FIRST} =  0x00000002, 
\par
\hyperlink{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbb2d89a6687296226e99cf10d103e98937}{mwResolveFlag\_\-ALL\_\-DIRS} =  0x00000004, 
\par
\hyperlink{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbbaf2857a1f0eafa23d3c1b2b4b46f136a}{mwResolveFlag\_\-USERS} =  0x00000008, 
\par
\hyperlink{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbbdb90560d6d73e2b2d04d2c6ace65d4e7}{mwResolveFlag\_\-GROUPS} =  0x00000010
 \}
\item 
enum \hyperlink{mw__srvc__resolve_8h_97de48c2ed31a8dd2155de1543a41591}{mwResolveMatchType} \{ \par
\hyperlink{mw__srvc__resolve_8h_97de48c2ed31a8dd2155de1543a41591ceb17ee67694939b111d1a35000a63c3}{mwResolveMatch\_\-USER} =  0x00000001, 
\par
\hyperlink{mw__srvc__resolve_8h_97de48c2ed31a8dd2155de1543a41591208dda549a0228435744b5474dd142e6}{mwResolveMatch\_\-GROUP} =  0x00000002
 \}
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
void \hyperlink{mw__srvc__resolve_8h_b0158070e293d0d6a4f7aeac84130add}{mwServiceResolve\_\-cancelResolve} (struct \hyperlink{structmwServiceResolve}{mwServiceResolve} $\ast$, guint32)
\begin{CompactList}\small\item\em Cancel a resolve request by its generated ID. \item\end{CompactList}\item 
struct \hyperlink{structmwServiceResolve}{mwServiceResolve} $\ast$ \hyperlink{mw__srvc__resolve_8h_bbd09e01eef8b1a275177926edcbfaaa}{mwServiceResolve\_\-new} (struct \hyperlink{structmwSession}{mwSession} $\ast$)
\begin{CompactList}\small\item\em Allocate a new resolve service. \item\end{CompactList}\item 
guint32 \hyperlink{mw__srvc__resolve_8h_c3417bb30fa92f4e6897fb5b71f8ba65}{mwServiceResolve\_\-resolve} (struct \hyperlink{structmwServiceResolve}{mwServiceResolve} $\ast$srvc, GList $\ast$queries, enum \hyperlink{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbb}{mwResolveFlag} flags, \hyperlink{mw__srvc__resolve_8h_753578369cb87a8e7ee163c371ab2ed4}{mwResolveHandler} handler, gpointer data, GDestroyNotify cleanup)
\begin{CompactList}\small\item\em Inisitate a resolve request. \item\end{CompactList}\end{CompactItemize}


\subsection{Define Documentation}
\hypertarget{mw__srvc__resolve_8h_86bbe7c161a9136f90b946fec18ce7d0}{
\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwService\_\-RESOLVE@{mwService\_\-RESOLVE}}
\index{mwService\_\-RESOLVE@{mwService\_\-RESOLVE}!mw_srvc_resolve.h@{mw\_\-srvc\_\-resolve.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define mwService\_\-RESOLVE~0x00000015}}
\label{mw__srvc__resolve_8h_86bbe7c161a9136f90b946fec18ce7d0}


Type identifier for the conference service. 

\hypertarget{mw__srvc__resolve_8h_a95a23ed83ec736d0038afde41bd38a4}{
\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!SEARCH\_\-ERROR@{SEARCH\_\-ERROR}}
\index{SEARCH\_\-ERROR@{SEARCH\_\-ERROR}!mw_srvc_resolve.h@{mw\_\-srvc\_\-resolve.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define SEARCH\_\-ERROR~0x00}}
\label{mw__srvc__resolve_8h_a95a23ed83ec736d0038afde41bd38a4}


Return value of mwServiceResolve\_\-search indicating an error. 



\subsection{Typedef Documentation}
\hypertarget{mw__srvc__resolve_8h_753578369cb87a8e7ee163c371ab2ed4}{
\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveHandler@{mwResolveHandler}}
\index{mwResolveHandler@{mwResolveHandler}!mw_srvc_resolve.h@{mw\_\-srvc\_\-resolve.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef void($\ast$ {\bf mwResolveHandler})(struct {\bf mwServiceResolve} $\ast$srvc, guint32 id, guint32 code, GList $\ast$results, gpointer data)}}
\label{mw__srvc__resolve_8h_753578369cb87a8e7ee163c371ab2ed4}


Handle the results of a resolve request. 

If there was a cleanup function specified to mwServiceResolve\_\-search, it will be called upon the user data after this callback returns.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em srvc}]the resolve service \item[{\em id}]the resolve request ID \item[{\em code}]return code \item[{\em results}]list of \hyperlink{structmwResolveResult}{mwResolveResult} \item[{\em data}]optional user data attached to the request \end{description}
\end{Desc}


\subsection{Enumeration Type Documentation}
\hypertarget{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e}{
\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveCode@{mwResolveCode}}
\index{mwResolveCode@{mwResolveCode}!mw_srvc_resolve.h@{mw\_\-srvc\_\-resolve.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf mwResolveCode}}}
\label{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e}


\begin{Desc}
\item[See also:]\hyperlink{structmwResolveResult}{mwResolveResult} \end{Desc}
\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{mwResolveCode\_\-SUCCESS@{mwResolveCode\_\-SUCCESS}!mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}}\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveCode\_\-SUCCESS@{mwResolveCode\_\-SUCCESS}}\item[{\em 
\hypertarget{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e52b065bd666703cdaae31c230e852679}{
mwResolveCode\_\-SUCCESS}
\label{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e52b065bd666703cdaae31c230e852679}
}]successful search \index{mwResolveCode\_\-PARTIAL@{mwResolveCode\_\-PARTIAL}!mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}}\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveCode\_\-PARTIAL@{mwResolveCode\_\-PARTIAL}}\item[{\em 
\hypertarget{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e59051750774c2af1a16af178e4a63772}{
mwResolveCode\_\-PARTIAL}
\label{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e59051750774c2af1a16af178e4a63772}
}]only some of the nested searches were successful \index{mwResolveCode\_\-MULTIPLE@{mwResolveCode\_\-MULTIPLE}!mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}}\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveCode\_\-MULTIPLE@{mwResolveCode\_\-MULTIPLE}}\item[{\em 
\hypertarget{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e2e3a8627f18371c9706af74e4d0f3ef7}{
mwResolveCode\_\-MULTIPLE}
\label{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e2e3a8627f18371c9706af74e4d0f3ef7}
}]more than one result (occurs when mwResolveFlag\_\-UNIQUE is used and more than one result would have been otherwise returned) \index{mwResolveCode\_\-BAD\_\-FORMAT@{mwResolveCode\_\-BAD\_\-FORMAT}!mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}}\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveCode\_\-BAD\_\-FORMAT@{mwResolveCode\_\-BAD\_\-FORMAT}}\item[{\em 
\hypertarget{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e274747836537e0153801c07a7526fff2}{
mwResolveCode\_\-BAD\_\-FORMAT}
\label{mw__srvc__resolve_8h_901802d0ba547de6e2bbc51e7f8c961e274747836537e0153801c07a7526fff2}
}]the name is not resolvable due to its format \end{description}
\end{Desc}

\hypertarget{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbb}{
\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveFlag@{mwResolveFlag}}
\index{mwResolveFlag@{mwResolveFlag}!mw_srvc_resolve.h@{mw\_\-srvc\_\-resolve.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf mwResolveFlag}}}
\label{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbb}


\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{mwResolveFlag\_\-UNIQUE@{mwResolveFlag\_\-UNIQUE}!mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}}\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveFlag\_\-UNIQUE@{mwResolveFlag\_\-UNIQUE}}\item[{\em 
\hypertarget{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbb115c168258bfa096e531592fbdf898b1}{
mwResolveFlag\_\-UNIQUE}
\label{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbb115c168258bfa096e531592fbdf898b1}
}]return unique results or none at all \index{mwResolveFlag\_\-FIRST@{mwResolveFlag\_\-FIRST}!mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}}\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveFlag\_\-FIRST@{mwResolveFlag\_\-FIRST}}\item[{\em 
\hypertarget{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbbadf46498d1a53c57cd0492dd639eb979}{
mwResolveFlag\_\-FIRST}
\label{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbbadf46498d1a53c57cd0492dd639eb979}
}]return only the first result \index{mwResolveFlag\_\-ALL\_\-DIRS@{mwResolveFlag\_\-ALL\_\-DIRS}!mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}}\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveFlag\_\-ALL\_\-DIRS@{mwResolveFlag\_\-ALL\_\-DIRS}}\item[{\em 
\hypertarget{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbb2d89a6687296226e99cf10d103e98937}{
mwResolveFlag\_\-ALL\_\-DIRS}
\label{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbb2d89a6687296226e99cf10d103e98937}
}]search all directories, not just the first with a match \index{mwResolveFlag\_\-USERS@{mwResolveFlag\_\-USERS}!mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}}\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveFlag\_\-USERS@{mwResolveFlag\_\-USERS}}\item[{\em 
\hypertarget{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbbaf2857a1f0eafa23d3c1b2b4b46f136a}{
mwResolveFlag\_\-USERS}
\label{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbbaf2857a1f0eafa23d3c1b2b4b46f136a}
}]search for users \index{mwResolveFlag\_\-GROUPS@{mwResolveFlag\_\-GROUPS}!mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}}\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveFlag\_\-GROUPS@{mwResolveFlag\_\-GROUPS}}\item[{\em 
\hypertarget{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbbdb90560d6d73e2b2d04d2c6ace65d4e7}{
mwResolveFlag\_\-GROUPS}
\label{mw__srvc__resolve_8h_58431b16fa3147bd28b20f4d8e046bbbdb90560d6d73e2b2d04d2c6ace65d4e7}
}]search for groups \end{description}
\end{Desc}

\hypertarget{mw__srvc__resolve_8h_97de48c2ed31a8dd2155de1543a41591}{
\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveMatchType@{mwResolveMatchType}}
\index{mwResolveMatchType@{mwResolveMatchType}!mw_srvc_resolve.h@{mw\_\-srvc\_\-resolve.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf mwResolveMatchType}}}
\label{mw__srvc__resolve_8h_97de48c2ed31a8dd2155de1543a41591}


\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{mwResolveMatch\_\-USER@{mwResolveMatch\_\-USER}!mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}}\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveMatch\_\-USER@{mwResolveMatch\_\-USER}}\item[{\em 
\hypertarget{mw__srvc__resolve_8h_97de48c2ed31a8dd2155de1543a41591ceb17ee67694939b111d1a35000a63c3}{
mwResolveMatch\_\-USER}
\label{mw__srvc__resolve_8h_97de48c2ed31a8dd2155de1543a41591ceb17ee67694939b111d1a35000a63c3}
}]\index{mwResolveMatch\_\-GROUP@{mwResolveMatch\_\-GROUP}!mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}}\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwResolveMatch\_\-GROUP@{mwResolveMatch\_\-GROUP}}\item[{\em 
\hypertarget{mw__srvc__resolve_8h_97de48c2ed31a8dd2155de1543a41591208dda549a0228435744b5474dd142e6}{
mwResolveMatch\_\-GROUP}
\label{mw__srvc__resolve_8h_97de48c2ed31a8dd2155de1543a41591208dda549a0228435744b5474dd142e6}
}]\end{description}
\end{Desc}



\subsection{Function Documentation}
\hypertarget{mw__srvc__resolve_8h_b0158070e293d0d6a4f7aeac84130add}{
\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwServiceResolve\_\-cancelResolve@{mwServiceResolve\_\-cancelResolve}}
\index{mwServiceResolve\_\-cancelResolve@{mwServiceResolve\_\-cancelResolve}!mw_srvc_resolve.h@{mw\_\-srvc\_\-resolve.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mwServiceResolve\_\-cancelResolve (struct {\bf mwServiceResolve} $\ast$, \/  guint32)}}
\label{mw__srvc__resolve_8h_b0158070e293d0d6a4f7aeac84130add}


Cancel a resolve request by its generated ID. 

The handler function will not be called, and the optional cleanup function will be called upon the optional user data for the request \hypertarget{mw__srvc__resolve_8h_bbd09e01eef8b1a275177926edcbfaaa}{
\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwServiceResolve\_\-new@{mwServiceResolve\_\-new}}
\index{mwServiceResolve\_\-new@{mwServiceResolve\_\-new}!mw_srvc_resolve.h@{mw\_\-srvc\_\-resolve.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwServiceResolve}$\ast$ mwServiceResolve\_\-new (struct {\bf mwSession} $\ast$)\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{mw__srvc__resolve_8h_bbd09e01eef8b1a275177926edcbfaaa}


Allocate a new resolve service. 

\hypertarget{mw__srvc__resolve_8h_c3417bb30fa92f4e6897fb5b71f8ba65}{
\index{mw\_\-srvc\_\-resolve.h@{mw\_\-srvc\_\-resolve.h}!mwServiceResolve\_\-resolve@{mwServiceResolve\_\-resolve}}
\index{mwServiceResolve\_\-resolve@{mwServiceResolve\_\-resolve}!mw_srvc_resolve.h@{mw\_\-srvc\_\-resolve.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}guint32 mwServiceResolve\_\-resolve (struct {\bf mwServiceResolve} $\ast$ {\em srvc}, \/  GList $\ast$ {\em queries}, \/  enum {\bf mwResolveFlag} {\em flags}, \/  {\bf mwResolveHandler} {\em handler}, \/  gpointer {\em data}, \/  GDestroyNotify {\em cleanup})}}
\label{mw__srvc__resolve_8h_c3417bb30fa92f4e6897fb5b71f8ba65}


Inisitate a resolve request. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em srvc}]the resolve service \item[{\em queries}]list query strings \item[{\em flags}]search flags \item[{\em handler}]result handling function \item[{\em data}]optional user data attached to the request \item[{\em cleanup}]optional function to clean up user data \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]generated ID for the search request, or SEARCH\_\-ERROR \end{Desc}
