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


\subsection{Detailed Description}
The IM service provides one-on-one communication between users. 

Messages sent over conversations may relay different types of information, in a variety of formats. The basic feature-set provides plain-text chat with typing notification. More complex features may be negotiated transparently by setting the IM Client Type for a conversation, or for the service as a whole. 

{\tt \#include $<$glib.h$>$}\par
{\tt \#include \char`\"{}mw\_\-common.h\char`\"{}}\par
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct \hyperlink{structmwImHandler}{mwImHandler}
\begin{CompactList}\small\item\em IM Service Handler. \item\end{CompactList}\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\#define \hyperlink{mw__srvc__im_8h_cd26403ebeb75cde250ddb57b8cfc3fe}{mwConversation\_\-isClosed}(conv)~mwConversation\_\-isState((conv), mwConversation\_\-CLOSED)
\item 
\#define \hyperlink{mw__srvc__im_8h_18c14bbf9e6f0fd68ddec28310897a25}{mwConversation\_\-isOpen}(conv)~mwConversation\_\-isState((conv), mwConversation\_\-OPEN)
\item 
\#define \hyperlink{mw__srvc__im_8h_7ccb3181436b318174121c25b40742d0}{mwConversation\_\-isPending}(conv)~mwConversation\_\-isState((conv), mwConversation\_\-PENDING)
\item 
\#define \hyperlink{mw__srvc__im_8h_c9988b2be0d17a9eeb77451a87196cad}{mwConversation\_\-isState}(conv, \hyperlink{structmwService_b5adc0f5a0cbeddaece7a4512ec66099}{state})~(mwConversation\_\-getState(conv) == (\hyperlink{structmwService_b5adc0f5a0cbeddaece7a4512ec66099}{state}))
\item 
\#define \hyperlink{mw__srvc__im_8h_fd6e82bbc1046ce9d52b842dba7722d2}{mwService\_\-IM}~0x00001000
\end{CompactItemize}
\subsection*{Enumerations}
\begin{CompactItemize}
\item 
enum \hyperlink{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d06}{mwConversationState} \{ \par
\hyperlink{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d06ba419e21933109ec87f690571cbad41d}{mwConversation\_\-CLOSED}, 
\par
\hyperlink{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d06642450bf83850c99d021574f08eb2cca}{mwConversation\_\-PENDING}, 
\par
\hyperlink{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d061f4a6c1f815e45963e201e115044e6f8}{mwConversation\_\-OPEN}, 
\par
\hyperlink{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d060a9b2dc324406ff896170f45aac3b886}{mwConversation\_\-UNKNOWN}
 \}
\item 
enum \hyperlink{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc17}{mwImClientType} \{ \par
\hyperlink{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc178a32a92f7402725dea621147b63c315b}{mwImClient\_\-PLAIN} =  0x00000001, 
\par
\hyperlink{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc170b649d9e379256e9f11064cb4083eae7}{mwImClient\_\-NOTESBUDDY} =  0x00033453, 
\par
\hyperlink{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc17c33797c61e096df2a75bb3c185387756}{mwImClient\_\-PRECONF} =  0x00000019, 
\par
\hyperlink{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc173aaa9667089e6a9260d3e3f4dbbee70a}{mwImClient\_\-UNKNOWN} =  0xffffffff
 \}
\item 
enum \hyperlink{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63}{mwImSendType} \{ \par
\hyperlink{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a631dc9ac1e49b18739d6a9877b1b264f99}{mwImSend\_\-PLAIN}, 
\par
\hyperlink{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63967a6006d197bd292680562b4e86988a}{mwImSend\_\-TYPING}, 
\par
\hyperlink{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a636cc56c9b2bdce2f1e4035e818d77d29f}{mwImSend\_\-HTML}, 
\par
\hyperlink{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63c1eabb5d6f9c551313634ab13bfc2abc}{mwImSend\_\-SUBJECT}, 
\par
\hyperlink{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63dfbd9dd7f630ca2202e98401c43c8115}{mwImSend\_\-MIME}, 
\par
\hyperlink{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a630be05e58874a146e136e97fc32382d26}{mwImSend\_\-TIMESTAMP}
 \}
\begin{CompactList}\small\item\em Types of supported messages. \item\end{CompactList}\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
void \hyperlink{mw__srvc__im_8h_39757a34b81911a80ef817e6e45bc43a}{mwConversation\_\-close} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv, guint32 err)
\begin{CompactList}\small\item\em close a conversation. \item\end{CompactList}\item 
void \hyperlink{mw__srvc__im_8h_92aa89cc6cb34ebf4b4f232f532af961}{mwConversation\_\-free} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv)
\begin{CompactList}\small\item\em close and destroy the conversation and its backing channel, and call the optional client data cleanup function \item\end{CompactList}\item 
gpointer \hyperlink{mw__srvc__im_8h_b38ac095354a0b0514eeeb7a8c55b121}{mwConversation\_\-getClientData} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv)
\begin{CompactList}\small\item\em Reference associated client data. \item\end{CompactList}\item 
enum \hyperlink{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc17}{mwImClientType} \hyperlink{mw__srvc__im_8h_0267c3e82ea1c8c49652d6fb827895a0}{mwConversation\_\-getClientType} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv)
\item 
struct \hyperlink{structmwServiceIm}{mwServiceIm} $\ast$ \hyperlink{mw__srvc__im_8h_f359f37a1f33d3804efafe1f0865732b}{mwConversation\_\-getService} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv)
\item 
enum \hyperlink{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d06}{mwConversationState} \hyperlink{mw__srvc__im_8h_8c32b70e52ab20bb2887f37962180b7d}{mwConversation\_\-getState} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv)
\begin{CompactList}\small\item\em get the state of a conversation \item\end{CompactList}\item 
struct \hyperlink{structmwIdBlock}{mwIdBlock} $\ast$ \hyperlink{mw__srvc__im_8h_b6ffb1c3f5e532eb6a17218fd15f3e2c}{mwConversation\_\-getTarget} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv)
\begin{CompactList}\small\item\em ID for conversation partner. \item\end{CompactList}\item 
struct \hyperlink{structmwLoginInfo}{mwLoginInfo} $\ast$ \hyperlink{mw__srvc__im_8h_9b2a0d0bb164a7de3d09e58fb0d0a0de}{mwConversation\_\-getTargetInfo} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv)
\begin{CompactList}\small\item\em login information for conversation partner. \item\end{CompactList}\item 
gboolean \hyperlink{mw__srvc__im_8h_139fef3e5530529e593d164648d0d626}{mwConversation\_\-isEncrypted} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv)
\begin{CompactList}\small\item\em determine whether outgoing messages are being encrypted \item\end{CompactList}\item 
void \hyperlink{mw__srvc__im_8h_2960bacb6c2f6307b60f8f92e1ac51f1}{mwConversation\_\-open} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv)
\begin{CompactList}\small\item\em attempt to open a conversation. \item\end{CompactList}\item 
void \hyperlink{mw__srvc__im_8h_9e0c7574ae526c04c0c8433138dca068}{mwConversation\_\-removeClientData} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv)
\begin{CompactList}\small\item\em Remove any associated client data, calling the optional cleanup function if one was provided. \item\end{CompactList}\item 
int \hyperlink{mw__srvc__im_8h_deb608f4473b09907bf096a8b4aee881}{mwConversation\_\-send} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv, enum \hyperlink{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63}{mwImSendType} type, gconstpointer send)
\begin{CompactList}\small\item\em send a message over an open conversation \item\end{CompactList}\item 
void \hyperlink{mw__srvc__im_8h_f81229e742e279eb8f8104d6369e692c}{mwConversation\_\-setClientData} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv, gpointer data, GDestroyNotify clean)
\begin{CompactList}\small\item\em Associates client data with a conversation. \item\end{CompactList}\item 
void \hyperlink{mw__srvc__im_8h_1118f842f0373657f5ab8ada5a2a66c6}{mwConversation\_\-setEncrypted} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv, gboolean useCipher)
\begin{CompactList}\small\item\em set whether outgoing messages should be encrypted using the negotiated cipher, if any \item\end{CompactList}\item 
gboolean \hyperlink{mw__srvc__im_8h_beaf3935e8d6970920e4536fc97e1503}{mwConversation\_\-supports} (struct \hyperlink{structmwConversation}{mwConversation} $\ast$conv, enum \hyperlink{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63}{mwImSendType} type)
\begin{CompactList}\small\item\em determine whether a conversation supports the given message type \item\end{CompactList}\item 
struct \hyperlink{structmwConversation}{mwConversation} $\ast$ \hyperlink{mw__srvc__im_8h_9113d0a9a0dc47d4fb259d42f400bb98}{mwServiceIm\_\-findConversation} (struct \hyperlink{structmwServiceIm}{mwServiceIm} $\ast$srvc, struct \hyperlink{structmwIdBlock}{mwIdBlock} $\ast$target)
\begin{CompactList}\small\item\em reference an existing conversation to target \item\end{CompactList}\item 
enum \hyperlink{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc17}{mwImClientType} \hyperlink{mw__srvc__im_8h_a52f0d24ee0183085dd46e38e47261da}{mwServiceIm\_\-getClientType} (struct \hyperlink{structmwServiceIm}{mwServiceIm} $\ast$srvc)
\item 
struct \hyperlink{structmwConversation}{mwConversation} $\ast$ \hyperlink{mw__srvc__im_8h_4a2deb23c2063d564c43551f4d6fa7d7}{mwServiceIm\_\-getConversation} (struct \hyperlink{structmwServiceIm}{mwServiceIm} $\ast$srvc, struct \hyperlink{structmwIdBlock}{mwIdBlock} $\ast$target)
\begin{CompactList}\small\item\em reference an existing conversation to target, or create a new conversation to target if one does not already exist \item\end{CompactList}\item 
struct \hyperlink{structmwImHandler}{mwImHandler} $\ast$ \hyperlink{mw__srvc__im_8h_afa4673b2fc2b5644a434ac563412ee7}{mwServiceIm\_\-getHandler} (struct \hyperlink{structmwServiceIm}{mwServiceIm} $\ast$srvc)
\item 
struct \hyperlink{structmwServiceIm}{mwServiceIm} $\ast$ \hyperlink{mw__srvc__im_8h_d0b319c6ffc1b62082dc6cd6533a64de}{mwServiceIm\_\-new} (struct \hyperlink{structmwSession}{mwSession} $\ast$\hyperlink{structmwService_0c2badd2256155b2bee149fa4b57b7d6}{session}, struct \hyperlink{structmwImHandler}{mwImHandler} $\ast$handler)
\item 
void \hyperlink{mw__srvc__im_8h_bd6566ad7e1d2b5b3a64a8fe5b0ea27e}{mwServiceIm\_\-setClientType} (struct \hyperlink{structmwServiceIm}{mwServiceIm} $\ast$srvc, enum \hyperlink{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc17}{mwImClientType} type)
\begin{CompactList}\small\item\em Set the default client type for the service. \item\end{CompactList}\item 
gboolean \hyperlink{mw__srvc__im_8h_f74d89d1656f69853b68cd2576783a3a}{mwServiceIm\_\-supports} (struct \hyperlink{structmwServiceIm}{mwServiceIm} $\ast$srvc, enum \hyperlink{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63}{mwImSendType} type)
\begin{CompactList}\small\item\em determine if the conversations created from this service will support a given send type \item\end{CompactList}\end{CompactItemize}


