\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} \} \begin{CompactList}\small\item\em \begin{Desc} \item[See also:]\hyperlink{mw__srvc__im_8h_8c32b70e52ab20bb2887f37962180b7d}{mwConversation\_\-getState} \end{Desc} \item\end{CompactList}\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) \begin{CompactList}\small\item\em \begin{Desc} \item[Returns:]owning service for a conversation \end{Desc} \item\end{CompactList}\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