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


{\tt \#include $<$glib/glist.h$>$}\par
{\tt \#include \char`\"{}mw\_\-common.h\char`\"{}}\par
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct \hyperlink{structmwConferenceHandler}{mwConferenceHandler}
\begin{CompactList}\small\item\em Handler structure used to provide callbacks for an instance of the conferencing service. \item\end{CompactList}\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\#define \hyperlink{mw__srvc__conf_8h_6bb5b583c0d0ddbfbda7e5c3c19479a0}{mwConference\_\-reject}(c, r, t)~mwConference\_\-destroy((c),(r),(t))
\item 
\#define \hyperlink{mw__srvc__conf_8h_d8f48542fd7fe5ffaff8f7f90e5761ba}{mwService\_\-CONFERENCE}~0x80000010
\begin{CompactList}\small\item\em Type identifier for the conference service. \item\end{CompactList}\end{CompactItemize}
\subsection*{Enumerations}
\begin{CompactItemize}
\item 
enum \hyperlink{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b}{mwConferenceState} \{ \par
\hyperlink{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b37db6af7a838a678443f29c419ec8bb2}{mwConference\_\-NEW}, 
\par
\hyperlink{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b9701f7eb558ea283c38b8e4b2620f796}{mwConference\_\-PENDING}, 
\par
\hyperlink{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b632f57891610ad036e1a8509bb46f06a}{mwConference\_\-INVITED}, 
\par
\hyperlink{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b9dd06899a08e0615677b596911802767}{mwConference\_\-OPEN}, 
\par
\hyperlink{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b065d75ce547194ba92fc0099b23b747d}{mwConference\_\-CLOSING}, 
\par
\hyperlink{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b136383c28f5cd5b8f6be65a918a3a33e}{mwConference\_\-ERROR}, 
\par
\hyperlink{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b3951a7b58e6e8bedf99f5daf0481f70e}{mwConference\_\-UNKNOWN}
 \}
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
int \hyperlink{mw__srvc__conf_8h_1f264a8a152d9b37e07da49fc2c59dfb}{mwConference\_\-accept} (struct \hyperlink{structmwConference}{mwConference} $\ast$conf)
\begin{CompactList}\small\item\em accept a conference invitation. \item\end{CompactList}\item 
int \hyperlink{mw__srvc__conf_8h_36474f0e5e6309a8306d5085c46337af}{mwConference\_\-destroy} (struct \hyperlink{structmwConference}{mwConference} $\ast$conf, guint32 reason, const char $\ast$text)
\begin{CompactList}\small\item\em Leave and close an existing conference, or reject an invitation. \item\end{CompactList}\item 
gpointer \hyperlink{mw__srvc__conf_8h_3e0cc8dd7b1198884523ea8b7a226eed}{mwConference\_\-getClientData} (struct \hyperlink{structmwConference}{mwConference} $\ast$conf)
\begin{CompactList}\small\item\em reference associated client data \item\end{CompactList}\item 
GList $\ast$ \hyperlink{mw__srvc__conf_8h_46d04258c983e97dec851ae346a7a002}{mwConference\_\-getMembers} (struct \hyperlink{structmwConference}{mwConference} $\ast$conf)
\begin{CompactList}\small\item\em a \hyperlink{structmwIdBlock}{mwIdBlock} list of the members of the conference. \item\end{CompactList}\item 
const char $\ast$ \hyperlink{mw__srvc__conf_8h_7bf4f4c29db684a4cd2b7d6e4f135db7}{mwConference\_\-getName} (struct \hyperlink{structmwConference}{mwConference} $\ast$conf)
\item 
struct \hyperlink{structmwServiceConference}{mwServiceConference} $\ast$ \hyperlink{mw__srvc__conf_8h_66d71802e4ad77bbe8d8a37c783d8073}{mwConference\_\-getService} (struct \hyperlink{structmwConference}{mwConference} $\ast$conf)
\item 
const char $\ast$ \hyperlink{mw__srvc__conf_8h_455cdae2de31586fc42e078a9dfeb7f7}{mwConference\_\-getTitle} (struct \hyperlink{structmwConference}{mwConference} $\ast$conf)
\item 
int \hyperlink{mw__srvc__conf_8h_25be74a7340874274f96fe9b46287805}{mwConference\_\-invite} (struct \hyperlink{structmwConference}{mwConference} $\ast$conf, struct \hyperlink{structmwIdBlock}{mwIdBlock} $\ast$who, const char $\ast$text)
\begin{CompactList}\small\item\em invite another user to an ACTIVE conference \item\end{CompactList}\item 
struct \hyperlink{structmwConference}{mwConference} $\ast$ \hyperlink{mw__srvc__conf_8h_cdf190d49eb2dcb606d3f7370bb7c7e3}{mwConference\_\-new} (struct \hyperlink{structmwServiceConference}{mwServiceConference} $\ast$srvc, const char $\ast$title)
\begin{CompactList}\small\item\em Allocate a new conference, in state NEW with the given title. \item\end{CompactList}\item 
int \hyperlink{mw__srvc__conf_8h_0fc8e4a2b7209497b6900aa18ac57d6b}{mwConference\_\-open} (struct \hyperlink{structmwConference}{mwConference} $\ast$conf)
\begin{CompactList}\small\item\em Initiate a conference. \item\end{CompactList}\item 
void \hyperlink{mw__srvc__conf_8h_fe7e528a049a5603a11d28e96c18ec61}{mwConference\_\-removeClientData} (struct \hyperlink{structmwConference}{mwConference} $\ast$conf)
\begin{CompactList}\small\item\em remove associated client data if any, and call the cleanup function on the data as necessary \item\end{CompactList}\item 
int \hyperlink{mw__srvc__conf_8h_5c3b16cc84d63dab6699a89a1d17c5c9}{mwConference\_\-sendText} (struct \hyperlink{structmwConference}{mwConference} $\ast$conf, const char $\ast$text)
\begin{CompactList}\small\item\em send a text message over an open conference \item\end{CompactList}\item 
int \hyperlink{mw__srvc__conf_8h_8ea1c62150c4fc32a8e55c9c07731062}{mwConference\_\-sendTyping} (struct \hyperlink{structmwConference}{mwConference} $\ast$conf, gboolean typing)
\begin{CompactList}\small\item\em send typing notification over an open conference \item\end{CompactList}\item 
void \hyperlink{mw__srvc__conf_8h_8fb8832aedee72fd8047e4fbef752eb7}{mwConference\_\-setClientData} (struct \hyperlink{structmwConference}{mwConference} $\ast$conf, gpointer data, GDestroyNotify \hyperlink{structmwService_9b86cc0545150a4fde3ab3060e803e58}{clear})
\begin{CompactList}\small\item\em associate arbitrary client data and an optional cleanup function with a conference. \item\end{CompactList}\item 
GList $\ast$ \hyperlink{mw__srvc__conf_8h_82ad4285b9310ba22ea8552b2f477a0d}{mwServiceConference\_\-getConferences} (struct \hyperlink{structmwServiceConference}{mwServiceConference} $\ast$srvc)
\begin{CompactList}\small\item\em a \hyperlink{structmwConference}{mwConference} list of the conferences in this service. \item\end{CompactList}\item 
struct \hyperlink{structmwConferenceHandler}{mwConferenceHandler} $\ast$ \hyperlink{mw__srvc__conf_8h_b23596a80b89b8700d598f499f98cf8a}{mwServiceConference\_\-getHandler} (struct \hyperlink{structmwServiceConference}{mwServiceConference} $\ast$srvc)
\item 
struct \hyperlink{structmwServiceConference}{mwServiceConference} $\ast$ \hyperlink{mw__srvc__conf_8h_67d53a162d0b826956de5406e5352680}{mwServiceConference\_\-new} (struct \hyperlink{structmwSession}{mwSession} $\ast$sess, struct \hyperlink{structmwConferenceHandler}{mwConferenceHandler} $\ast$handler)
\begin{CompactList}\small\item\em Allocate a new conferencing service, attaching the given handler. \item\end{CompactList}\end{CompactItemize}


\subsection{Define Documentation}
\hypertarget{mw__srvc__conf_8h_6bb5b583c0d0ddbfbda7e5c3c19479a0}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-reject@{mwConference\_\-reject}}
\index{mwConference\_\-reject@{mwConference\_\-reject}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define mwConference\_\-reject(c, \/  r, \/  t)~mwConference\_\-destroy((c),(r),(t))}}
\label{mw__srvc__conf_8h_6bb5b583c0d0ddbfbda7e5c3c19479a0}