\subsection{Define Documentation}
\hypertarget{mw__srvc__im_8h_cd26403ebeb75cde250ddb57b8cfc3fe}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-isClosed@{mwConversation\_\-isClosed}}
\index{mwConversation\_\-isClosed@{mwConversation\_\-isClosed}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define mwConversation\_\-isClosed(conv)~mwConversation\_\-isState((conv), mwConversation\_\-CLOSED)}}
\label{mw__srvc__im_8h_cd26403ebeb75cde250ddb57b8cfc3fe}


\hypertarget{mw__srvc__im_8h_18c14bbf9e6f0fd68ddec28310897a25}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-isOpen@{mwConversation\_\-isOpen}}
\index{mwConversation\_\-isOpen@{mwConversation\_\-isOpen}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define mwConversation\_\-isOpen(conv)~mwConversation\_\-isState((conv), mwConversation\_\-OPEN)}}
\label{mw__srvc__im_8h_18c14bbf9e6f0fd68ddec28310897a25}


\hypertarget{mw__srvc__im_8h_7ccb3181436b318174121c25b40742d0}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-isPending@{mwConversation\_\-isPending}}
\index{mwConversation\_\-isPending@{mwConversation\_\-isPending}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define mwConversation\_\-isPending(conv)~mwConversation\_\-isState((conv), mwConversation\_\-PENDING)}}
\label{mw__srvc__im_8h_7ccb3181436b318174121c25b40742d0}


