Sophie

Sophie

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

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: Wt::WEnvironment Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</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
   &#160;<span id="projectnumber">3.2.3</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceWt.html">Wt</a>      </li>
      <li class="navelem"><a class="el" href="classWt_1_1WEnvironment.html">WEnvironment</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">Wt::WEnvironment Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Wt::WEnvironment" -->
<p>A class that captures information on the application environment.  
 <a href="classWt_1_1WEnvironment.html#details">More...</a></p>

<p><code>#include &lt;Wt/WEnvironment&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Wt::WEnvironment:</div>
<div class="dyncontent">
<div class="center"><img src="classWt_1_1WEnvironment__inherit__graph.png" border="0" usemap="#Wt_1_1WEnvironment_inherit__map" alt="Inheritance graph"/></div>
<map name="Wt_1_1WEnvironment_inherit__map" id="Wt_1_1WEnvironment_inherit__map">
<area shape="rect" href="classWt_1_1Test_1_1WTestEnvironment.html" title="An environment for testing purposes." alt="" coords="5,80,192,107"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classWt_1_1WEnvironment-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fd">UserAgent</a> { <br/>
&#160;&#160;<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda4cb2c346551f5270f14b2e6a854a5b29">Unknown</a> =  0, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda2823feda697be9f188400d7f481e9aae">IEMobile</a> =  1000, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda737c9af8220cbd65cdfe9b0789e87f9d">IE6</a> =  1001, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda7badfc0c8db4cb19c42dedad648c9e55">IE7</a> =  1002, 
<br/>
&#160;&#160;<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda7d42e94541784f88d22215d1926bd3d1">IE8</a> =  1003, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda3a25dce6ae2767dc71b816c1677cd8e3">IE9</a> =  1004, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda18c1a4be49c088c9241119e6c4465de6">Opera</a> =  3000, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fdab22bb267ebfb3ef517c49aa8fdbc7181">Opera10</a> =  3010, 
<br/>
&#160;&#160;<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda45bd0a2565de3bec1a9405956d385e89">WebKit</a> =  4000, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda1196785434e07b92754e35b08d807626">Safari</a> =  4100, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fdaf9a72317865b4e8c43dec948f3c9581f">Safari3</a> =  4103, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda58379ce1ee25778d28d4404ddc7f5048">Safari4</a> =  4104, 
<br/>
&#160;&#160;<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fdad818ce77035a393fdbad28799589ba41">Chrome0</a> =  4200, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fdad65c49f421b84b08a9ad24ccc904ef35">Chrome1</a> =  4201, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda35a02d67c3d48cb2ef84d5410eb16783">Chrome2</a> =  4202, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda326e7fe860a3d5f395e126207928d53e">Chrome3</a> =  4203, 
<br/>
&#160;&#160;<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda075c8e89487220456b545be5786ae8ba">Chrome4</a> =  4204, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda643b3c9cb3447cffa5128b870e412f4b">Chrome5</a> =  4205, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda4d85e3f91e8baf595066d32f1e469cbf">Arora</a> =  4300, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda0f79ccf97841f36026e7b568601687a2">MobileWebKit</a> =  4400, 
<br/>
&#160;&#160;<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fdae6e1b867b336d35a3b8828842dc79098">MobileWebKitiPhone</a> =  4450, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fdab7d94421427961c72d2af8879abede89">MobileWebKitAndroid</a> =  4500, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda79971897bce9804d647e1bbcf23ab099">Konqueror</a> =  5000, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda3f0c504f2120c3409dbc315ed3ee00ee">Gecko</a> =  6000, 
<br/>
&#160;&#160;<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda54ad950d64156edc780c1208764a952e">Firefox</a> =  6100, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda75cd4043148d59c681a5de4bb74d3662">Firefox3_0</a> =  6101, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fdaa6d072b5c7080ad5705421104352e74f">Firefox3_1</a> =  6102, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda2b3d965b83e31a421a4ff80f800322d0">Firefox3_1b</a> =  6103, 
<br/>
&#160;&#160;<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fdad70e2c58f8992fe0447f5df72d5d5948">Firefox3_5</a> =  6104, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda000338f20477244113024cf8e7ac7495">Firefox3_6</a> =  6105, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fdaa96df13c8a7984c0711951a62ad4fa5d">Firefox4_0</a> =  6106, 
<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda7bb3101fd87b1a815c2c6579418562cc">Firefox5_0</a> =  6107, 
<br/>
&#160;&#160;<a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fda49f1a47dc2ade4078772d770c1824a4a">BotAgent</a> =  10000
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">An enumeration type for specific user agent.  <a href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fd">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#ab293698bb21313768c279dbe3a9803b6">ContentType</a> { <a class="el" href="classWt_1_1WEnvironment.html#ab293698bb21313768c279dbe3a9803b6a2088cf5865710d6b46092a96b8505288">XHTML1</a>, 
<a class="el" href="classWt_1_1WEnvironment.html#ab293698bb21313768c279dbe3a9803b6a5370f3c22a92a80c345c545d902dc6c5">HTML4</a>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration for HTML content type.  <a href="classWt_1_1WEnvironment.html#ab293698bb21313768c279dbe3a9803b6">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; std::string, <br class="typebreak"/>
std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a163671f35f1080badcb791a826f5fadd">CookieMap</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Cookie map.  <a href="#a163671f35f1080badcb791a826f5fadd"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceWt_1_1Http.html#a3420f95c8bfecf3d46e65920c765345a">Http::ParameterMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#ac333df7571b921b4f22492c2bb95bcd4">getParameterMap</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameters passed to the application.  <a href="#ac333df7571b921b4f22492c2bb95bcd4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceWt_1_1Http.html#ae1470e15e15eab123a19e4204f624598">Http::ParameterValues</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a0c2ff76f4db12bc9ab390f7673af9b91">getParameterValues</a> (const std::string &amp;name) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns values for a query parameter.  <a href="#a0c2ff76f4db12bc9ab390f7673af9b91"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a3f87915f10f39b18eac28bac65c0cd46">getParameter</a> (const std::string &amp;name) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a single value for a query parameter.  <a href="#a3f87915f10f39b18eac28bac65c0cd46"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classWt_1_1WEnvironment.html#a163671f35f1080badcb791a826f5fadd">CookieMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a30810ecfa507bc6f655c38a6f218dc92">cookies</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the cookies from the environment.  <a href="#a30810ecfa507bc6f655c38a6f218dc92"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#af39745ca2c6c6fc00c0f78bc7d064e3a">getCookie</a> (const std::string &amp;cookieNname) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a cookie value.  <a href="#af39745ca2c6c6fc00c0f78bc7d064e3a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a74eba8088c5cc3d9cebb886ef477a0a3">getCookieValue</a> (const std::string &amp;cookieName) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a cookie value.  <a href="#a74eba8088c5cc3d9cebb886ef477a0a3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a43f59c8aced914ac4b51690e8ee90285">headerValue</a> (const std::string &amp;field) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a header value.  <a href="#a43f59c8aced914ac4b51690e8ee90285"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#abf06c6d85be1b482c037f80e63890f3a">supportsCookies</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the browser has enabled support for cookies.  <a href="#abf06c6d85be1b482c037f80e63890f3a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a9ad466ecabd71a039cbfbee137867849">javaScript</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the browser has enabled support for JavaScript.  <a href="#a9ad466ecabd71a039cbfbee137867849"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#af39702064f91a549514f28de713b7cd2">ajax</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the browser has enabled support for AJAX.  <a href="#af39702064f91a549514f28de713b7cd2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a06c074249363d4ef4b90bc9cbae96261">dpiScale</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the browser-side DPI scaling factor.  <a href="#a06c074249363d4ef4b90bc9cbae96261"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a42b10cde31c3df634dc753b5dbd1e800">locale</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the preferred language indicated in the request header.  <a href="#a42b10cde31c3df634dc753b5dbd1e800"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#ad798f03cb67b859cc42ed2e1ced82fcd">hostName</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the server host name that is used by the client.  <a href="#ad798f03cb67b859cc42ed2e1ced82fcd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5dd3ea667a61c3bbc2c6e1e3a879dc2f"></a><!-- doxytag: member="Wt::WEnvironment::urlScheme" ref="a5dd3ea667a61c3bbc2c6e1e3a879dc2f" args="() const " -->
const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a5dd3ea667a61c3bbc2c6e1e3a879dc2f">urlScheme</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the URL scheme used for the current request (<code>"http"</code> or <code>"https"</code>). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a3ac010296af1ee9dbcbfecad96dc5a0f">userAgent</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the user agent.  <a href="#a3ac010296af1ee9dbcbfecad96dc5a0f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#aa68ac8744d2dc060d6c66ab22fbadbe1">referer</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the referer.  <a href="#aa68ac8744d2dc060d6c66ab22fbadbe1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a9160e82a73d21aa1a0a76bf5eeeac886">accept</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the accept header.  <a href="#a9160e82a73d21aa1a0a76bf5eeeac886"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#abe062ba13bf3df36e06d611e04b66603">agentIsSpiderBot</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if the user agent is a (known) indexing spider bot.  <a href="#abe062ba13bf3df36e06d611e04b66603"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a8d2c52cbf0c79d315088e56c8e5fe224">serverSignature</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the web server signature.  <a href="#a8d2c52cbf0c79d315088e56c8e5fe224"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#ad0d4a99a818ca7cb851ef43187c9ade7">serverSoftware</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the web server software.  <a href="#ad0d4a99a818ca7cb851ef43187c9ade7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#aa407aa90c7a3ab9ecb46de0ed9451797">serverAdmin</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the email address of the server admin.  <a href="#aa407aa90c7a3ab9ecb46de0ed9451797"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a3cd4cc541b27cfe4f937d2b945f5ff6a">clientAddress</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the IP address of the client.  <a href="#a3cd4cc541b27cfe4f937d2b945f5ff6a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#adb17bb1f17c56f78418e06872d531c24">pathInfo</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the path info of the original request (<b>deprecated</b>)  <a href="#adb17bb1f17c56f78418e06872d531c24"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#acb2ba1f1f88e9cd6b7a57a2e51518ec6">internalPath</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the initial internal path.  <a href="#acb2ba1f1f88e9cd6b7a57a2e51518ec6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#aa6c6f66f82b2c6f08317366882d9b827">deploymentPath</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the deployment path.  <a href="#aa6c6f66f82b2c6f08317366882d9b827"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#abf911f096b978f4e842596c7401052de">libraryVersion</a> (int &amp;series, int &amp;major, int &amp;minor) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the version of the Wt library, broken down.  <a href="#abf911f096b978f4e842596c7401052de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a41d6fa0197d24e92cc463cc9d5815f10">sessionId</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the Wt session id (<b>deprecated</b>).  <a href="#a41d6fa0197d24e92cc463cc9d5815f10"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a3aa8ecc5ee3b7c7298ac33c43b65ec1a">getCgiValue</a> (const std::string &amp;varName) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a raw CGI environment variable.  <a href="#a3aa8ecc5ee3b7c7298ac33c43b65ec1a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1WEnvironment.html#ab293698bb21313768c279dbe3a9803b6">ContentType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a375dfdc05e69eb22b8b644d2fada4d41">contentType</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of the content provided to the browser.  <a href="#a375dfdc05e69eb22b8b644d2fada4d41"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fd">UserAgent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#afd8726dfa8cabcb49895df4a6112ef48">agent</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the user agent type.  <a href="#afd8726dfa8cabcb49895df4a6112ef48"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a481240e2bd08b1f01ff7dce417c1476c">agentIsIE</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the user agent is Microsoft Internet Explorer.  <a href="#a481240e2bd08b1f01ff7dce417c1476c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#ad0a9e4b64f21ddb5269a3b5454f5219d">agentIsIElt</a> (int version) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the user agent is an older version of IE.  <a href="#ad0a9e4b64f21ddb5269a3b5454f5219d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a65888110662122c6b7a05d12060119f8">agentIsIEMobile</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the user agent is Internet Explorer Mobile.  <a href="#a65888110662122c6b7a05d12060119f8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a48d50e20b390708cdf506240a70b1b70">agentIsOpera</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the user agent is Opera.  <a href="#a48d50e20b390708cdf506240a70b1b70"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a7e93d6a17e128a6a714a96f5faaef351">agentIsWebKit</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the user agent is WebKit-based.  <a href="#a7e93d6a17e128a6a714a96f5faaef351"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#accc83794f9d7b250dc30e3bd17c11508">agentIsMobileWebKit</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the user agent is Mobile WebKit-based.  <a href="#accc83794f9d7b250dc30e3bd17c11508"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a316fedb63906347ca23242a26919e19a">agentIsSafari</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the user agent is Safari.  <a href="#a316fedb63906347ca23242a26919e19a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a598f54d7199f2ef3b07d3c37dc2a41dd">agentIsChrome</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the user agent is Chrome.  <a href="#a598f54d7199f2ef3b07d3c37dc2a41dd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#ab810be7b203ea6c8c4c9b9f279efe667">agentIsGecko</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the user agent is Gecko-based.  <a href="#ab810be7b203ea6c8c4c9b9f279efe667"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1WServer.html">WServer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#af9c315b1a48b0fb52a01d3f105f90ffb">server</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the server.  <a href="#af9c315b1a48b0fb52a01d3f105f90ffb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1WSslInfo.html">WSslInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#ade71adff7dba02d1840a00a9bb11c6e7">sslInfo</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns information on the SSL client certificate or <code>0</code> if no authentication took place.  <a href="#ade71adff7dba02d1840a00a9bb11c6e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a917bc91db1d52a57d1f888681efd1181"></a><!-- doxytag: member="Wt::WEnvironment::supportsCss3Animations" ref="a917bc91db1d52a57d1f888681efd1181" args="() const " -->
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a917bc91db1d52a57d1f888681efd1181">supportsCss3Animations</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether this agent supports CSS3 animations. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a271355d4266670632db4c3e451878d83"></a><!-- doxytag: member="Wt::WEnvironment::isTest" ref="a271355d4266670632db4c3e451878d83" args="() const " -->
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a271355d4266670632db4c3e451878d83">isTest</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether this is a mocked test environment. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WEnvironment.html#a8d55627d202b6d8866c7703a6e9dddf1">libraryVersion</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the version of the Wt library.  <a href="#a8d55627d202b6d8866c7703a6e9dddf1"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A class that captures information on the application environment. </p>
<p>The environment provides information on the client, and gives access to startup arguments.</p>
<p>Usage example: </p>
<div class="fragment"><pre class="fragment"> <span class="keyword">const</span> WEnvironment&amp; env = <a class="code" href="classWt_1_1WApplication.html#a38d922da0a0d83395519f3eaab85d0f6" title="Returns the current application instance.">WApplication::instance</a>()-&gt;environment();

 <span class="comment">// read an application startup argument </span>
 <span class="comment">// (passed as argument in the URL or POST&#39;ed to the application).</span>
 <span class="keywordflow">if</span> (!env.getParameterValues(<span class="stringliteral">&quot;login&quot;</span>).empty()) {
   std::string login = env.getParameterValues(<span class="stringliteral">&quot;login&quot;</span>)[0];
   ...
 }

 <span class="comment">// Check for JavaScript/AJAX availability before using AJAX-only</span>
 <span class="comment">// widgets</span>
 <a class="code" href="classWt_1_1WTextArea.html" title="A widget that provides a multi-line edit.">Wt::WTextArea</a> *textEdit;
 <span class="keywordflow">if</span> (!env.ajax())
   textEdit = <span class="keyword">new</span> <a class="code" href="classWt_1_1WTextEdit.html" title="A rich-text XHTML editor.">Wt::WTextEdit</a>(); <span class="comment">// provide an HTML text editor</span>
 <span class="keywordflow">else</span>
   textEdit = <span class="keyword">new</span> <a class="code" href="classWt_1_1WTextArea.html" title="A widget that provides a multi-line edit.">Wt::WTextArea</a>(); <span class="comment">// fall-back to a plain old text area.</span>
