<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>Wt examples: Chat example</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Wt examples  <span id="projectnumber">3.2.3</span> </div> </td> </tr> </tbody> </table> </div> <!-- Generated by Doxygen 1.7.5.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Chat example</div> </div> </div> <div class="contents"> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Classes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classPopupChatWidget.html">PopupChatWidget</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A popup chat widget. <a href="classPopupChatWidget.html#details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classChatApplication.html">ChatApplication</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A chat demo application. <a href="classChatApplication.html#details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classChatWidget.html">ChatWidget</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A chat application widget. <a href="classChatWidget.html#details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classChatEvent.html">ChatEvent</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Encapsulate a chat event. <a href="classChatEvent.html#details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSimpleChatServer.html">SimpleChatServer</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A simple chat server. <a href="classSimpleChatServer.html#details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSimpleChatWidget.html">SimpleChatWidget</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A self-contained chat widget. <a href="classSimpleChatWidget.html#details">More...</a><br/></td></tr> <tr><td colspan="2"><h2><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef boost::function< void(const <br class="typebreak"/> <a class="el" href="classChatEvent.html">ChatEvent</a> &)> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__chatexample.html#ga0b33bac2811bf39b0ea9412e91c3d4e7">ChatEventCallback</a></td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html">WApplication</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__chatexample.html#gad0a2f92d22309dad8f5d1577371f1d50">createApplication</a> (const <a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WEnvironment.html">WEnvironment</a> &env, <a class="el" href="classSimpleChatServer.html">SimpleChatServer</a> &server)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html">WApplication</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__chatexample.html#gabf00719b4e042ae3ee5676d30791ace0">createWidget</a> (const <a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WEnvironment.html">WEnvironment</a> &env, <a class="el" href="classSimpleChatServer.html">SimpleChatServer</a> &server)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__chatexample.html#ga3c04138a5bfe5d72780bb7e82a18e627">main</a> (int argc, char **argv)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__chatexample.html#gac4c5f3eb4c8d0dc07a50f7a69b78f1e2">ChatApplication::ChatApplication</a> (const <a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WEnvironment.html">WEnvironment</a> &env, <a class="el" href="classSimpleChatServer.html">SimpleChatServer</a> &server)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new instance. <a href="#gac4c5f3eb4c8d0dc07a50f7a69b78f1e2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__chatexample.html#ga5dac9dfcc18f0d42adb57760b1da24d9">ChatApplication::addChatWidget</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add another chat client. <a href="#ga5dac9dfcc18f0d42adb57760b1da24d9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__chatexample.html#ga5d04f31f529e02ef7f266eadf20e96a7">ChatWidget::ChatWidget</a> (const <a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WEnvironment.html">WEnvironment</a> &env, <a class="el" href="classSimpleChatServer.html">SimpleChatServer</a> &server)</td></tr> </table> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="ga0b33bac2811bf39b0ea9412e91c3d4e7"></a><!-- doxytag: member="SimpleChatServer.h::ChatEventCallback" ref="ga0b33bac2811bf39b0ea9412e91c3d4e7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef boost::function<void (const <a class="el" href="classChatEvent.html">ChatEvent</a>&)> <a class="el" href="group__chatexample.html#ga0b33bac2811bf39b0ea9412e91c3d4e7">ChatEventCallback</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="SimpleChatServer_8h_source.html#l00081">81</a> of file <a class="el" href="SimpleChatServer_8h_source.html">SimpleChatServer.h</a>.</p> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="ga5dac9dfcc18f0d42adb57760b1da24d9"></a><!-- doxytag: member="ChatApplication::addChatWidget" ref="ga5dac9dfcc18f0d42adb57760b1da24d9" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ChatApplication::addChatWidget </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Add another chat client. </p> <p>Definition at line <a class="el" href="simpleChat_8C_source.html#l00063">63</a> of file <a class="el" href="simpleChat_8C_source.html">simpleChat.C</a>.</p> <div class="fragment"><pre class="fragment">{ <a class="code" href="classSimpleChatWidget.html" title="A self-contained chat widget.">SimpleChatWidget</a> *chatWidget2 = <span class="keyword">new</span> <a class="code" href="classSimpleChatWidget.html" title="A self-contained chat widget.">SimpleChatWidget</a>(<a class="code" href="classChatApplication.html#a75c7bff2377b1e09a53f7b84f9c848fb">server_</a>, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a17e118a04d962459484a12989a80bc05">root</a>()); chatWidget2-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#afd3a3b359681111460a93d13979d17dd">setStyleClass</a>(<span class="stringliteral">"chat"</span>); } </pre></div> </div> </div> <a class="anchor" id="gac4c5f3eb4c8d0dc07a50f7a69b78f1e2"></a><!-- doxytag: member="ChatApplication::ChatApplication" ref="gac4c5f3eb4c8d0dc07a50f7a69b78f1e2" args="(const WEnvironment &env, SimpleChatServer &server)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ChatApplication::ChatApplication </td> <td>(</td> <td class="paramtype">const <a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WEnvironment.html">WEnvironment</a> & </td> <td class="paramname"><em>env</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classSimpleChatServer.html">SimpleChatServer</a> & </td> <td class="paramname"><em>server</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Create a new instance. </p> <p>Definition at line <a class="el" href="simpleChat_8C_source.html#l00041">41</a> of file <a class="el" href="simpleChat_8C_source.html">simpleChat.C</a>.</p> <div class="fragment"><pre class="fragment"> : <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#ae29a843f4d50159b17abfa9503c389db">WApplication</a>(env), <a class="code" href="classChatApplication.html#a75c7bff2377b1e09a53f7b84f9c848fb">server_</a>(server) { <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a71a3f7da5abb9a76df94fab69ba61670">setTitle</a>(<span class="stringliteral">"Wt Chat"</span>); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#af377d541443b4bcea5fcc40be7c70173">useStyleSheet</a>(<span class="stringliteral">"chatapp.css"</span>); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a4f304244f6bc75be6cd5f41798ea5e2e">messageResourceBundle</a>().<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WMessageResourceBundle.html#a01368946b2a2aaceab3a64cddb1cb1e2">use</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a88b082dadadd3fb7dbe10887e7d89c91">appRoot</a>() + <span class="stringliteral">"simplechat"</span>); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a17e118a04d962459484a12989a80bc05">root</a>()-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html#a2cfe66d9b62940f889e99538a9f478d2">addWidget</a>(<span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html">WText</a>(WString::tr(<span class="stringliteral">"introduction"</span>))); <a class="code" href="classSimpleChatWidget.html" title="A self-contained chat widget.">SimpleChatWidget</a> *chatWidget = <span class="keyword">new</span> <a class="code" href="classSimpleChatWidget.html" title="A self-contained chat widget.">SimpleChatWidget</a>(<a class="code" href="classChatApplication.html#a75c7bff2377b1e09a53f7b84f9c848fb">server_</a>, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a17e118a04d962459484a12989a80bc05">root</a>()); chatWidget-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#afd3a3b359681111460a93d13979d17dd">setStyleClass</a>(<span class="stringliteral">"chat"</span>); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a17e118a04d962459484a12989a80bc05">root</a>()-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html#a2cfe66d9b62940f889e99538a9f478d2">addWidget</a>(<span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html">WText</a>(WString::tr(<span class="stringliteral">"details"</span>))); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WPushButton.html">WPushButton</a> *b = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WPushButton.html">WPushButton</a>(<span class="stringliteral">"I'm schizophrenic ..."</span>, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a17e118a04d962459484a12989a80bc05">root</a>()); b-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WInteractWidget.html#ae11e050cce0d4a8f742afa3ef92bfe8c">clicked</a>().connect(b, &WPushButton::hide); b-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WInteractWidget.html#ae11e050cce0d4a8f742afa3ef92bfe8c">clicked</a>().connect(<span class="keyword">this</span>, &<a class="code" href="group__chatexample.html#ga5dac9dfcc18f0d42adb57760b1da24d9" title="Add another chat client.">ChatApplication::addChatWidget</a>); } </pre></div> </div> </div> <a class="anchor" id="ga5d04f31f529e02ef7f266eadf20e96a7"></a><!-- doxytag: member="ChatWidget::ChatWidget" ref="ga5d04f31f529e02ef7f266eadf20e96a7" args="(const WEnvironment &env, SimpleChatServer &server)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ChatWidget::ChatWidget </td> <td>(</td> <td class="paramtype">const <a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WEnvironment.html">WEnvironment</a> & </td> <td class="paramname"><em>env</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classSimpleChatServer.html">SimpleChatServer</a> & </td> <td class="paramname"><em>server</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="simpleChat_8C_source.html#l00080">80</a> of file <a class="el" href="simpleChat_8C_source.html">simpleChat.C</a>.</p> <div class="fragment"><pre class="fragment"> : <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#ae29a843f4d50159b17abfa9503c389db">WApplication</a>(env), <a class="code" href="classChatWidget.html#a634b65eb666483c0e15c94c555aee541">login_</a>(<span class="keyword">this</span>, <span class="stringliteral">"login"</span>) { <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#aa316b2b30a6191085f265974b66e55bb">setCssTheme</a>(<span class="stringliteral">""</span>); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#af377d541443b4bcea5fcc40be7c70173">useStyleSheet</a>(<span class="stringliteral">"chatwidget.css"</span>); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#af377d541443b4bcea5fcc40be7c70173">useStyleSheet</a>(<span class="stringliteral">"chatwidget_ie6.css"</span>, <span class="stringliteral">"lt IE 7"</span>); <span class="keyword">const</span> std::string *div = env.<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WEnvironment.html#a3f87915f10f39b18eac28bac65c0cd46">getParameter</a>(<span class="stringliteral">"div"</span>); std::string defaultDiv = <span class="stringliteral">"div"</span>; <span class="keywordflow">if</span> (!div) div = &defaultDiv; <span class="keywordflow">if</span> (div) { <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a800b4f49366fad5ed0db6c00ee3500b1">setJavaScriptClass</a>(*div); <a class="code" href="classPopupChatWidget.html" title="A popup chat widget.">PopupChatWidget</a> *chatWidget = <span class="keyword">new</span> <a class="code" href="classPopupChatWidget.html" title="A popup chat widget.">PopupChatWidget</a>(server, *div); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#aba49e1b9e696ac7244f5e2b63ca07de5">bindWidget</a>(chatWidget, *div); <a class="code" href="classChatWidget.html#a634b65eb666483c0e15c94c555aee541">login_</a>.<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1JSignal.html#aabb41837c09620b689972095b8a050fc">connect</a>(chatWidget, &<a class="code" href="classPopupChatWidget.html#a469d1da19c27831606ecaa39ec2a24eb">PopupChatWidget::setName</a>); std::string chat = <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a6e0963307eb9367a3a4a3f4e35ae3abe">javaScriptClass</a>(); <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a2a92457b9212cef4057cb54e56183967">doJavaScript</a>(<span class="stringliteral">"if (window."</span> + chat + <span class="stringliteral">"User) "</span> + chat + <span class="stringliteral">".emit("</span> + chat + <span class="stringliteral">", 'login', "</span> + chat + <span class="stringliteral">"User);"</span> + <span class="stringliteral">"document.body.appendChild("</span> + chatWidget-><a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html#aa2b7078b3b43d53a85e5244b45d504f7">jsRef</a>() + <span class="stringliteral">");"</span>); } <span class="keywordflow">else</span> { std::cerr << <span class="stringliteral">"Missing: parameter: 'div'"</span> << std::endl; <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a5231d54ed34982f4366058eb6440c8f7">quit</a>(); } } </pre></div> </div> </div> <a class="anchor" id="gad0a2f92d22309dad8f5d1577371f1d50"></a><!-- doxytag: member="simpleChat.C::createApplication" ref="gad0a2f92d22309dad8f5d1577371f1d50" args="(const WEnvironment &env, SimpleChatServer &server)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html">WApplication</a>* createApplication </td> <td>(</td> <td class="paramtype">const <a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WEnvironment.html">WEnvironment</a> & </td> <td class="paramname"><em>env</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classSimpleChatServer.html">SimpleChatServer</a> & </td> <td class="paramname"><em>server</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="simpleChat_8C_source.html#l00110">110</a> of file <a class="el" href="simpleChat_8C_source.html">simpleChat.C</a>.</p> <div class="fragment"><pre class="fragment">{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classChatApplication.html" title="A chat demo application.">ChatApplication</a>(env, server); } </pre></div> </div> </div> <a class="anchor" id="gabf00719b4e042ae3ee5676d30791ace0"></a><!-- doxytag: member="simpleChat.C::createWidget" ref="gabf00719b4e042ae3ee5676d30791ace0" args="(const WEnvironment &env, SimpleChatServer &server)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html">WApplication</a>* createWidget </td> <td>(</td> <td class="paramtype">const <a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WEnvironment.html">WEnvironment</a> & </td> <td class="paramname"><em>env</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classSimpleChatServer.html">SimpleChatServer</a> & </td> <td class="paramname"><em>server</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="simpleChat_8C_source.html#l00116">116</a> of file <a class="el" href="simpleChat_8C_source.html">simpleChat.C</a>.</p> <div class="fragment"><pre class="fragment">{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classChatWidget.html" title="A chat application widget.">ChatWidget</a>(env, server); } </pre></div> </div> </div> <a class="anchor" id="ga3c04138a5bfe5d72780bb7e82a18e627"></a><!-- doxytag: member="simpleChat.C::main" ref="ga3c04138a5bfe5d72780bb7e82a18e627" args="(int argc, char **argv)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int main </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>argc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char ** </td> <td class="paramname"><em>argv</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="simpleChat_8C_source.html#l00121">121</a> of file <a class="el" href="simpleChat_8C_source.html">simpleChat.C</a>.</p> <div class="fragment"><pre class="fragment">{ <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WServer.html">Wt::WServer</a> server(argv[0]); <a class="code" href="classSimpleChatServer.html" title="A simple chat server.">SimpleChatServer</a> chatServer(server); server.setServerConfiguration(argc, argv, WTHTTP_CONFIGURATION); <span class="comment">/*</span> <span class="comment"> * We add two entry points: one for the full-window application,</span> <span class="comment"> * and one for a widget that can be integrated in another page.</span> <span class="comment"> */</span> server.addEntryPoint(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#af4b6ed5fd28b4f5fa141b153c1107349a6688bf68bd3aeee4cca7e75a68dee7f1">Wt::Application</a>, boost::bind(<a class="code" href="ComposeExample_8C.html#acb337c09cd35644b56da8b0e5bb17b9c">createApplication</a>, _1, boost::ref(chatServer))); server.addEntryPoint(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/namespaceWt.html#af4b6ed5fd28b4f5fa141b153c1107349a932eaa79ae0d1f31e3cb240cf5ff0826">Wt::WidgetSet</a>, boost::bind(<a class="code" href="group__chatexample.html#gabf00719b4e042ae3ee5676d30791ace0">createWidget</a>, _1, boost::ref(chatServer)), <span class="stringliteral">"/chat.js"</span>); <span class="keywordflow">if</span> (server.start()) { <span class="keywordtype">int</span> sig = <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WServer.html#a00d9eed95ef4519abfd139c76eda3ac9">Wt::WServer::waitForShutdown</a>(); std::cerr << <span class="stringliteral">"Shutting down: (signal = "</span> << sig << <span class="stringliteral">")"</span> << std::endl; server.stop(); } } </pre></div> </div> </div> </div> <hr size="1"><address style="text-align: right; margin: 3px"><small> Generated on Thu Nov 1 2012 for <a href="http://www.webtoolkit.eu/wt">the C++ Web Toolkit (Wt)</a> by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" border="0" style="vertical-align: middle; display: inline-block; height: 2em"></a> 1.7.5.1</small></address> </body> </html>