\hypertarget{mw__srvc__im_8h_c9988b2be0d17a9eeb77451a87196cad}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-isState@{mwConversation\_\-isState}}
\index{mwConversation\_\-isState@{mwConversation\_\-isState}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define mwConversation\_\-isState(conv, \/  {\bf state})~(mwConversation\_\-getState(conv) == ({\bf state}))}}
\label{mw__srvc__im_8h_c9988b2be0d17a9eeb77451a87196cad}


\hypertarget{mw__srvc__im_8h_fd6e82bbc1046ce9d52b842dba7722d2}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwService\_\-IM@{mwService\_\-IM}}
\index{mwService\_\-IM@{mwService\_\-IM}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define mwService\_\-IM~0x00001000}}
\label{mw__srvc__im_8h_fd6e82bbc1046ce9d52b842dba7722d2}




\subsection{Enumeration Type Documentation}
\hypertarget{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d06}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversationState@{mwConversationState}}
\index{mwConversationState@{mwConversationState}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf mwConversationState}}}
\label{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d06}


\begin{Desc}
\item[See also:]\hyperlink{mw__srvc__im_8h_8c32b70e52ab20bb2887f37962180b7d}{mwConversation\_\-getState} \end{Desc}
\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{mwConversation\_\-CLOSED@{mwConversation\_\-CLOSED}!mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}}\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-CLOSED@{mwConversation\_\-CLOSED}}\item[{\em 
\hypertarget{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d06ba419e21933109ec87f690571cbad41d}{
mwConversation\_\-CLOSED}
\label{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d06ba419e21933109ec87f690571cbad41d}
}]conversation is not open \index{mwConversation\_\-PENDING@{mwConversation\_\-PENDING}!mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}}\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-PENDING@{mwConversation\_\-PENDING}}\item[{\em 
\hypertarget{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d06642450bf83850c99d021574f08eb2cca}{
mwConversation\_\-PENDING}
\label{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d06642450bf83850c99d021574f08eb2cca}
}]conversation is opening \index{mwConversation\_\-OPEN@{mwConversation\_\-OPEN}!mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}}\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-OPEN@{mwConversation\_\-OPEN}}\item[{\em 
\hypertarget{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d061f4a6c1f815e45963e201e115044e6f8}{
mwConversation\_\-OPEN}
\label{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d061f4a6c1f815e45963e201e115044e6f8}
}]conversation is open \index{mwConversation\_\-UNKNOWN@{mwConversation\_\-UNKNOWN}!mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}}\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-UNKNOWN@{mwConversation\_\-UNKNOWN}}\item[{\em 
\hypertarget{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d060a9b2dc324406ff896170f45aac3b886}{
mwConversation\_\-UNKNOWN}
\label{mw__srvc__im_8h_cfdf4c12398d17d8e936a2a7fe371d060a9b2dc324406ff896170f45aac3b886}
}]unknown state \end{description}
\end{Desc}