</pre></div> </div><hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a163671f35f1080badcb791a826f5fadd"></a><!-- doxytag: member="Wt::WEnvironment::CookieMap" ref="a163671f35f1080badcb791a826f5fadd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;std::string, std::string&gt; <a class="el" href="classWt_1_1WEnvironment.html#a163671f35f1080badcb791a826f5fadd">Wt::WEnvironment::CookieMap</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cookie map. </p>
<p>A std::map which associates a cookie name with a cookie value.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#a30810ecfa507bc6f655c38a6f218dc92" title="Returns the cookies from the environment.">cookies()</a> </dd></dl>

</div>
</div>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="ab293698bb21313768c279dbe3a9803b6"></a><!-- doxytag: member="Wt::WEnvironment::ContentType" ref="ab293698bb21313768c279dbe3a9803b6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classWt_1_1WEnvironment.html#ab293698bb21313768c279dbe3a9803b6">Wt::WEnvironment::ContentType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enumeration for HTML content type. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ab293698bb21313768c279dbe3a9803b6a2088cf5865710d6b46092a96b8505288"></a><!-- doxytag: member="XHTML1" ref="ab293698bb21313768c279dbe3a9803b6a2088cf5865710d6b46092a96b8505288" args="" -->XHTML1</em>&nbsp;</td><td>
<p>XHTML1.x. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab293698bb21313768c279dbe3a9803b6a5370f3c22a92a80c345c545d902dc6c5"></a><!-- doxytag: member="HTML4" ref="ab293698bb21313768c279dbe3a9803b6a5370f3c22a92a80c345c545d902dc6c5" args="" -->HTML4</em>&nbsp;</td><td>
<p>HTML4. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="a412018893e570badb4b95056c4c934fd"></a><!-- doxytag: member="Wt::WEnvironment::UserAgent" ref="a412018893e570badb4b95056c4c934fd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fd">Wt::WEnvironment::UserAgent</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>An enumeration type for specific user agent. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#afd8726dfa8cabcb49895df4a6112ef48" title="Returns the user agent type.">agent()</a> </dd></dl>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda4cb2c346551f5270f14b2e6a854a5b29"></a><!-- doxytag: member="Unknown" ref="a412018893e570badb4b95056c4c934fda4cb2c346551f5270f14b2e6a854a5b29" args="" -->Unknown</em>&nbsp;</td><td>
<p>Unknown user agent. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda2823feda697be9f188400d7f481e9aae"></a><!-- doxytag: member="IEMobile" ref="a412018893e570badb4b95056c4c934fda2823feda697be9f188400d7f481e9aae" args="" -->IEMobile</em>&nbsp;</td><td>
<p>Internet Explorer Mobile, or Internet Explorer 5 or older. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda737c9af8220cbd65cdfe9b0789e87f9d"></a><!-- doxytag: member="IE6" ref="a412018893e570badb4b95056c4c934fda737c9af8220cbd65cdfe9b0789e87f9d" args="" -->IE6</em>&nbsp;</td><td>
<p>Internet Explorer 6. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda7badfc0c8db4cb19c42dedad648c9e55"></a><!-- doxytag: member="IE7" ref="a412018893e570badb4b95056c4c934fda7badfc0c8db4cb19c42dedad648c9e55" args="" -->IE7</em>&nbsp;</td><td>
<p>Internet Explorer 7. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda7d42e94541784f88d22215d1926bd3d1"></a><!-- doxytag: member="IE8" ref="a412018893e570badb4b95056c4c934fda7d42e94541784f88d22215d1926bd3d1" args="" -->IE8</em>&nbsp;</td><td>
<p>Internet Explorer 8. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda3a25dce6ae2767dc71b816c1677cd8e3"></a><!-- doxytag: member="IE9" ref="a412018893e570badb4b95056c4c934fda3a25dce6ae2767dc71b816c1677cd8e3" args="" -->IE9</em>&nbsp;</td><td>
<p>Internet Explorer 9 or later. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda18c1a4be49c088c9241119e6c4465de6"></a><!-- doxytag: member="Opera" ref="a412018893e570badb4b95056c4c934fda18c1a4be49c088c9241119e6c4465de6" args="" -->Opera</em>&nbsp;</td><td>
<p>Opera. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fdab22bb267ebfb3ef517c49aa8fdbc7181"></a><!-- doxytag: member="Opera10" ref="a412018893e570badb4b95056c4c934fdab22bb267ebfb3ef517c49aa8fdbc7181" args="" -->Opera10</em>&nbsp;</td><td>
<p>Opera 10 or later. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda45bd0a2565de3bec1a9405956d385e89"></a><!-- doxytag: member="WebKit" ref="a412018893e570badb4b95056c4c934fda45bd0a2565de3bec1a9405956d385e89" args="" -->WebKit</em>&nbsp;</td><td>
<p>WebKit. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda1196785434e07b92754e35b08d807626"></a><!-- doxytag: member="Safari" ref="a412018893e570badb4b95056c4c934fda1196785434e07b92754e35b08d807626" args="" -->Safari</em>&nbsp;</td><td>
<p>Safari 2 or older. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fdaf9a72317865b4e8c43dec948f3c9581f"></a><!-- doxytag: member="Safari3" ref="a412018893e570badb4b95056c4c934fdaf9a72317865b4e8c43dec948f3c9581f" args="" -->Safari3</em>&nbsp;</td><td>
<p>Safari 3. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda58379ce1ee25778d28d4404ddc7f5048"></a><!-- doxytag: member="Safari4" ref="a412018893e570badb4b95056c4c934fda58379ce1ee25778d28d4404ddc7f5048" args="" -->Safari4</em>&nbsp;</td><td>
<p>Safari 4 or later. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fdad818ce77035a393fdbad28799589ba41"></a><!-- doxytag: member="Chrome0" ref="a412018893e570badb4b95056c4c934fdad818ce77035a393fdbad28799589ba41" args="" -->Chrome0</em>&nbsp;</td><td>
<p>Chrome 0. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fdad65c49f421b84b08a9ad24ccc904ef35"></a><!-- doxytag: member="Chrome1" ref="a412018893e570badb4b95056c4c934fdad65c49f421b84b08a9ad24ccc904ef35" args="" -->Chrome1</em>&nbsp;</td><td>
<p>Chrome 1. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda35a02d67c3d48cb2ef84d5410eb16783"></a><!-- doxytag: member="Chrome2" ref="a412018893e570badb4b95056c4c934fda35a02d67c3d48cb2ef84d5410eb16783" args="" -->Chrome2</em>&nbsp;</td><td>
<p>Chrome 2. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda326e7fe860a3d5f395e126207928d53e"></a><!-- doxytag: member="Chrome3" ref="a412018893e570badb4b95056c4c934fda326e7fe860a3d5f395e126207928d53e" args="" -->Chrome3</em>&nbsp;</td><td>
<p>Chrome 3. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda075c8e89487220456b545be5786ae8ba"></a><!-- doxytag: member="Chrome4" ref="a412018893e570badb4b95056c4c934fda075c8e89487220456b545be5786ae8ba" args="" -->Chrome4</em>&nbsp;</td><td>
<p>Chrome 4. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda643b3c9cb3447cffa5128b870e412f4b"></a><!-- doxytag: member="Chrome5" ref="a412018893e570badb4b95056c4c934fda643b3c9cb3447cffa5128b870e412f4b" args="" -->Chrome5</em>&nbsp;</td><td>
<p>Chrome 5 or later. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda4d85e3f91e8baf595066d32f1e469cbf"></a><!-- doxytag: member="Arora" ref="a412018893e570badb4b95056c4c934fda4d85e3f91e8baf595066d32f1e469cbf" args="" -->Arora</em>&nbsp;</td><td>
<p>Arora. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda0f79ccf97841f36026e7b568601687a2"></a><!-- doxytag: member="MobileWebKit" ref="a412018893e570badb4b95056c4c934fda0f79ccf97841f36026e7b568601687a2" args="" -->MobileWebKit</em>&nbsp;</td><td>
<p>Mobile WebKit. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fdae6e1b867b336d35a3b8828842dc79098"></a><!-- doxytag: member="MobileWebKitiPhone" ref="a412018893e570badb4b95056c4c934fdae6e1b867b336d35a3b8828842dc79098" args="" -->MobileWebKitiPhone</em>&nbsp;</td><td>
<p>Mobile WebKit iPhone/iPad. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fdab7d94421427961c72d2af8879abede89"></a><!-- doxytag: member="MobileWebKitAndroid" ref="a412018893e570badb4b95056c4c934fdab7d94421427961c72d2af8879abede89" args="" -->MobileWebKitAndroid</em>&nbsp;</td><td>
<p>Mobile WebKit Android. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda79971897bce9804d647e1bbcf23ab099"></a><!-- doxytag: member="Konqueror" ref="a412018893e570badb4b95056c4c934fda79971897bce9804d647e1bbcf23ab099" args="" -->Konqueror</em>&nbsp;</td><td>
<p>Konqueror. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda3f0c504f2120c3409dbc315ed3ee00ee"></a><!-- doxytag: member="Gecko" ref="a412018893e570badb4b95056c4c934fda3f0c504f2120c3409dbc315ed3ee00ee" args="" -->Gecko</em>&nbsp;</td><td>
<p>Gecko. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda54ad950d64156edc780c1208764a952e"></a><!-- doxytag: member="Firefox" ref="a412018893e570badb4b95056c4c934fda54ad950d64156edc780c1208764a952e" args="" -->Firefox</em>&nbsp;</td><td>
<p>Firefox 2 or older. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda75cd4043148d59c681a5de4bb74d3662"></a><!-- doxytag: member="Firefox3_0" ref="a412018893e570badb4b95056c4c934fda75cd4043148d59c681a5de4bb74d3662" args="" -->Firefox3_0</em>&nbsp;</td><td>
<p>Firefox 3.0. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fdaa6d072b5c7080ad5705421104352e74f"></a><!-- doxytag: member="Firefox3_1" ref="a412018893e570badb4b95056c4c934fdaa6d072b5c7080ad5705421104352e74f" args="" -->Firefox3_1</em>&nbsp;</td><td>
<p>Firefox 3.1. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda2b3d965b83e31a421a4ff80f800322d0"></a><!-- doxytag: member="Firefox3_1b" ref="a412018893e570badb4b95056c4c934fda2b3d965b83e31a421a4ff80f800322d0" args="" -->Firefox3_1b</em>&nbsp;</td><td>
<p>Firefox 3.1b. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fdad70e2c58f8992fe0447f5df72d5d5948"></a><!-- doxytag: member="Firefox3_5" ref="a412018893e570badb4b95056c4c934fdad70e2c58f8992fe0447f5df72d5d5948" args="" -->Firefox3_5</em>&nbsp;</td><td>
<p>Firefox 3.5. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda000338f20477244113024cf8e7ac7495"></a><!-- doxytag: member="Firefox3_6" ref="a412018893e570badb4b95056c4c934fda000338f20477244113024cf8e7ac7495" args="" -->Firefox3_6</em>&nbsp;</td><td>
<p>Firefox 3.6. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fdaa96df13c8a7984c0711951a62ad4fa5d"></a><!-- doxytag: member="Firefox4_0" ref="a412018893e570badb4b95056c4c934fdaa96df13c8a7984c0711951a62ad4fa5d" args="" -->Firefox4_0</em>&nbsp;</td><td>
<p>Firefox 4.0. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda7bb3101fd87b1a815c2c6579418562cc"></a><!-- doxytag: member="Firefox5_0" ref="a412018893e570badb4b95056c4c934fda7bb3101fd87b1a815c2c6579418562cc" args="" -->Firefox5_0</em>&nbsp;</td><td>
<p>Firefox 5.0 or later. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a412018893e570badb4b95056c4c934fda49f1a47dc2ade4078772d770c1824a4a"></a><!-- doxytag: member="BotAgent" ref="a412018893e570badb4b95056c4c934fda49f1a47dc2ade4078772d770c1824a4a" args="" -->BotAgent</em>&nbsp;</td><td>
<p>Bot user agent. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a9160e82a73d21aa1a0a76bf5eeeac886"></a><!-- doxytag: member="Wt::WEnvironment::accept" ref="a9160e82a73d21aa1a0a76bf5eeeac886" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; Wt::WEnvironment::accept </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the accept header. </p>
<p>The accept header, as reported in the HTTP <code>Accept</code> field. </p>