\hypertarget{mw__srvc__conf_8h_d8f48542fd7fe5ffaff8f7f90e5761ba}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwService\_\-CONFERENCE@{mwService\_\-CONFERENCE}}
\index{mwService\_\-CONFERENCE@{mwService\_\-CONFERENCE}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define mwService\_\-CONFERENCE~0x80000010}}
\label{mw__srvc__conf_8h_d8f48542fd7fe5ffaff8f7f90e5761ba}


Type identifier for the conference service. 



\subsection{Enumeration Type Documentation}
\hypertarget{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConferenceState@{mwConferenceState}}
\index{mwConferenceState@{mwConferenceState}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf mwConferenceState}}}
\label{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b}


\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{mwConference\_\-NEW@{mwConference\_\-NEW}!mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}}\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-NEW@{mwConference\_\-NEW}}\item[{\em 
\hypertarget{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b37db6af7a838a678443f29c419ec8bb2}{
mwConference\_\-NEW}
\label{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b37db6af7a838a678443f29c419ec8bb2}
}]new outgoing conference \index{mwConference\_\-PENDING@{mwConference\_\-PENDING}!mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}}\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-PENDING@{mwConference\_\-PENDING}}\item[{\em 
\hypertarget{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b9701f7eb558ea283c38b8e4b2620f796}{
mwConference\_\-PENDING}
\label{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b9701f7eb558ea283c38b8e4b2620f796}
}]outgoing conference pending creation \index{mwConference\_\-INVITED@{mwConference\_\-INVITED}!mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}}\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-INVITED@{mwConference\_\-INVITED}}\item[{\em 
\hypertarget{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b632f57891610ad036e1a8509bb46f06a}{
mwConference\_\-INVITED}
\label{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b632f57891610ad036e1a8509bb46f06a}
}]invited to incoming conference \index{mwConference\_\-OPEN@{mwConference\_\-OPEN}!mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}}\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-OPEN@{mwConference\_\-OPEN}}\item[{\em 
\hypertarget{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b9dd06899a08e0615677b596911802767}{
mwConference\_\-OPEN}
\label{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b9dd06899a08e0615677b596911802767}
}]conference open and active \index{mwConference\_\-CLOSING@{mwConference\_\-CLOSING}!mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}}\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-CLOSING@{mwConference\_\-CLOSING}}\item[{\em 
\hypertarget{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b065d75ce547194ba92fc0099b23b747d}{
mwConference\_\-CLOSING}
\label{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b065d75ce547194ba92fc0099b23b747d}
}]conference is closing \index{mwConference\_\-ERROR@{mwConference\_\-ERROR}!mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}}\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-ERROR@{mwConference\_\-ERROR}}\item[{\em 
\hypertarget{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b136383c28f5cd5b8f6be65a918a3a33e}{
mwConference\_\-ERROR}
\label{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b136383c28f5cd5b8f6be65a918a3a33e}
}]conference is closing due to error \index{mwConference\_\-UNKNOWN@{mwConference\_\-UNKNOWN}!mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}}\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-UNKNOWN@{mwConference\_\-UNKNOWN}}\item[{\em 
\hypertarget{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b3951a7b58e6e8bedf99f5daf0481f70e}{
mwConference\_\-UNKNOWN}
\label{mw__srvc__conf_8h_38a99c3a1b0935e1036af3d2f440769b3951a7b58e6e8bedf99f5daf0481f70e}
}]unable to determine conference state \end{description}
\end{Desc}