\hypertarget{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc17}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwImClientType@{mwImClientType}}
\index{mwImClientType@{mwImClientType}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf mwImClientType}}}
\label{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc17}


\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{mwImClient\_\-PLAIN@{mwImClient\_\-PLAIN}!mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}}\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwImClient\_\-PLAIN@{mwImClient\_\-PLAIN}}\item[{\em 
\hypertarget{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc178a32a92f7402725dea621147b63c315b}{
mwImClient\_\-PLAIN}
\label{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc178a32a92f7402725dea621147b63c315b}
}]text, typing \index{mwImClient\_\-NOTESBUDDY@{mwImClient\_\-NOTESBUDDY}!mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}}\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwImClient\_\-NOTESBUDDY@{mwImClient\_\-NOTESBUDDY}}\item[{\em 
\hypertarget{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc170b649d9e379256e9f11064cb4083eae7}{
mwImClient\_\-NOTESBUDDY}
\label{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc170b649d9e379256e9f11064cb4083eae7}
}]adds html, subject, mime \index{mwImClient\_\-PRECONF@{mwImClient\_\-PRECONF}!mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}}\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwImClient\_\-PRECONF@{mwImClient\_\-PRECONF}}\item[{\em 
\hypertarget{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc17c33797c61e096df2a75bb3c185387756}{
mwImClient\_\-PRECONF}
\label{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc17c33797c61e096df2a75bb3c185387756}
}]pre-conference, legacy \index{mwImClient\_\-UNKNOWN@{mwImClient\_\-UNKNOWN}!mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}}\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwImClient\_\-UNKNOWN@{mwImClient\_\-UNKNOWN}}\item[{\em 
\hypertarget{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc173aaa9667089e6a9260d3e3f4dbbee70a}{
mwImClient\_\-UNKNOWN}
\label{mw__srvc__im_8h_d127e58a93fa52166065266a6041fc173aaa9667089e6a9260d3e3f4dbbee70a}
}]trouble determining type \end{description}
\end{Desc}

