Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > b3a1f4d91c26f535919e39e25606614a > files > 709

wt-doc-3.2.3-1.fc18.noarch.rpm

<!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
   &#160;<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&#160;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> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPopupChatWidget.html">PopupChatWidget</a></td></tr>
<tr><td class="mdescLeft">&#160;</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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChatApplication.html">ChatApplication</a></td></tr>
<tr><td class="mdescLeft">&#160;</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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChatWidget.html">ChatWidget</a></td></tr>
<tr><td class="mdescLeft">&#160;</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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classChatEvent.html">ChatEvent</a></td></tr>
<tr><td class="mdescLeft">&#160;</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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSimpleChatServer.html">SimpleChatServer</a></td></tr>
<tr><td class="mdescLeft">&#160;</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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSimpleChatWidget.html">SimpleChatWidget</a></td></tr>
<tr><td class="mdescLeft">&#160;</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&lt; void(const <br class="typebreak"/>
<a class="el" href="classChatEvent.html">ChatEvent</a> &amp;)&gt;&#160;</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> *&#160;</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> &amp;env, <a class="el" href="classSimpleChatServer.html">SimpleChatServer</a> &amp;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> *&#160;</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> &amp;env, <a class="el" href="classSimpleChatServer.html">SimpleChatServer</a> &amp;server)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</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">&#160;</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> &amp;env, <a class="el" href="classSimpleChatServer.html">SimpleChatServer</a> &amp;server)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new instance.  <a href="#gac4c5f3eb4c8d0dc07a50f7a69b78f1e2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__chatexample.html#ga5dac9dfcc18f0d42adb57760b1da24d9">ChatApplication::addChatWidget</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add another chat client.  <a href="#ga5dac9dfcc18f0d42adb57760b1da24d9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</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> &amp;env, <a class="el" href="classSimpleChatServer.html">SimpleChatServer</a> &amp;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&lt;void (const <a class="el" href="classChatEvent.html">ChatEvent</a>&amp;)&gt; <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-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#afd3a3b359681111460a93d13979d17dd">setStyleClass</a>(<span class="stringliteral">&quot;chat&quot;</span>);
}
</pre></div>
</div>
</div>
<a class="anchor" id="gac4c5f3eb4c8d0dc07a50f7a69b78f1e2"></a><!-- doxytag: member="ChatApplication::ChatApplication" ref="gac4c5f3eb4c8d0dc07a50f7a69b78f1e2" args="(const WEnvironment &amp;env, SimpleChatServer &amp;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> &amp;&#160;</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> &amp;&#160;</td>
          <td class="paramname"><em>server</em>&#160;</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">&quot;Wt Chat&quot;</span>);
  <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#af377d541443b4bcea5fcc40be7c70173">useStyleSheet</a>(<span class="stringliteral">&quot;chatapp.css&quot;</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">&quot;simplechat&quot;</span>);

  <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a17e118a04d962459484a12989a80bc05">root</a>()-&gt;<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">&quot;introduction&quot;</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-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#afd3a3b359681111460a93d13979d17dd">setStyleClass</a>(<span class="stringliteral">&quot;chat&quot;</span>);

  <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a17e118a04d962459484a12989a80bc05">root</a>()-&gt;<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">&quot;details&quot;</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">&quot;I&#39;m schizophrenic ...&quot;</span>, <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#a17e118a04d962459484a12989a80bc05">root</a>());
  b-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WInteractWidget.html#ae11e050cce0d4a8f742afa3ef92bfe8c">clicked</a>().connect(b, &amp;WPushButton::hide);
  b-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WInteractWidget.html#ae11e050cce0d4a8f742afa3ef92bfe8c">clicked</a>().connect(<span class="keyword">this</span>, &amp;<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 &amp;env, SimpleChatServer &amp;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> &amp;&#160;</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> &amp;&#160;</td>
          <td class="paramname"><em>server</em>&#160;</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">&quot;login&quot;</span>)
{
  <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#aa316b2b30a6191085f265974b66e55bb">setCssTheme</a>(<span class="stringliteral">&quot;&quot;</span>);
  <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#af377d541443b4bcea5fcc40be7c70173">useStyleSheet</a>(<span class="stringliteral">&quot;chatwidget.css&quot;</span>);
  <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WApplication.html#af377d541443b4bcea5fcc40be7c70173">useStyleSheet</a>(<span class="stringliteral">&quot;chatwidget_ie6.css&quot;</span>, <span class="stringliteral">&quot;lt IE 7&quot;</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">&quot;div&quot;</span>);
  std::string defaultDiv = <span class="stringliteral">&quot;div&quot;</span>;
  <span class="keywordflow">if</span> (!div)
   div = &amp;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, &amp;<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">&quot;if (window.&quot;</span> + chat + <span class="stringliteral">&quot;User) &quot;</span>
                 + chat + <span class="stringliteral">&quot;.emit(&quot;</span> + chat + <span class="stringliteral">&quot;, &#39;login&#39;, &quot;</span> + chat + <span class="stringliteral">&quot;User);&quot;</span>
                 + <span class="stringliteral">&quot;document.body.appendChild(&quot;</span> + chatWidget-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html#aa2b7078b3b43d53a85e5244b45d504f7">jsRef</a>() + <span class="stringliteral">&quot;);&quot;</span>);
  } <span class="keywordflow">else</span> {
    std::cerr &lt;&lt; <span class="stringliteral">&quot;Missing: parameter: &#39;div&#39;&quot;</span> &lt;&lt; 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 &amp;env, SimpleChatServer &amp;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> &amp;&#160;</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> &amp;&#160;</td>
          <td class="paramname"><em>server</em>&#160;</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 &amp;env, SimpleChatServer &amp;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> &amp;&#160;</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> &amp;&#160;</td>
          <td class="paramname"><em>server</em>&#160;</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&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>argv</em>&#160;</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">&quot;/chat.js&quot;</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 &lt;&lt; <span class="stringliteral">&quot;Shutting down: (signal = &quot;</span> &lt;&lt; sig &lt;&lt; <span class="stringliteral">&quot;)&quot;</span> &lt;&lt; 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&nbsp;<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>