\subsection{Function Documentation}
\hypertarget{mw__srvc__conf_8h_1f264a8a152d9b37e07da49fc2c59dfb}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-accept@{mwConference\_\-accept}}
\index{mwConference\_\-accept@{mwConference\_\-accept}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mwConference\_\-accept (struct {\bf mwConference} $\ast$ {\em conf})}}
\label{mw__srvc__conf_8h_1f264a8a152d9b37e07da49fc2c59dfb}


accept a conference invitation. 

Conference must be in the state INVITED. \hypertarget{mw__srvc__conf_8h_36474f0e5e6309a8306d5085c46337af}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-destroy@{mwConference\_\-destroy}}
\index{mwConference\_\-destroy@{mwConference\_\-destroy}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mwConference\_\-destroy (struct {\bf mwConference} $\ast$ {\em conf}, \/  guint32 {\em reason}, \/  const char $\ast$ {\em text})}}
\label{mw__srvc__conf_8h_36474f0e5e6309a8306d5085c46337af}


Leave and close an existing conference, or reject an invitation. 

Triggers mwServiceConfHandler::conf\_\-closed and free's the conference. \hypertarget{mw__srvc__conf_8h_3e0cc8dd7b1198884523ea8b7a226eed}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-getClientData@{mwConference\_\-getClientData}}
\index{mwConference\_\-getClientData@{mwConference\_\-getClientData}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}gpointer mwConference\_\-getClientData (struct {\bf mwConference} $\ast$ {\em conf})}}
\label{mw__srvc__conf_8h_3e0cc8dd7b1198884523ea8b7a226eed}