\hypertarget{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwImSendType@{mwImSendType}}
\index{mwImSendType@{mwImSendType}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf mwImSendType}}}
\label{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63}


Types of supported messages. 

When a conversation is created, the least common denominator of features between either side of the conversation (based on what features are available in the IM service itself) becomes the set of supported features for that conversation. At any point, the feature set for the service may change, without affecting any existing conversations.

\begin{Desc}
\item[See also:]\hyperlink{mw__srvc__im_8h_f74d89d1656f69853b68cd2576783a3a}{mwServiceIm\_\-supports} 

mwServiceIm\_\-setSupported 

\hyperlink{mw__srvc__im_8h_beaf3935e8d6970920e4536fc97e1503}{mwConversation\_\-supports} 

\hyperlink{mw__srvc__im_8h_deb608f4473b09907bf096a8b4aee881}{mwConversation\_\-send} 

mwServiceImHandler::conversation\_\-recv \end{Desc}
\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{mwImSend\_\-PLAIN@{mwImSend\_\-PLAIN}!mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}}\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwImSend\_\-PLAIN@{mwImSend\_\-PLAIN}}\item[{\em 
\hypertarget{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a631dc9ac1e49b18739d6a9877b1b264f99}{
mwImSend\_\-PLAIN}
\label{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a631dc9ac1e49b18739d6a9877b1b264f99}
}]char $\ast$, plain-text message \index{mwImSend\_\-TYPING@{mwImSend\_\-TYPING}!mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}}\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwImSend\_\-TYPING@{mwImSend\_\-TYPING}}\item[{\em 
\hypertarget{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63967a6006d197bd292680562b4e86988a}{
mwImSend\_\-TYPING}
\label{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63967a6006d197bd292680562b4e86988a}
}]gboolean, typing status \index{mwImSend\_\-HTML@{mwImSend\_\-HTML}!mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}}\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwImSend\_\-HTML@{mwImSend\_\-HTML}}\item[{\em 
\hypertarget{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a636cc56c9b2bdce2f1e4035e818d77d29f}{
mwImSend\_\-HTML}
\label{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a636cc56c9b2bdce2f1e4035e818d77d29f}
}]char $\ast$, HTML formatted message (NOTESBUDDY) \index{mwImSend\_\-SUBJECT@{mwImSend\_\-SUBJECT}!mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}}\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwImSend\_\-SUBJECT@{mwImSend\_\-SUBJECT}}\item[{\em 
\hypertarget{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63c1eabb5d6f9c551313634ab13bfc2abc}{
mwImSend\_\-SUBJECT}
\label{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63c1eabb5d6f9c551313634ab13bfc2abc}
}]char $\ast$, conversation subject (NOTESBUDDY) \index{mwImSend\_\-MIME@{mwImSend\_\-MIME}!mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}}\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwImSend\_\-MIME@{mwImSend\_\-MIME}}\item[{\em 
\hypertarget{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63dfbd9dd7f630ca2202e98401c43c8115}{
mwImSend\_\-MIME}
\label{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a63dfbd9dd7f630ca2202e98401c43c8115}
}]char $\ast$, MIME-encoded message (NOTESBUDDY) \index{mwImSend\_\-TIMESTAMP@{mwImSend\_\-TIMESTAMP}!mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}}\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwImSend\_\-TIMESTAMP@{mwImSend\_\-TIMESTAMP}}\item[{\em 
\hypertarget{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a630be05e58874a146e136e97fc32382d26}{
mwImSend\_\-TIMESTAMP}
\label{mw__srvc__im_8h_cdce2eef1ff823bf823e533410061a630be05e58874a146e136e97fc32382d26}
}]char $\ast$, YYYY:MM:DD:HH:mm:SS format (NOTESBUDDY) \end{description}
\end{Desc}



\subsection{Function Documentation}
\hypertarget{mw__srvc__im_8h_39757a34b81911a80ef817e6e45bc43a}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-close@{mwConversation\_\-close}}
\index{mwConversation\_\-close@{mwConversation\_\-close}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mwConversation\_\-close (struct {\bf mwConversation} $\ast$ {\em conv}, \/  guint32 {\em err})}}
\label{mw__srvc__im_8h_39757a34b81911a80ef817e6e45bc43a}


close a conversation. 