</div>
</div>
<a class="anchor" id="afd8726dfa8cabcb49895df4a6112ef48"></a><!-- doxytag: member="Wt::WEnvironment::agent" ref="afd8726dfa8cabcb49895df4a6112ef48" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1WEnvironment.html#a412018893e570badb4b95056c4c934fd">UserAgent</a> Wt::WEnvironment::agent </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the user agent type. </p>
<p>This returns an interpretation of the <a class="el" href="classWt_1_1WEnvironment.html#a3ac010296af1ee9dbcbfecad96dc5a0f" title="Returns the user agent.">userAgent()</a>. It should be used only for user-agent specific work-arounds (as a last resort).</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#a481240e2bd08b1f01ff7dce417c1476c" title="Returns whether the user agent is Microsoft Internet Explorer.">agentIsIE()</a>, <a class="el" href="classWt_1_1WEnvironment.html#a48d50e20b390708cdf506240a70b1b70" title="Returns whether the user agent is Opera.">agentIsOpera()</a>, <a class="el" href="classWt_1_1WEnvironment.html#ab810be7b203ea6c8c4c9b9f279efe667" title="Returns whether the user agent is Gecko-based.">agentIsGecko()</a>, <a class="el" href="classWt_1_1WEnvironment.html#a598f54d7199f2ef3b07d3c37dc2a41dd" title="Returns whether the user agent is Chrome.">agentIsChrome()</a>, <a class="el" href="classWt_1_1WEnvironment.html#a316fedb63906347ca23242a26919e19a" title="Returns whether the user agent is Safari.">agentIsSafari()</a>, <a class="el" href="classWt_1_1WEnvironment.html#a7e93d6a17e128a6a714a96f5faaef351" title="Returns whether the user agent is WebKit-based.">agentIsWebKit()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a598f54d7199f2ef3b07d3c37dc2a41dd"></a><!-- doxytag: member="Wt::WEnvironment::agentIsChrome" ref="a598f54d7199f2ef3b07d3c37dc2a41dd" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Wt::WEnvironment::agentIsChrome </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether the user agent is Chrome. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#afd8726dfa8cabcb49895df4a6112ef48" title="Returns the user agent type.">agent()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ab810be7b203ea6c8c4c9b9f279efe667"></a><!-- doxytag: member="Wt::WEnvironment::agentIsGecko" ref="ab810be7b203ea6c8c4c9b9f279efe667" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Wt::WEnvironment::agentIsGecko </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether the user agent is Gecko-based. </p>
<p>Gecko-based browsers include Firefox.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#afd8726dfa8cabcb49895df4a6112ef48" title="Returns the user agent type.">agent()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a481240e2bd08b1f01ff7dce417c1476c"></a><!-- doxytag: member="Wt::WEnvironment::agentIsIE" ref="a481240e2bd08b1f01ff7dce417c1476c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Wt::WEnvironment::agentIsIE </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether the user agent is Microsoft Internet Explorer. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#afd8726dfa8cabcb49895df4a6112ef48" title="Returns the user agent type.">agent()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ad0a9e4b64f21ddb5269a3b5454f5219d"></a><!-- doxytag: member="Wt::WEnvironment::agentIsIElt" ref="ad0a9e4b64f21ddb5269a3b5454f5219d" args="(int version) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Wt::WEnvironment::agentIsIElt </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>version</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether the user agent is an older version of IE. </p>
<p>Returns whether the agent is an IE version older than the given version.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#a481240e2bd08b1f01ff7dce417c1476c" title="Returns whether the user agent is Microsoft Internet Explorer.">agentIsIE()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a65888110662122c6b7a05d12060119f8"></a><!-- doxytag: member="Wt::WEnvironment::agentIsIEMobile" ref="a65888110662122c6b7a05d12060119f8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Wt::WEnvironment::agentIsIEMobile </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether the user agent is Internet Explorer Mobile. </p>
<p>Returns also <code>true</code> when the agent is Internet Explorer 5 or older.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#afd8726dfa8cabcb49895df4a6112ef48" title="Returns the user agent type.">agent()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="accc83794f9d7b250dc30e3bd17c11508"></a><!-- doxytag: member="Wt::WEnvironment::agentIsMobileWebKit" ref="accc83794f9d7b250dc30e3bd17c11508" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Wt::WEnvironment::agentIsMobileWebKit </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether the user agent is Mobile WebKit-based. </p>
<p>Mobile Webkit-based browsers include the Android Mobile WebKit and the iPhone Mobile WebKit browsers.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#afd8726dfa8cabcb49895df4a6112ef48" title="Returns the user agent type.">agent()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a48d50e20b390708cdf506240a70b1b70"></a><!-- doxytag: member="Wt::WEnvironment::agentIsOpera" ref="a48d50e20b390708cdf506240a70b1b70" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Wt::WEnvironment::agentIsOpera </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether the user agent is Opera. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#afd8726dfa8cabcb49895df4a6112ef48" title="Returns the user agent type.">agent()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a316fedb63906347ca23242a26919e19a"></a><!-- doxytag: member="Wt::WEnvironment::agentIsSafari" ref="a316fedb63906347ca23242a26919e19a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Wt::WEnvironment::agentIsSafari </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether the user agent is Safari. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#afd8726dfa8cabcb49895df4a6112ef48" title="Returns the user agent type.">agent()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="abe062ba13bf3df36e06d611e04b66603"></a><!-- doxytag: member="Wt::WEnvironment::agentIsSpiderBot" ref="abe062ba13bf3df36e06d611e04b66603" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Wt::WEnvironment::agentIsSpiderBot </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns if the user agent is a (known) indexing spider bot. </p>
<p>Note: currently the list of know bots is quite small. This method is used internally to render the web application for optimal indexing by bots:</p>
<ul>
<li>there is no detection for JavaScript, instead the application is directly served assuming no JavaScript support.</li>
<li>session information is omitted from the Urls.</li>
<li>no sessions are created (they are immediately stopped after the request has been handled).</li>
<li>auto-generated <code>id</code> and <code>name</code> attributes are omitted from DOM nodes. In this way, the generated page is always exactly the same. </li>
</ul>