reference associated client data 

\hypertarget{mw__srvc__conf_8h_46d04258c983e97dec851ae346a7a002}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-getMembers@{mwConference\_\-getMembers}}
\index{mwConference\_\-getMembers@{mwConference\_\-getMembers}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}GList$\ast$ mwConference\_\-getMembers (struct {\bf mwConference} $\ast$ {\em conf})}}
\label{mw__srvc__conf_8h_46d04258c983e97dec851ae346a7a002}


a \hyperlink{structmwIdBlock}{mwIdBlock} list of the members of the conference. 

The GList will need to be free'd after use \hypertarget{mw__srvc__conf_8h_7bf4f4c29db684a4cd2b7d6e4f135db7}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-getName@{mwConference\_\-getName}}
\index{mwConference\_\-getName@{mwConference\_\-getName}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ mwConference\_\-getName (struct {\bf mwConference} $\ast$ {\em conf})}}
\label{mw__srvc__conf_8h_7bf4f4c29db684a4cd2b7d6e4f135db7}


\begin{Desc}
\item[Returns:]unique conference name \end{Desc}
\hypertarget{mw__srvc__conf_8h_66d71802e4ad77bbe8d8a37c783d8073}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-getService@{mwConference\_\-getService}}
\index{mwConference\_\-getService@{mwConference\_\-getService}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwServiceConference}$\ast$ mwConference\_\-getService (struct {\bf mwConference} $\ast$ {\em conf})\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{mw__srvc__conf_8h_66d71802e4ad77bbe8d8a37c783d8073}


\begin{Desc}
\item[Returns:]the owning service of a conference \end{Desc}
\hypertarget{mw__srvc__conf_8h_455cdae2de31586fc42e078a9dfeb7f7}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-getTitle@{mwConference\_\-getTitle}}
\index{mwConference\_\-getTitle@{mwConference\_\-getTitle}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ mwConference\_\-getTitle (struct {\bf mwConference} $\ast$ {\em conf})}}
\label{mw__srvc__conf_8h_455cdae2de31586fc42e078a9dfeb7f7}


\begin{Desc}
\item[Returns:]conference title \end{Desc}
\hypertarget{mw__srvc__conf_8h_25be74a7340874274f96fe9b46287805}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-invite@{mwConference\_\-invite}}
\index{mwConference\_\-invite@{mwConference\_\-invite}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mwConference\_\-invite (struct {\bf mwConference} $\ast$ {\em conf}, \/  struct {\bf mwIdBlock} $\ast$ {\em who}, \/  const char $\ast$ {\em text})}}
\label{mw__srvc__conf_8h_25be74a7340874274f96fe9b46287805}


invite another user to an ACTIVE conference 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em conf}]conference \item[{\em who}]user to invite \item[{\em text}]invitation message \end{description}
\end{Desc}
\hypertarget{mw__srvc__conf_8h_cdf190d49eb2dcb606d3f7370bb7c7e3}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-new@{mwConference\_\-new}}
\index{mwConference\_\-new@{mwConference\_\-new}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwConference}$\ast$ mwConference\_\-new (struct {\bf mwServiceConference} $\ast$ {\em srvc}, \/  const char $\ast$ {\em title})\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{mw__srvc__conf_8h_cdf190d49eb2dcb606d3f7370bb7c7e3}


Allocate a new conference, in state NEW with the given title. 

\begin{Desc}
\item[See also:]mwConference\_\-create \end{Desc}
\hypertarget{mw__srvc__conf_8h_0fc8e4a2b7209497b6900aa18ac57d6b}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-open@{mwConference\_\-open}}
\index{mwConference\_\-open@{mwConference\_\-open}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mwConference\_\-open (struct {\bf mwConference} $\ast$ {\em conf})}}
\label{mw__srvc__conf_8h_0fc8e4a2b7209497b6900aa18ac57d6b}


Initiate a conference. 