If the conversation was not already closed, mwServiceImHandler::conversation\_\-closed will be triggered \hypertarget{mw__srvc__im_8h_92aa89cc6cb34ebf4b4f232f532af961}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-free@{mwConversation\_\-free}}
\index{mwConversation\_\-free@{mwConversation\_\-free}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mwConversation\_\-free (struct {\bf mwConversation} $\ast$ {\em conv})}}
\label{mw__srvc__im_8h_92aa89cc6cb34ebf4b4f232f532af961}


close and destroy the conversation and its backing channel, and call the optional client data cleanup function 

\hypertarget{mw__srvc__im_8h_b38ac095354a0b0514eeeb7a8c55b121}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-getClientData@{mwConversation\_\-getClientData}}
\index{mwConversation\_\-getClientData@{mwConversation\_\-getClientData}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}gpointer mwConversation\_\-getClientData (struct {\bf mwConversation} $\ast$ {\em conv})}}
\label{mw__srvc__im_8h_b38ac095354a0b0514eeeb7a8c55b121}


Reference associated client data. 

\begin{Desc}
\item[See also:]\hyperlink{mw__srvc__im_8h_f81229e742e279eb8f8104d6369e692c}{mwConversation\_\-setClientData} 

\hyperlink{mw__srvc__im_8h_9e0c7574ae526c04c0c8433138dca068}{mwConversation\_\-removeClientData} \end{Desc}
\hypertarget{mw__srvc__im_8h_0267c3e82ea1c8c49652d6fb827895a0}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-getClientType@{mwConversation\_\-getClientType}}
\index{mwConversation\_\-getClientType@{mwConversation\_\-getClientType}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf mwImClientType} mwConversation\_\-getClientType (struct {\bf mwConversation} $\ast$ {\em conv})}}
\label{mw__srvc__im_8h_0267c3e82ea1c8c49652d6fb827895a0}


\hypertarget{mw__srvc__im_8h_f359f37a1f33d3804efafe1f0865732b}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-getService@{mwConversation\_\-getService}}
\index{mwConversation\_\-getService@{mwConversation\_\-getService}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwServiceIm}$\ast$ mwConversation\_\-getService (struct {\bf mwConversation} $\ast$ {\em conv})\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{mw__srvc__im_8h_f359f37a1f33d3804efafe1f0865732b}


\begin{Desc}
\item[Returns:]owning service for a conversation \end{Desc}
\hypertarget{mw__srvc__im_8h_8c32b70e52ab20bb2887f37962180b7d}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-getState@{mwConversation\_\-getState}}
\index{mwConversation\_\-getState@{mwConversation\_\-getState}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf mwConversationState} mwConversation\_\-getState (struct {\bf mwConversation} $\ast$ {\em conv})}}
\label{mw__srvc__im_8h_8c32b70e52ab20bb2887f37962180b7d}


get the state of a conversation 

\begin{Desc}
\item[See also:]\hyperlink{mw__srvc__im_8h_18c14bbf9e6f0fd68ddec28310897a25}{mwConversation\_\-isOpen} 

\hyperlink{mw__srvc__im_8h_cd26403ebeb75cde250ddb57b8cfc3fe}{mwConversation\_\-isClosed} 

\hyperlink{mw__srvc__im_8h_7ccb3181436b318174121c25b40742d0}{mwConversation\_\-isPending} \end{Desc}
\hypertarget{mw__srvc__im_8h_b6ffb1c3f5e532eb6a17218fd15f3e2c}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-getTarget@{mwConversation\_\-getTarget}}
\index{mwConversation\_\-getTarget@{mwConversation\_\-getTarget}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwIdBlock}$\ast$ mwConversation\_\-getTarget (struct {\bf mwConversation} $\ast$ {\em conv})\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{mw__srvc__im_8h_b6ffb1c3f5e532eb6a17218fd15f3e2c}


ID for conversation partner. 

\hypertarget{mw__srvc__im_8h_9b2a0d0bb164a7de3d09e58fb0d0a0de}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-getTargetInfo@{mwConversation\_\-getTargetInfo}}
\index{mwConversation\_\-getTargetInfo@{mwConversation\_\-getTargetInfo}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwLoginInfo}$\ast$ mwConversation\_\-getTargetInfo (struct {\bf mwConversation} $\ast$ {\em conv})\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{mw__srvc__im_8h_9b2a0d0bb164a7de3d09e58fb0d0a0de}


login information for conversation partner. 