</div>
</div>
<a class="anchor" id="a7e93d6a17e128a6a714a96f5faaef351"></a><!-- doxytag: member="Wt::WEnvironment::agentIsWebKit" ref="a7e93d6a17e128a6a714a96f5faaef351" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Wt::WEnvironment::agentIsWebKit </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether the user agent is WebKit-based. </p>
<p>Webkit-based browsers include Safari, Chrome, Arora and Konquerer browsers.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#afd8726dfa8cabcb49895df4a6112ef48" title="Returns the user agent type.">agent()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="af39702064f91a549514f28de713b7cd2"></a><!-- doxytag: member="Wt::WEnvironment::ajax" ref="af39702064f91a549514f28de713b7cd2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Wt::WEnvironment::ajax </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether the browser has enabled support for AJAX. </p>
<p>Without support for JavaScript/AJAX, Wt will still be able to serve the application, but with one considerable limitation: only the <a class="el" href="classWt_1_1WTimer.html#a2a66c6a51df2b0ab42258abf2ebd0399" title="Signal emitted when the timer timeouts.">WTimer::timeout()</a>, <a class="el" href="classWt_1_1WInteractWidget.html#ae11e050cce0d4a8f742afa3ef92bfe8c" title="Event signal emitted when a mouse key was clicked on this widget.">WInteractWidget::clicked()</a>, <a class="el" href="classWt_1_1WApplication.html#a674fd6a2522d66d07908e8f3d82424a9" title="Signal which indicates that the user changes the internal path.">WApplication::internalPathChanged()</a>, and <a class="el" href="classWt_1_1WAbstractArea.html#acc47a02510ddcc77db551fa51e1479bf" title="Event signal emitted when a mouse key was clicked on this widget.">WAbstractArea::clicked()</a> signals (and any derived signals) will generate events.</p>
<p>Every event will cause the complete page to be rerendered.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#a9ad466ecabd71a039cbfbee137867849" title="Returns whether the browser has enabled support for JavaScript.">javaScript()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a3cd4cc541b27cfe4f937d2b945f5ff6a"></a><!-- doxytag: member="Wt::WEnvironment::clientAddress" ref="a3cd4cc541b27cfe4f937d2b945f5ff6a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; Wt::WEnvironment::clientAddress </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the IP address of the client. </p>
<p>The (most likely) IP address of the client that is connected to this session.</p>
<p>This is taken to be the first public address that is given in the Client-IP header, or in the X-Forwarded-For header (in case the client is behind a proxy). If none of these headers is present, the remote socket IP address is used. </p>