Conference must be in state NEW. If no name or title for the conference has been set, they will be generated. Conference will be placed into state PENDING. \hypertarget{mw__srvc__conf_8h_fe7e528a049a5603a11d28e96c18ec61}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-removeClientData@{mwConference\_\-removeClientData}}
\index{mwConference\_\-removeClientData@{mwConference\_\-removeClientData}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mwConference\_\-removeClientData (struct {\bf mwConference} $\ast$ {\em conf})}}
\label{mw__srvc__conf_8h_fe7e528a049a5603a11d28e96c18ec61}


remove associated client data if any, and call the cleanup function on the data as necessary 

\hypertarget{mw__srvc__conf_8h_5c3b16cc84d63dab6699a89a1d17c5c9}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-sendText@{mwConference\_\-sendText}}
\index{mwConference\_\-sendText@{mwConference\_\-sendText}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mwConference\_\-sendText (struct {\bf mwConference} $\ast$ {\em conf}, \/  const char $\ast$ {\em text})}}
\label{mw__srvc__conf_8h_5c3b16cc84d63dab6699a89a1d17c5c9}


send a text message over an open conference 

\hypertarget{mw__srvc__conf_8h_8ea1c62150c4fc32a8e55c9c07731062}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-sendTyping@{mwConference\_\-sendTyping}}
\index{mwConference\_\-sendTyping@{mwConference\_\-sendTyping}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mwConference\_\-sendTyping (struct {\bf mwConference} $\ast$ {\em conf}, \/  gboolean {\em typing})}}
\label{mw__srvc__conf_8h_8ea1c62150c4fc32a8e55c9c07731062}


send typing notification over an open conference 

\hypertarget{mw__srvc__conf_8h_8fb8832aedee72fd8047e4fbef752eb7}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwConference\_\-setClientData@{mwConference\_\-setClientData}}
\index{mwConference\_\-setClientData@{mwConference\_\-setClientData}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mwConference\_\-setClientData (struct {\bf mwConference} $\ast$ {\em conf}, \/  gpointer {\em data}, \/  GDestroyNotify {\em clear})}}
\label{mw__srvc__conf_8h_8fb8832aedee72fd8047e4fbef752eb7}


associate arbitrary client data and an optional cleanup function with a conference. 

If there is already client data with a clear function, it will not be called. \hypertarget{mw__srvc__conf_8h_82ad4285b9310ba22ea8552b2f477a0d}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwServiceConference\_\-getConferences@{mwServiceConference\_\-getConferences}}
\index{mwServiceConference\_\-getConferences@{mwServiceConference\_\-getConferences}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}GList$\ast$ mwServiceConference\_\-getConferences (struct {\bf mwServiceConference} $\ast$ {\em srvc})}}
\label{mw__srvc__conf_8h_82ad4285b9310ba22ea8552b2f477a0d}


a \hyperlink{structmwConference}{mwConference} list of the conferences in this service. 

The GList will need to be destroyed with g\_\-list\_\-free after use \hypertarget{mw__srvc__conf_8h_b23596a80b89b8700d598f499f98cf8a}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwServiceConference\_\-getHandler@{mwServiceConference\_\-getHandler}}
\index{mwServiceConference\_\-getHandler@{mwServiceConference\_\-getHandler}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwConferenceHandler}$\ast$ mwServiceConference\_\-getHandler (struct {\bf mwServiceConference} $\ast$ {\em srvc})\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{mw__srvc__conf_8h_b23596a80b89b8700d598f499f98cf8a}


\begin{Desc}
\item[Returns:]the conference handler for the service \end{Desc}
\hypertarget{mw__srvc__conf_8h_67d53a162d0b826956de5406e5352680}{
\index{mw\_\-srvc\_\-conf.h@{mw\_\-srvc\_\-conf.h}!mwServiceConference\_\-new@{mwServiceConference\_\-new}}
\index{mwServiceConference\_\-new@{mwServiceConference\_\-new}!mw_srvc_conf.h@{mw\_\-srvc\_\-conf.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct {\bf mwServiceConference}$\ast$ mwServiceConference\_\-new (struct {\bf mwSession} $\ast$ {\em sess}, \/  struct {\bf mwConferenceHandler} $\ast$ {\em handler})\hspace{0.3cm}{\tt  \mbox{[}read\mbox{]}}}}
\label{mw__srvc__conf_8h_67d53a162d0b826956de5406e5352680}


Allocate a new conferencing service, attaching the given handler. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em sess}]owning session \item[{\em handler}]handler providing call-back functions for the service \end{description}
\end{Desc}