returns NULL if conversation is not OPEN \hypertarget{mw__srvc__im_8h_139fef3e5530529e593d164648d0d626}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-isEncrypted@{mwConversation\_\-isEncrypted}}
\index{mwConversation\_\-isEncrypted@{mwConversation\_\-isEncrypted}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}gboolean mwConversation\_\-isEncrypted (struct {\bf mwConversation} $\ast$ {\em conv})}}
\label{mw__srvc__im_8h_139fef3e5530529e593d164648d0d626}


determine whether outgoing messages are being encrypted 

\hypertarget{mw__srvc__im_8h_2960bacb6c2f6307b60f8f92e1ac51f1}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-open@{mwConversation\_\-open}}
\index{mwConversation\_\-open@{mwConversation\_\-open}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mwConversation\_\-open (struct {\bf mwConversation} $\ast$ {\em conv})}}
\label{mw__srvc__im_8h_2960bacb6c2f6307b60f8f92e1ac51f1}


attempt to open a conversation. 

If the conversation was not already open and it is accepted, mwServiceImHandler::conversation\_\-opened will be triggered. Upon failure, mwServiceImHandler::conversation\_\-closed will be triggered \hypertarget{mw__srvc__im_8h_9e0c7574ae526c04c0c8433138dca068}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-removeClientData@{mwConversation\_\-removeClientData}}
\index{mwConversation\_\-removeClientData@{mwConversation\_\-removeClientData}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mwConversation\_\-removeClientData (struct {\bf mwConversation} $\ast$ {\em conv})}}
\label{mw__srvc__im_8h_9e0c7574ae526c04c0c8433138dca068}


Remove any associated client data, calling the optional cleanup function if one was provided. 

\begin{Desc}
\item[See also:]\hyperlink{mw__srvc__im_8h_f81229e742e279eb8f8104d6369e692c}{mwConversation\_\-setClientData} 

\hyperlink{mw__srvc__im_8h_b38ac095354a0b0514eeeb7a8c55b121}{mwConversation\_\-getClientData} \end{Desc}
\hypertarget{mw__srvc__im_8h_deb608f4473b09907bf096a8b4aee881}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-send@{mwConversation\_\-send}}
\index{mwConversation\_\-send@{mwConversation\_\-send}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mwConversation\_\-send (struct {\bf mwConversation} $\ast$ {\em conv}, \/  enum {\bf mwImSendType} {\em type}, \/  gconstpointer {\em send})}}
\label{mw__srvc__im_8h_deb608f4473b09907bf096a8b4aee881}


send a message over an open conversation 

\hypertarget{mw__srvc__im_8h_f81229e742e279eb8f8104d6369e692c}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-setClientData@{mwConversation\_\-setClientData}}
\index{mwConversation\_\-setClientData@{mwConversation\_\-setClientData}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mwConversation\_\-setClientData (struct {\bf mwConversation} $\ast$ {\em conv}, \/  gpointer {\em data}, \/  GDestroyNotify {\em clean})}}
\label{mw__srvc__im_8h_f81229e742e279eb8f8104d6369e692c}


Associates client data with a conversation. 

If there is existing data, it will not have its cleanup function called.

\begin{Desc}
\item[See also:]\hyperlink{mw__srvc__im_8h_b38ac095354a0b0514eeeb7a8c55b121}{mwConversation\_\-getClientData} 

\hyperlink{mw__srvc__im_8h_9e0c7574ae526c04c0c8433138dca068}{mwConversation\_\-removeClientData} \end{Desc}
\hypertarget{mw__srvc__im_8h_1118f842f0373657f5ab8ada5a2a66c6}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-setEncrypted@{mwConversation\_\-setEncrypted}}
\index{mwConversation\_\-setEncrypted@{mwConversation\_\-setEncrypted}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mwConversation\_\-setEncrypted (struct {\bf mwConversation} $\ast$ {\em conv}, \/  gboolean {\em useCipher})}}
\label{mw__srvc__im_8h_1118f842f0373657f5ab8ada5a2a66c6}


set whether outgoing messages should be encrypted using the negotiated cipher, if any 

\hypertarget{mw__srvc__im_8h_beaf3935e8d6970920e4536fc97e1503}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwConversation\_\-supports@{mwConversation\_\-supports}}
\index{mwConversation\_\-supports@{mwConversation\_\-supports}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}gboolean mwConversation\_\-supports (struct {\bf mwConversation} $\ast$ {\em conv}, \/  enum {\bf mwImSendType} {\em type})}}
\label{mw__srvc__im_8h_beaf3935e8d6970920e4536fc97e1503}