</div>
</div>
<a class="anchor" id="a375dfdc05e69eb22b8b644d2fada4d41"></a><!-- doxytag: member="Wt::WEnvironment::contentType" ref="a375dfdc05e69eb22b8b644d2fada4d41" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1WEnvironment.html#ab293698bb21313768c279dbe3a9803b6">ContentType</a> Wt::WEnvironment::contentType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The type of the content provided to the browser. </p>
<p>This is determined by listening to the capabilities of the browser. Xhtml1 is chosen only if the browser reports support for it, and it is allowed in the configuration file (wt_config.xml).</p>
<p>Note that Wt makes also use of common non-standard techniques implemented in every major browser. </p>

</div>
</div>
<a class="anchor" id="a30810ecfa507bc6f655c38a6f218dc92"></a><!-- doxytag: member="Wt::WEnvironment::cookies" ref="a30810ecfa507bc6f655c38a6f218dc92" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classWt_1_1WEnvironment.html#a163671f35f1080badcb791a826f5fadd">CookieMap</a>&amp; Wt::WEnvironment::cookies </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the cookies from the environment. </p>
<p>This returns all cookies that were present in initial request for the application. Cookies set with <a class="el" href="classWt_1_1WApplication.html#a5d10106d4131611aa98e20e6a82b3c40" title="Sets a new cookie.">WApplication::setCookie()</a> are not taken into consideration.</p>
<p>Cookies allow you to persist information across sessions, but note that not all clients may support cookies or may some clients may be configured to block cookies.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#abf06c6d85be1b482c037f80e63890f3a" title="Returns whether the browser has enabled support for cookies.">supportsCookies()</a>, <a class="el" href="classWt_1_1WEnvironment.html#af39745ca2c6c6fc00c0f78bc7d064e3a" title="Returns a cookie value.">getCookie()</a>, <a class="el" href="classWt_1_1WEnvironment.html#a74eba8088c5cc3d9cebb886ef477a0a3" title="Returns a cookie value.">getCookieValue()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aa6c6f66f82b2c6f08317366882d9b827"></a><!-- doxytag: member="Wt::WEnvironment::deploymentPath" ref="aa6c6f66f82b2c6f08317366882d9b827" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string &amp; Wt::WEnvironment::deploymentPath </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the deployment path. </p>
<p>This is the path at which the application is deployed.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#acb2ba1f1f88e9cd6b7a57a2e51518ec6" title="Returns the initial internal path.">internalPath()</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="a06c074249363d4ef4b90bc9cbae96261"></a><!-- doxytag: member="Wt::WEnvironment::dpiScale" ref="a06c074249363d4ef4b90bc9cbae96261" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double Wt::WEnvironment::dpiScale </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the browser-side DPI scaling factor. </p>
<p>Internet Explorer scales all graphics, fonts and other elements on high-density screens to make them readable. This is controlled by the DPI setting of the display. If all goes well, you do not have to worry about this scaling factor. Unfortunately, not all elements are scaled appropriately. The scaling factor is supposed to be used only internally in Wt and is in this interface for informational purposes.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WVmlImage.html" title="A paint device for rendering using the VML pseudo-standard.">WVmlImage</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a3aa8ecc5ee3b7c7298ac33c43b65ec1a"></a><!-- doxytag: member="Wt::WEnvironment::getCgiValue" ref="a3aa8ecc5ee3b7c7298ac33c43b65ec1a" args="(const std::string &amp;varName) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string Wt::WEnvironment::getCgiValue </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>varName</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a raw CGI environment variable. </p>
<p>Retrieves the value for the given CGI environment variable (like <code>"SSL_CLIENT_S_DN_CN"</code>), if it is defined, otherwise an empty string.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#a8d2c52cbf0c79d315088e56c8e5fe224" title="Returns the web server signature.">serverSignature()</a>, <a class="el" href="classWt_1_1WEnvironment.html#ad0d4a99a818ca7cb851ef43187c9ade7" title="Returns the web server software.">serverSoftware()</a>, <a class="el" href="classWt_1_1WEnvironment.html#aa407aa90c7a3ab9ecb46de0ed9451797" title="Returns the email address of the server admin.">serverAdmin()</a>, </dd></dl>

</div>
</div>
<a class="anchor" id="af39745ca2c6c6fc00c0f78bc7d064e3a"></a><!-- doxytag: member="Wt::WEnvironment::getCookie" ref="af39745ca2c6c6fc00c0f78bc7d064e3a" args="(const std::string &amp;cookieNname) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string Wt::WEnvironment::getCookie </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>cookieNname</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a cookie value. </p>
<p>Throws a <code>std::runtime_error("Missing cookie: ...")</code> when the cookie is missing, or returns cookie value otherwise.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#a74eba8088c5cc3d9cebb886ef477a0a3" title="Returns a cookie value.">getCookieValue()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a74eba8088c5cc3d9cebb886ef477a0a3"></a><!-- doxytag: member="Wt::WEnvironment::getCookieValue" ref="a74eba8088c5cc3d9cebb886ef477a0a3" args="(const std::string &amp;cookieName) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string * Wt::WEnvironment::getCookieValue </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>cookieName</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a cookie value. </p>
<p>Returns 0 if no value was set for the given cookie.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#af39745ca2c6c6fc00c0f78bc7d064e3a" title="Returns a cookie value.">getCookie()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a3f87915f10f39b18eac28bac65c0cd46"></a><!-- doxytag: member="Wt::WEnvironment::getParameter" ref="a3f87915f10f39b18eac28bac65c0cd46" args="(const std::string &amp;name) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string * Wt::WEnvironment::getParameter </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a single value for a query parameter. </p>
<p>Returns the first value for a parameter, or <code>0</code> if the parameter is not found.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#a0c2ff76f4db12bc9ab390f7673af9b91" title="Returns values for a query parameter.">getParameterValues()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ac333df7571b921b4f22492c2bb95bcd4"></a><!-- doxytag: member="Wt::WEnvironment::getParameterMap" ref="ac333df7571b921b4f22492c2bb95bcd4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="namespaceWt_1_1Http.html#a3420f95c8bfecf3d46e65920c765345a">Http::ParameterMap</a>&amp; Wt::WEnvironment::getParameterMap </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Parameters passed to the application. </p>
<p>Arguments passed to the application, either in the URL for a http GET, or in both the URL and data submitted in a http POST.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#a0c2ff76f4db12bc9ab390f7673af9b91" title="Returns values for a query parameter.">getParameterValues()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a0c2ff76f4db12bc9ab390f7673af9b91"></a><!-- doxytag: member="Wt::WEnvironment::getParameterValues" ref="a0c2ff76f4db12bc9ab390f7673af9b91" args="(const std::string &amp;name) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="namespaceWt_1_1Http.html#ae1470e15e15eab123a19e4204f624598">Http::ParameterValues</a> &amp; Wt::WEnvironment::getParameterValues </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns values for a query parameter. </p>
<p>Returns an empty list if the parameter was not defined.</p>
<p>One or more values may be associated with a single argument.</p>
<p>For example a Wt application <code>foo.wt</code> started as <code><a href="http://.../foo.wt?hello=Hello&hello=World">http://.../foo.wt?hello=Hello&amp;hello=World</a></code> will result in both values <code>"Hello"</code> and <code>"World"</code> to be associated with the argument <code>"hello"</code>.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#ac333df7571b921b4f22492c2bb95bcd4" title="Parameters passed to the application.">getParameterMap()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a43f59c8aced914ac4b51690e8ee90285"></a><!-- doxytag: member="Wt::WEnvironment::headerValue" ref="a43f59c8aced914ac4b51690e8ee90285" args="(const std::string &amp;field) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string Wt::WEnvironment::headerValue </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>field</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a header value. </p>
<p>Returns a header value, or an empty string if the header was present.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Currently, the header name is case sensitive, although this should not be the case according to RFC2616 </dd></dl>