determine whether a conversation supports the given message type 

\hypertarget{mw__srvc__im_8h_9113d0a9a0dc47d4fb259d42f400bb98}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwServiceIm\_\-findConversation@{mwServiceIm\_\-findConversation}}
\index{mwServiceIm\_\-findConversation@{mwServiceIm\_\-findConversation}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwConversation}$\ast$ mwServiceIm\_\-findConversation (struct {\bf mwServiceIm} $\ast$ {\em srvc}, \/  struct {\bf mwIdBlock} $\ast$ {\em target})\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{mw__srvc__im_8h_9113d0a9a0dc47d4fb259d42f400bb98}


reference an existing conversation to target 

\hypertarget{mw__srvc__im_8h_a52f0d24ee0183085dd46e38e47261da}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwServiceIm\_\-getClientType@{mwServiceIm\_\-getClientType}}
\index{mwServiceIm\_\-getClientType@{mwServiceIm\_\-getClientType}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf mwImClientType} mwServiceIm\_\-getClientType (struct {\bf mwServiceIm} $\ast$ {\em srvc})}}
\label{mw__srvc__im_8h_a52f0d24ee0183085dd46e38e47261da}


\hypertarget{mw__srvc__im_8h_4a2deb23c2063d564c43551f4d6fa7d7}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwServiceIm\_\-getConversation@{mwServiceIm\_\-getConversation}}
\index{mwServiceIm\_\-getConversation@{mwServiceIm\_\-getConversation}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwConversation}$\ast$ mwServiceIm\_\-getConversation (struct {\bf mwServiceIm} $\ast$ {\em srvc}, \/  struct {\bf mwIdBlock} $\ast$ {\em target})\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{mw__srvc__im_8h_4a2deb23c2063d564c43551f4d6fa7d7}


reference an existing conversation to target, or create a new conversation to target if one does not already exist 

\hypertarget{mw__srvc__im_8h_afa4673b2fc2b5644a434ac563412ee7}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwServiceIm\_\-getHandler@{mwServiceIm\_\-getHandler}}
\index{mwServiceIm\_\-getHandler@{mwServiceIm\_\-getHandler}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwImHandler}$\ast$ mwServiceIm\_\-getHandler (struct {\bf mwServiceIm} $\ast$ {\em srvc})\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{mw__srvc__im_8h_afa4673b2fc2b5644a434ac563412ee7}


\hypertarget{mw__srvc__im_8h_d0b319c6ffc1b62082dc6cd6533a64de}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwServiceIm\_\-new@{mwServiceIm\_\-new}}
\index{mwServiceIm\_\-new@{mwServiceIm\_\-new}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwServiceIm}$\ast$ mwServiceIm\_\-new (struct {\bf mwSession} $\ast$ {\em session}, \/  struct {\bf mwImHandler} $\ast$ {\em handler})\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{mw__srvc__im_8h_d0b319c6ffc1b62082dc6cd6533a64de}


\hypertarget{mw__srvc__im_8h_bd6566ad7e1d2b5b3a64a8fe5b0ea27e}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwServiceIm\_\-setClientType@{mwServiceIm\_\-setClientType}}
\index{mwServiceIm\_\-setClientType@{mwServiceIm\_\-setClientType}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mwServiceIm\_\-setClientType (struct {\bf mwServiceIm} $\ast$ {\em srvc}, \/  enum {\bf mwImClientType} {\em type})}}
\label{mw__srvc__im_8h_bd6566ad7e1d2b5b3a64a8fe5b0ea27e}


Set the default client type for the service. 

Newly created conversations will attempt to meet this level of functionality first.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em srvc}]the IM service \item[{\em type}]the send type to enable/disable \end{description}
\end{Desc}
\hypertarget{mw__srvc__im_8h_f74d89d1656f69853b68cd2576783a3a}{
\index{mw\_\-srvc\_\-im.h@{mw\_\-srvc\_\-im.h}!mwServiceIm\_\-supports@{mwServiceIm\_\-supports}}
\index{mwServiceIm\_\-supports@{mwServiceIm\_\-supports}!mw_srvc_im.h@{mw\_\-srvc\_\-im.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}gboolean mwServiceIm\_\-supports (struct {\bf mwServiceIm} $\ast$ {\em srvc}, \/  enum {\bf mwImSendType} {\em type})}}
\label{mw__srvc__im_8h_f74d89d1656f69853b68cd2576783a3a}


determine if the conversations created from this service will support a given send type 