</div>
</div>
<a class="anchor" id="ad798f03cb67b859cc42ed2e1ced82fcd"></a><!-- doxytag: member="Wt::WEnvironment::hostName" ref="ad798f03cb67b859cc42ed2e1ced82fcd" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; Wt::WEnvironment::hostName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the server host name that is used by the client. </p>
<p>The hostname is the unresolved host name with optional port number, which the browser used to connect to the application.</p>
<p>Examples:</p>
<ul>
<li><code>www.mydomain.com</code></li>
<li><code>localhost:8080</code></li>
</ul>
<p>For HTTP 1.1 requests, this information is fetched from the HTTP <code>Host</code> header. If Wt is configured behind a reverse proxy, then the last entry in the HTTP <code>X-Forwarded-Host</code> header field is used instead (to infer the name of the reverse proxy instead).</p>
<p>For HTTP 1.0 requests, the HTTP <code>Host</code> header is not required. When not present, the server host name is inferred from the configured server name, which defaults to the DNS name. </p>

</div>
</div>
<a class="anchor" id="acb2ba1f1f88e9cd6b7a57a2e51518ec6"></a><!-- doxytag: member="Wt::WEnvironment::internalPath" ref="acb2ba1f1f88e9cd6b7a57a2e51518ec6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; Wt::WEnvironment::internalPath </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the initial internal path. </p>
<p>This is the internal path with which the application was started.</p>
<p>For an application deployed at <code>"/stuff/app.wt"</code>, the following two URLs are considered equivalent, and indicate an internal path <code>"/this/there"</code>: </p>
<div class="fragment"><pre class="fragment"> http:<span class="comment">//www.mydomain.com/stuff/app.wt/this/there</span>
 http:<span class="comment">//www.mydomain.com/stuff/app.wt/this/there</span>
</pre></div><p>For the built-in httpd, when the application is deployed at a folder (ending with '/'), only an exact matching path is routed to the application (this can be changed since <a class="el" href="namespaceWt.html" title="The namespace for Wt.">Wt</a> 3.1.9, see <a class="el" href="overview.html#wthttpd">9.2 Built-in httpd</a>), making clean URLs impossible. Then, also the following URL is supported (assuming deployment at <code>"/stuff/"</code>: </p>
<div class="fragment"><pre class="fragment"> http:<span class="comment">//www.mydomain.com/stuff/?_=/this/there</span>
</pre></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WApplication.html#a2c1a10aadc0d7ed877b5715b42ca4911" title="Changes the internal path.">WApplication::setInternalPath()</a>, <a class="el" href="classWt_1_1WEnvironment.html#aa6c6f66f82b2c6f08317366882d9b827" title="Returns the deployment path.">deploymentPath()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a9ad466ecabd71a039cbfbee137867849"></a><!-- doxytag: member="Wt::WEnvironment::javaScript" ref="a9ad466ecabd71a039cbfbee137867849" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Wt::WEnvironment::javaScript </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether the browser has enabled support for JavaScript. </p>
<p>This is the same as <a class="el" href="classWt_1_1WEnvironment.html#af39702064f91a549514f28de713b7cd2" title="Returns whether the browser has enabled support for AJAX.">ajax()</a>: Wt only considers using JavaScript when it has detected AJAX support.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#af39702064f91a549514f28de713b7cd2" title="Returns whether the browser has enabled support for AJAX.">ajax()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a8d55627d202b6d8866c7703a6e9dddf1"></a><!-- doxytag: member="Wt::WEnvironment::libraryVersion" ref="a8d55627d202b6d8866c7703a6e9dddf1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string Wt::WEnvironment::libraryVersion </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the version of the Wt library. </p>
<p>Example: <code>"1.99.2"</code> </p>

</div>
</div>
<a class="anchor" id="abf911f096b978f4e842596c7401052de"></a><!-- doxytag: member="Wt::WEnvironment::libraryVersion" ref="abf911f096b978f4e842596c7401052de" args="(int &amp;series, int &amp;major, int &amp;minor) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WEnvironment::libraryVersion </td>
          <td>(</td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>series</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>major</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>minor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the version of the Wt library, broken down. </p>
<p>The version of the Wt library, broken down in its three numbers,</p>
<p>Example: <em>series</em> = 1, <em>major</em> = 99, <code>minor</code> = 2. </p>

</div>
</div>
<a class="anchor" id="a42b10cde31c3df634dc753b5dbd1e800"></a><!-- doxytag: member="Wt::WEnvironment::locale" ref="a42b10cde31c3df634dc753b5dbd1e800" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; Wt::WEnvironment::locale </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the preferred language indicated in the request header. </p>
<p>The language is parsed from the HTTP <code>Accept-Language</code> field, if present. If not, the locale is empty.</p>
<p>If multiple languages are present, the one with the highest "q"uality is assumed, and if a tie is present, the first one is taken.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WApplication.html#a5c9cc1350019d69f154a2b44cdaf2596" title="Changes the locale.">WApplication::setLocale()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="adb17bb1f17c56f78418e06872d531c24"></a><!-- doxytag: member="Wt::WEnvironment::pathInfo" ref="adb17bb1f17c56f78418e06872d531c24" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; Wt::WEnvironment::pathInfo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the path info of the original request (<b>deprecated</b>) </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000027">Deprecated:</a></b></dt><dd>Use <a class="el" href="classWt_1_1WEnvironment.html#acb2ba1f1f88e9cd6b7a57a2e51518ec6" title="Returns the initial internal path.">internalPath()</a> instead, which is consistent with the internal paths generated by Wt.</dd></dl>
<p>This is the equivalent of the CGI PATH_INFO environment variable.</p>
<p>Assume for example that the application was deployed at <code>"stuff/app.wt"</code>. When the user accesses the application using the URL <code>"http://www.mydomain.com/stuff/app.wt"</code>, this method would return an empty string (<code>""</code>). When the user accesses the site using <code>"http://www.mydomain.com/stuff/app.wt/this/there"</code>, the result would be <code>"/this/there"</code>.</p>
<p>Together with <a class="el" href="classWt_1_1WEnvironment.html#a3f87915f10f39b18eac28bac65c0cd46" title="Returns a single value for a query parameter.">getParameter()</a>, this allows you to supply the application with initial information.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#a3f87915f10f39b18eac28bac65c0cd46" title="Returns a single value for a query parameter.">getParameter()</a>, <a class="el" href="classWt_1_1WEnvironment.html#acb2ba1f1f88e9cd6b7a57a2e51518ec6" title="Returns the initial internal path.">internalPath()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aa68ac8744d2dc060d6c66ab22fbadbe1"></a><!-- doxytag: member="Wt::WEnvironment::referer" ref="aa68ac8744d2dc060d6c66ab22fbadbe1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; Wt::WEnvironment::referer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the referer. </p>
<p>The referer, as reported in the HTTP <code>Referer</code> field. </p>

</div>
</div>
<a class="anchor" id="af9c315b1a48b0fb52a01d3f105f90ffb"></a><!-- doxytag: member="Wt::WEnvironment::server" ref="af9c315b1a48b0fb52a01d3f105f90ffb" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1WServer.html">WServer</a> * Wt::WEnvironment::server </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the server. </p>
<p>This returns the server environment of this session. </p>

</div>
</div>
<a class="anchor" id="aa407aa90c7a3ab9ecb46de0ed9451797"></a><!-- doxytag: member="Wt::WEnvironment::serverAdmin" ref="aa407aa90c7a3ab9ecb46de0ed9451797" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; Wt::WEnvironment::serverAdmin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the email address of the server admin. </p>
<p>The value of the CGI variable <code>SERVER_ADMIN</code>.</p>
<p>Example: <code>"root@localhost"</code> </p>

</div>
</div>
<a class="anchor" id="a8d2c52cbf0c79d315088e56c8e5fe224"></a><!-- doxytag: member="Wt::WEnvironment::serverSignature" ref="a8d2c52cbf0c79d315088e56c8e5fe224" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; Wt::WEnvironment::serverSignature </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the web server signature. </p>
<p>The value of the CGI variable <code>SERVER_SIGNATURE</code>.</p>
<p>Example: <code>&lt;address&gt;Apache Server at localhost Port 80&lt;/address&gt;</code>. </p>

</div>
</div>
<a class="anchor" id="ad0d4a99a818ca7cb851ef43187c9ade7"></a><!-- doxytag: member="Wt::WEnvironment::serverSoftware" ref="ad0d4a99a818ca7cb851ef43187c9ade7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; Wt::WEnvironment::serverSoftware </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the web server software. </p>
<p>The value of the CGI variable <code>SERVER_SOFTWARE</code>.</p>
<p>Example: <code>"Apache"</code> </p>

</div>
</div>
<a class="anchor" id="a41d6fa0197d24e92cc463cc9d5815f10"></a><!-- doxytag: member="Wt::WEnvironment::sessionId" ref="a41d6fa0197d24e92cc463cc9d5815f10" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string Wt::WEnvironment::sessionId </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the Wt session id (<b>deprecated</b>). </p>
<p>Retrieves the session id for this session. This is an auto-generated random alpha-numerical id, whose length is determined by settings in the configuration file.</p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000028">Deprecated:</a></b></dt><dd>Use <a class="el" href="classWt_1_1WApplication.html#ab55c625a3197fec416544be8ad1529af" title="Returns the unique identifier for the current session.">WApplication::sessionId()</a> instead </dd></dl>

</div>
</div>
<a class="anchor" id="ade71adff7dba02d1840a00a9bb11c6e7"></a><!-- doxytag: member="Wt::WEnvironment::sslInfo" ref="ade71adff7dba02d1840a00a9bb11c6e7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1WSslInfo.html">WSslInfo</a>* Wt::WEnvironment::sslInfo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns information on the SSL client certificate or <code>0</code> if no authentication took place. </p>
<p>This function will return <code>0</code> if no verification took place, Wt was compiled without SSL support, or the web server was configured without client SSL certificates.</p>
<p>This method may return a pointer to a <a class="el" href="classWt_1_1WSslInfo.html" title="Provides SSL information about the current session.">WSslInfo</a> object, while the authentication may have failed. This depends on the configuration of the web server. It is therefore important to always check the verification result with <a class="el" href="classWt_1_1WSslInfo.html#a44b5ba642c71ef217cbf15b08c8b1ddc" title="Returns the result of the client certificate verification.">WSslInfo::clientVerificationResult()</a>.</p>
<p>Remember that <a class="el" href="classWt_1_1WEnvironment.html" title="A class that captures information on the application environment.">WEnvironment</a> is 'const', thus the object returned by this function will represent the SSL information of the first request for this session. It will not be updated during the lifetime of the session.</p>
<p>The object returned is owned by <a class="el" href="classWt_1_1WEnvironment.html" title="A class that captures information on the application environment.">WEnvironment</a> and will be deleted when <a class="el" href="classWt_1_1WEnvironment.html" title="A class that captures information on the application environment.">WEnvironment</a> is destroyed (= at the end of the session). </p>

</div>
</div>
<a class="anchor" id="abf06c6d85be1b482c037f80e63890f3a"></a><!-- doxytag: member="Wt::WEnvironment::supportsCookies" ref="abf06c6d85be1b482c037f80e63890f3a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Wt::WEnvironment::supportsCookies </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether the browser has enabled support for cookies. </p>
<p>When the user disables cookies during the visit of the page, this value is not updated.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#a30810ecfa507bc6f655c38a6f218dc92" title="Returns the cookies from the environment.">cookies()</a>, <a class="el" href="classWt_1_1WEnvironment.html#af39745ca2c6c6fc00c0f78bc7d064e3a" title="Returns a cookie value.">getCookie()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a3ac010296af1ee9dbcbfecad96dc5a0f"></a><!-- doxytag: member="Wt::WEnvironment::userAgent" ref="a3ac010296af1ee9dbcbfecad96dc5a0f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; Wt::WEnvironment::userAgent </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the user agent. </p>
<p>The user agent, as reported in the HTTP <code>User-Agent</code> field.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WEnvironment.html#afd8726dfa8cabcb49895df4a6112ef48" title="Returns the user agent type.">agent()</a> </dd></dl>

</div>
</div>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</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>